Página 1 de 3 • 1, 2, 3 

Estes são snippets extremamente úteis, até mesmo indispensável. São particularmente os snippets que eu mais uso nos meus scripts.
É um "helper" para iniciantes, criado pelo DK22Pac.
Eu resolvi não publicar literalmente como ele publicou, pois é coisa básica demais, como pra "for player car", afinal, qualquer um sabe como pegar o carro do player e trabalhar com ele, né? Também pelo fato de que ele usou arquivos e $Include, não acho necessário, se você quiser, fique a vontade.
Bem, esses pedaços de códigos loopam na pool dos carros, pedestres ou objetos, procurando pelos criados, e ali no meio você tem o controle sobre o atual dentro do loop, no caso, o loop irá passar por todos, e todos sofrerá o que você colocar ali no meio.
For all cars (para todos os carros)
For all peds (para todos os pedestres)
For all objects (para todos os objetos)
For all pickups (para todos os pickups)
Exemplo de uso (for all cars):
Exemplo de uso (for all objects):
Isso é bom também para você aprender o que é ou não um objeto, pois coisas como casas não são considerados objetos, mas objetos "pequenos" como postes, bancos, lixeiras etc, são e você pode controlar eles usando esse snippet.
Eu recomendo muitíssimo usar esses códigos ao invés de opcodes de pegar carro etc num raio, pois este método é mais leve e infalível! Enquanto o opcode faz vários cálculos pra encontrar o veículo desejado e ainda precisa de checagem.
Se você faz coisas muito complexas com, por exemplo, os carros, o script pode ficar pesado e tirar alguns poucos FPS, portanto coloque um "wait 0" embaixo do "for 30@ = 0 to (...)", assim o script andará mais lentamente.
Faça isso só caso seu script não precise fazer as coisas imediatamente, pois se colocar este wait e você estiver à 30 FPS, irá demorar uns 3 segundos para o script rodar todos os carros. Se você quer mais rápido e ainda super leve, coloque o "wait 0" embaixo de "005A: 31@ += 30@", e logo em seguida, cheque se o carro, pedestre ou objeto existe (está definido), senão causará crashes em poucos segundos (pois durante o "wait 0" o tal carro pode ter sumido, certo?).
É um "helper" para iniciantes, criado pelo DK22Pac.
Eu resolvi não publicar literalmente como ele publicou, pois é coisa básica demais, como pra "for player car", afinal, qualquer um sabe como pegar o carro do player e trabalhar com ele, né? Também pelo fato de que ele usou arquivos e $Include, não acho necessário, se você quiser, fique a vontade.
Bem, esses pedaços de códigos loopam na pool dos carros, pedestres ou objetos, procurando pelos criados, e ali no meio você tem o controle sobre o atual dentro do loop, no caso, o loop irá passar por todos, e todos sofrerá o que você colocar ali no meio.
For all cars (para todos os carros)
- Código:
0A8D: 29@ = read_memory 0xB74494 size 4 virtual_protect 0
29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 27904 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
//31@ = Carro
end
end
For all peds (para todos os pedestres)
- Código:
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
//31@ = Pedestre
end
end
For all objects (para todos os objetos)
- Código:
0A8D: 29@ = read_memory 0xB7449C size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 89344 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
//31@ = Objeto
end
end
For all pickups (para todos os pickups)
- Código:
for 30@ = 0x9788C0 to 0x97D620 step 0x20
if
30@ > 0
then
0A8E: 31@ = 30@ + 0x1A
0A8D: 31@ = read_memory 31@ size 2 virtual_protect 0
31@ *= 0x10000
0A8F: 29@ = 30@ - 0x9788C0
29@ /= 0x20
005A: 31@ += 29@
//31@ = pickup
end
end
Exemplo de uso (for all cars):
- Código:
{$cleo}
0000:
while true
wait 0
0A8D: 29@ = read_memory 0xB74494 size 4 virtual_protect 0
29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 27904 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
04BA: set_car 31@ speed_to 30.0
end
end
end
Exemplo de uso (for all objects):
- Código:
{$cleo}
0000:
while true
wait 0
if 0@ == true
then 0@ = false
else 0@ = true
end
0A8D: 29@ = read_memory 0xB7449C size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 89344 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
0750: set_object 31@ visibility 0@
end
end
end
Isso é bom também para você aprender o que é ou não um objeto, pois coisas como casas não são considerados objetos, mas objetos "pequenos" como postes, bancos, lixeiras etc, são e você pode controlar eles usando esse snippet.
Eu recomendo muitíssimo usar esses códigos ao invés de opcodes de pegar carro etc num raio, pois este método é mais leve e infalível! Enquanto o opcode faz vários cálculos pra encontrar o veículo desejado e ainda precisa de checagem.
Se você faz coisas muito complexas com, por exemplo, os carros, o script pode ficar pesado e tirar alguns poucos FPS, portanto coloque um "wait 0" embaixo do "for 30@ = 0 to (...)", assim o script andará mais lentamente.
Faça isso só caso seu script não precise fazer as coisas imediatamente, pois se colocar este wait e você estiver à 30 FPS, irá demorar uns 3 segundos para o script rodar todos os carros. Se você quer mais rápido e ainda super leve, coloque o "wait 0" embaixo de "005A: 31@ += 30@", e logo em seguida, cheque se o carro, pedestre ou objeto existe (está definido), senão causará crashes em poucos segundos (pois durante o "wait 0" o tal carro pode ter sumido, certo?).
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Perfeito !
Não conhecia nenhum destes, ajudará muito em meus futuros scripts.
Não conhecia nenhum destes, ajudará muito em meus futuros scripts.
______________________________
Everyone gonna remember my name !
Adicionei mais um exemplo
- RenanMSVMensagens Nível 4
- Mensagens : 266
Reputação : 38
Desde : 27/09/2015
Localização : Cps - SP
Link : goo.gl/BgNT9p
Vlw djjr
______________________________
Não importa o quão pequeno você
comece, apenas comece algo que
importa.
Mods cleo de minha autoria: https://db.tt/91oW1EWC
Jogos de minha autoria: nenhum por enquanto
ModLoader VIsual Editor WIP
Tah certo q eu disse q eh leve, mas tbm não pense em querer fazer uma coisa assim 

- Código:
{$cleo}
0000:
while true
wait 0
0A8D: 1@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 1@ += 0x4
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
for 2@ = 0 to 35584 step 0x100
0A8D: 31@ = read_memory 1@ size 1 virtual_protect 0
000A: 1@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 2@
0A8D: 3@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 3@ += 0x4
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
for 4@ = 0 to 35584 step 0x100
0A8D: 28@ = read_memory 3@ size 1 virtual_protect 0
000A: 3@ += 0x1
if and
0029: 28@ >= 0x00
001B: 0x80 > 28@
then
005A: 28@ += 4@
if 051A: actor 31@ damaged_by_actor 28@
then
0ACD: show_text_highpriority "ta batendu bixu" time 100
end
end
end
end
end
end
- RenanMSVMensagens Nível 4
- Mensagens : 266
Reputação : 38
Desde : 27/09/2015
Localização : Cps - SP
Link : goo.gl/BgNT9p
Agr comenta td ;)
______________________________
Não importa o quão pequeno você
comece, apenas comece algo que
importa.
Mods cleo de minha autoria: https://db.tt/91oW1EWC
Jogos de minha autoria: nenhum por enquanto
ModLoader VIsual Editor WIP
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
Alguém sabe como trabalhar com esse script só que aplicando uma única vez para todo ped/veículo/objeto que surgir?
Ou então inserir uma variável nesses que não afetem suas funções iniciais e que possa usada como condição futuramente?
Vlw!
Ou então inserir uma variável nesses que não afetem suas funções iniciais e que possa usada como condição futuramente?
Vlw!
Não, eh, nada, fácil
Vc precisa, de algum modo, armazenar q o ped jah foi usado
Oq exatamente vc está fazendo com ele? Se por exemplo vc está tirando o cabelo dele eh soh antes checar se ele está ou não careca, se está careca eh pq jah tirou o cabelo, mas há coisas q seriam difíceis de saber e isso não daria pra fazer...
Vc precisa, de algum modo, armazenar q o ped jah foi usado
Oq exatamente vc está fazendo com ele? Se por exemplo vc está tirando o cabelo dele eh soh antes checar se ele está ou não careca, se está careca eh pq jah tirou o cabelo, mas há coisas q seriam difíceis de saber e isso não daria pra fazer...
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
No caso é uma coisa um "pouquinho" mais complicada mesmo.
Queria verificar se surge um ped perto do player: se surgir, ele desaparece; mas se estiver de longe, queria que ele não desaparecesse caso se aproximasse do player. Se eu só verificar peds que estão perto do CJ, vai acabar ocorrendo que os que se aproximarem dele iriam desaparecer, não queria que isso ocorresse (por motivos óbvios).
Conseguiu entender mais ou menos como funciona?
Queria verificar se surge um ped perto do player: se surgir, ele desaparece; mas se estiver de longe, queria que ele não desaparecesse caso se aproximasse do player. Se eu só verificar peds que estão perto do CJ, vai acabar ocorrendo que os que se aproximarem dele iriam desaparecer, não queria que isso ocorresse (por motivos óbvios).
Conseguiu entender mais ou menos como funciona?
Mas praq isso?
MixSets:
MixSets:
- Código:
PedSpawnOnScr = 100.0 ; Distância para o pedestre aparecer (na tela). [50.5 é padrão].
PedSpawnOnScrMn = 80.0 ; Distância mínima para o pedestre aparecer (na tela). [42.5 é padrão]. - Aumentar isso pode também aumentar número de pedestres aparecendo fora da tela.
- RafaQNMensagens Nível 2
- Mensagens : 97
Reputação : 12
Desde : 18/10/2015
Idade : 27
Localização : São Paulo - SP
O que eu quero exatamente é tentar evitar aqueles policiais que surgem do meio do nada quando está sendo procurado a partir de três estrelas. Quero evitar que apareçam tão perto e precisa ser especificamente eles, e não qualquer ped.
E sim, essas funções do Mix Sets não são perfeitas, surgem carros, peds, etc., do nada atrás de você, é uma droga...
E sim, essas funções do Mix Sets não são perfeitas, surgem carros, peds, etc., do nada atrás de você, é uma droga...
- Mak47Modelador - Básico
- Mensagens : 890
Reputação : 20
Desde : 16/08/2016
Idade : 17
Localização : Mississippi
Tem como fazer For All no GTA3script?
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Basta você passar pra gta3script.@Mak47 escreveu:Tem como fazer For All no GTA3script?
Basicamente seria isso :
- Código:
0A8D: 29@ = read_memory 0xB74494 size 4 virtual_protect 0
29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 27904 step 0x100
0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
000A: 29@ += 0x1
if and
0029: 31@ >= 0x00
001B: 0x80 > 31@
then
005A: 31@ += 30@
//31@ = Carro
end
end
- Código:
READ_MEMORY 0xB74494 4 0 (p)
p += 0x04
READ_MEMORY p 4 0 (p)
i = 0
WHILE i <= 27904
READ_MEMORY p 1 0 (car)
p++
IF car >= 0x00
AND car < 0x80
car += i
//car = Carro
ENDIF
i += 256
ENDWHILE
______________________________
Everyone gonna remember my name !
- DeadstrokeScripter CLEO - Intermediário
- Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Juninho, atualiza ai:
@Mak47 tá ai, é só usar!
- Scripts para GTA3Script:
- Código:
//For all vehicles
READ_MEMORY 0xB74494 4 0 lv_tempi_1
lv_tempi_1 += 4
READ_MEMORY lv_tempi_1 4 0 lv_tempi_1
REPEAT 110 lv_tempi_2
lv_tempi_2 *= 0x100
READ_MEMORY lv_tempi_1 4 0 lv_vehicle
lv_tempi_1 += 0x1
IF lv_vehicle >= 0x00
AND NOT lv_vehicle >= 0x80
lv_vehicle += lv_tempi_2
// Start: lv_vehicle -> your object
// Keep doing your script
// End: lv_vehicle -> your object
ENDIF
lv_tempi_2 /= 0x100
ENDREPEAT
//For all chars
READ_MEMORY 0xB74490 4 0 lv_tempi_1
lv_tempi_1 += 4
READ_MEMORY lv_tempi_1 4 0 lv_tempi_1
REPEAT 140 lv_tempi_2
lv_tempi_2 *= 0x100
READ_MEMORY lv_tempi_1 4 0 lv_char
lv_tempi_1 += 0x1
IF lv_char >= 0x00
AND NOT lv_char >= 0x80
lv_char += lv_tempi_2
// Start: lv_char -> your object
// Keep doing your script
// End: lv_char -> your object
ENDIF
lv_tempi_2 /= 0x100
ENDREPEAT
//For all objects
READ_MEMORY 0xB7449C 4 0 lv_tempi_1
lv_tempi_1 += 4
READ_MEMORY lv_tempi_1 4 0 lv_tempi_1
REPEAT 350 lv_tempi_2
lv_tempi_2 *= 0x100
READ_MEMORY lv_tempi_1 4 0 lv_object
lv_tempi_1 += 0x1
IF lv_object >= 0x00
AND NOT lv_object >= 0x80
lv_object += lv_tempi_2
// Start: lv_object -> your object
// Keep doing your script
// End: lv_object -> your object
ENDIF
lv_tempi_2 /= 0x100
ENDREPEAT
//For all pickups
lv_tempi_1 = 0x9788C0
WHILE lv_tempi_1 <= 0x97D620
IF lv_tempi_1 > 0
lv_pickup = lv_tempi_1 + 0x1A
READ_MEMORY lv_pickup 2 0 lv_pickup
lv_pickup *= 0x10000
lv_tempi_2 = lv_tempi_1 - 0x9788C0
lv_tempi_2 /= 0x20
lv_pickup += lv_tempi_2
// Start: lv_pickup -> your object
// Keep doing your script
// End: lv_pickup -> your object
ENDIF
lv_tempi_1 += 0x20
ENDWHILE
//Example: for all vehicles
SCRIPT_START
{
LVAR_INT lv_tempi_1
LVAR_INT lv_tempi_2
LVAR_INT lv_vehicle
loop:
WAIT 0
READ_MEMORY 0xB74494 4 0 lv_tempi_1
lv_tempi_1 += 4
READ_MEMORY lv_tempi_1 4 0 lv_tempi_1
REPEAT 110 lv_tempi_2
lv_tempi_2 *= 0x100
READ_MEMORY lv_tempi_1 4 0 lv_vehicle
lv_tempi_1 += 0x1
IF lv_vehicle >= 0x00
AND NOT lv_vehicle >= 0x80
lv_vehicle += lv_tempi_2
// Start: lv_vehicle -> your object
SET_CAR_FORWARD_SPEED lv_vehicle 30.0
// End: lv_vehicle -> your object
ENDIF
lv_tempi_2 /= 0x100
ENDREPEAT
GOTO loop
}
SCRIPT_END
//Example: for all objects
SCRIPT_START
{
LVAR_INT lv_tempi_1
LVAR_INT lv_tempi_2
LVAR_INT lv_object
LVAR_INT lv_tempi_3
loop:
WAIT 0
IF lv_tempi_3 = 1
lv_tempi_3 = 0
ELSE
lv_tempi_3 = 1
ENDIF
READ_MEMORY 0xB7449C 4 0 lv_tempi_1
lv_tempi_1 += 4
READ_MEMORY lv_tempi_1 4 0 lv_tempi_1
REPEAT 350 lv_tempi_2
lv_tempi_2 *= 0x100
READ_MEMORY lv_tempi_1 4 0 lv_object
lv_tempi_1 += 0x1
IF lv_object >= 0x00
AND NOT lv_object >= 0x80
lv_object += lv_tempi_2
// Start: lv_object -> your object
SET_OBJECT_VISIBLE lv_object lv_tempi_3
// End: lv_object -> your object
ENDIF
lv_tempi_2 /= 0x100
ENDREPEAT
GOTO loop
}
SCRIPT_END
@Mak47 tá ai, é só usar!
O do Israel não funcionou? O dele ficou bem mais bonito.
Só aqui:
Só aqui:
- Código:
WHILE i < 27904
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Não testei e não posso testar, mas deve funcionar.@Junior_Djjr escreveu:O do Israel não funcionou? O dele ficou bem mais bonito.
Sim, ficou faltando um.Só aqui:
Eu acho que devia ser "<="
- Código:
WHILE i < 27904

- DeadstrokeScripter CLEO - Intermediário
- Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Oxê, só pq eu usei lv_ antes das variáveis??? Ou foi por causa do while? Nesse último pode ser até melhor porque o processamento é um pouco melhor do que o meu, nesse caso concordo.
Edit.: não vejo necessidade de testar, está igual ao script normal, nem é difícil de copiar esse...
- Scripts:
- Código:
//For all vehicles
READ_MEMORY 0xB74494 4 0 tempi_1
tempi_1 += 4
READ_MEMORY tempi_1 4 0 tempi_1
tempi_2 = 0
WHILE tempi_2 <= 0x6D00
READ_MEMORY tempi_1 4 0 vehicle
tempi_1 += 0x1
IF vehicle >= 0x00
AND 0x80 > vehicle
vehicle += tempi_2
//vehicle -> your object
// Keep doing your script
ENDIF
tempi_2 += 0x100
ENDWHILE
//For all chars
READ_MEMORY 0xB74490 4 0 tempi_1
tempi_1 += 4
READ_MEMORY tempi_1 4 0 tempi_1
tempi_2 = 0
WHILE tempi_2 <= 0x8B00
READ_MEMORY tempi_1 4 0 char
tempi_1 += 0x1
IF char >= 0x00
AND 0x80 > char
char += tempi_2
// char -> your object
// Keep doing your script
ENDIF
tempi_2 += 0x100
ENDWHILE
//For all objects
READ_MEMORY 0xB7449C 4 0 tempi_1
tempi_1 += 4
READ_MEMORY tempi_1 4 0 tempi_1
tempi_2 = 0
WHILE tempi_2 <= 0x15D00
READ_MEMORY tempi_1 4 0 object
tempi_1 += 0x1
IF object >= 0x00
AND 0x80 > object
object += tempi_2
// object -> your object
// Keep doing your script
ENDIF
tempi_2 += 0x100
ENDWHILE
//For all pickups
tempi_1 = 0x9788C0
WHILE tempi_1 <= 0x97D620
IF tempi_1 > 0
pickup = tempi_1 + 0x1A
READ_MEMORY pickup 2 0 pickup
pickup *= 0x10000
tempi_2 = tempi_1 - 0x9788C0
tempi_2 /= 0x20
pickup += tempi_2
// pickup -> your object
// Keep doing your script
ENDIF
tempi_1 += 0x20
ENDWHILE
//Example: for all vehicles
SCRIPT_START
{
LVAR_INT tempi_1
LVAR_INT tempi_2
LVAR_INT vehicle
loop:
WAIT 0
READ_MEMORY 0xB74494 4 0 tempi_1
tempi_1 += 4
READ_MEMORY tempi_1 4 0 tempi_1
tempi_2 = 0
WHILE tempi_2 <= 0x6D00
READ_MEMORY tempi_1 4 0 vehicle
tempi_1 += 0x1
IF vehicle >= 0x00
AND NOT vehicle >= 0x80
vehicle += tempi_2
// Start: vehicle -> your object
SET_CAR_FORWARD_SPEED vehicle 30.0
// End: vehicle -> your object
ENDIF
tempi_2 += 0x100
ENDWHILE
GOTO loop
}
SCRIPT_END
//Example: for all objects
SCRIPT_START
{
LVAR_INT tempi_1
LVAR_INT tempi_2
LVAR_INT object
LVAR_INT tempi_3
loop:
WAIT 0
IF tempi_3 = 1
tempi_3 = 0
ELSE
tempi_3 = 1
ENDIF
READ_MEMORY 0xB7449C 4 0 tempi_1
tempi_1 += 4
READ_MEMORY tempi_1 4 0 tempi_1
tempi_2 = 0
WHILE tempi_2 <= 0x15D00
READ_MEMORY tempi_1 4 0 object
tempi_1 += 0x1
IF object >= 0x00
AND NOT object >= 0x80
object += tempi_2
// Start: object -> your object
SET_OBJECT_VISIBLE object tempi_3
// End: object -> your object
ENDIF
tempi_2 += 0x100
ENDWHILE
GOTO loop
}
SCRIPT_END
Edit.: não vejo necessidade de testar, está igual ao script normal, nem é difícil de copiar esse...
What, claro que não@Deadstroke escreveu:Oxê, só pq eu usei lv_ antes das variáveis???

Foi necessário gambiarra de multiplicar e depois dividir o número para "voltar pra trás", e ficou mais linhas dentro do loop. WHILE parece mais adequado pra isso.
- DeadstrokeScripter CLEO - Intermediário
- Mensagens : 529
Reputação : 42
Desde : 08/02/2016
Localização : São Paulo
Foi isso mesmo que mencionei...@Junior_Djjr escreveu:What, claro que não
Foi necessário gambiarra de multiplicar e depois dividir o número para "voltar pra trás", e ficou mais linhas dentro do loop. WHILE parece mais adequado pra isso.
Aproveitando, vc entendeu pq o script que mostrei na seção GOSUB e CLEO_CALL nos tutoriais não deu certo?
Não sei se foi só aqui, mas nenhum dos exemplos em gta3script deu certo. Mesmo colocando os WAIT faltando

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Qual o problema ? Dê mais detalhes...@Um Geek escreveu:Não sei se foi só aqui, mas nenhum dos exemplos em gta3script deu certo. Mesmo colocando os WAIT faltando![]()
E não tá faltando WAIT em nenhum dos exemplos.
______________________________
Everyone gonna remember my name !
faltava uns wait dentro dos while, consegui usar o do @israel, não sei se ficou bom mudado para ped, mas funcionou

- codigo:
- Código:
SCRIPT_START
{
NOP
LVAR_INT actor
GET_PLAYER_CHAR 0 actor
LVAR_INT p
LVAR_INT i
LVAR_INT char
char = actor // <-------<< Gambiarra para poder usar char como var tipo ped no VS
char = 0
loop:
WAIT 0
READ_MEMORY 0xB74490 4 0 (p)
p += 0x04
READ_MEMORY p 4 0 (p)
i = 0
WHILE i <= 27904
WAIT 0 // <---------<< WAIT que faltava
READ_MEMORY p 1 0 (char)
p++
IF char >= 0x00
AND char < 0x80
char += i
IF DOES_CHAR_EXIST char
//-- PRINT_FORMATTED_NOW "~p~Um ped existente: %d" 600 char
//-- WAIT 500
IF NOT char = actor
SET_CHAR_HEALTH char 0
ENDIF
ENDIF
ENDIF
i += 256
ENDWHILE
GOTO loop
}
SCRIPT_END
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Não precisa de WAIT aí. 

______________________________
Everyone gonna remember my name !
@israel: Não tinha visto a sua resposta antes de atualizar a pagina
tenho mania de por wait 0 dentro de qualquer loop, no seu exemplo não fez falta mesmo, parece que o loop se resolve muito rápido então não chega fazer diferença, vou ficar usando seu exemplo como modelo. vlw

tenho mania de por wait 0 dentro de qualquer loop, no seu exemplo não fez falta mesmo, parece que o loop se resolve muito rápido então não chega fazer diferença, vou ficar usando seu exemplo como modelo. vlw

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
De nada. 

______________________________
Everyone gonna remember my name !
Página 1 de 3 • 1, 2, 3 

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|