- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Olá, venho pedir ajuda sobre um problema que apareceu enquanto estava criando um mod cleo, acontece que, o jogador deverá fazer uma entrega em um local aleatório e para isso acontecer eu dou um valor aleatório a uma variável e depois comparo cada valor; se o valor for tal, o local de entrega deve ser este... Apesar de eu inserir corretamente as coordenadas que quero, no jogo aparece elas diferentes.
Código:

OBS: Coloquei um 0AD1 in-game para ver se eram as coordenadas que estavam bugadas ou a sintaxe do opcode do blip.
Código:
- Código:
0209: route = random_int_in_ranges 0 5
if or
route == 1
route == 0
then
0005: 4@ = -489.3065
0005: 5@ = -558.7218
0005: 6@ = 25.5234
0AD3: zone_route = format "%s" "Fallen Tree"
end
if route == 2
then
0005: 4@ = -1819.5201
0005: 5@ = 2.1698
0005: 6@ = 15.1172
0AD3: zone_route = format "%s" "Doherty"
end
if route == 3
then
0005: 4@ = -1358.6582
0005: 5@ = 2068.6035
0005: 6@ = 52.4465
0AD3: zone_route = format "%s" "Tierra Robada"
end
if or
route == 4
route == 5
then
0005: 4@ = -285.4091
0005: 5@ = 2660.9941
0005: 6@ = 62.6619
0AD3: zone_route = format "%s" "Las Payasadas"
end

OBS: Coloquei um 0AD1 in-game para ver se eram as coordenadas que estavam bugadas ou a sintaxe do opcode do blip.
Teoricamente o 0005 é para ser usado com variáveis globais, o recomendável é usar sem opcode para esses casos, o sanny builder colocará automaticamente o opcode correto.
Seria melhor que você mostrasse como está printando (com o 0AD1) também.
Seria melhor que você mostrasse como está printando (com o 0AD1) também.
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Eu coloquei o opcode para tentar ver se isso resolveria o problema.@Fabio escreveu:Teoricamente o 0005 é para ser usado com variáveis globais, o recomendável é usar sem opcode para esses casos, o sanny builder colocará automaticamente o opcode correto.
Seria melhor que você mostrasse como está printando (com o 0AD1) também.
A linha do 0AD1 tá assim:
- Código:
0AD1: show_formatted_text_highpriority "%f, %f, %f" time 40000 4@ 5@ 6@
- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
Tem algo errado, mas sem o código completo, complica...
E só pra avisar, "route" nunca vai ser 5, ok.
E só pra avisar, "route" nunca vai ser 5, ok.

______________________________
Everyone gonna remember my name !
- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Coloquei até o 5 para prevenir, já li sobre isso mas resolvi colocar. Não postei o código completo porque não vi precisão e porque pretendia criar um modpack com esse script, mas não é problema, pois essa provavelmente não será a única vez que isso pode vir a acontecer e é melhor já saber o que fazer se isso acontecer novamente. Enfim, código completo do mod até agora abaixo:israel escreveu:Tem algo errado, mas sem o código completo, complica...
E só pra avisar, "route" nunca vai ser 5, ok.
- Código:
{$CLEO}
{$NOSOURCE}
var
4@ : float = 0.0
5@ : float = 0.0
6@ : float = 0.0
end
const
map_icon_truck = 1@
route = 2@
zone_route = 3@v
truckhandle = 7@
markerhandle = 8@
end
:MAIN_LOOP
wait 100
02A7: map_icon_truck = create_icon_marker_and_sphere 51 at -1992.7532 -2387.7178 30.625
:MAIN
wait 0
if
00ED: actor $PLAYER_ACTOR sphere 1 near_point -1992.7532 -2387.7178 radius 1.0 1.0 on_foot
jf @MAIN
0ACB: show_styled_text "Caminhoneiro" time 5000 style 1
fade 0 2000
while fading
wait 0
end
0164: disable_marker map_icon_truck
gosub @GenerateRandomRoute
#DFT30.Load()
repeat
wait 0
until #DFT30.Available()
Car.Create(truckhandle, #DFT30, -1971.7992, -2391.283, 31.307)
Car.Angle(truckhandle) = 44.4692
fade 1 2000
while fading
wait 0
end
repeat
wait 0
0ACD: show_text_highpriority "O ~y~caminhao~w~ foi carregado, entre nele para prosseguir." time 100
until Actor.InCar($PLAYER_ACTOR, truckhandle)
0AD1: show_formatted_text_highpriority "Seu caminhao esta carregado com madeira, dirija ate ~y~%s~w~ para realizar a entrega." time 5000 zone_route
0167: markerhandle = create_marker_at 4@ 5@ 6@ color 4 flag 2
0AD1: show_formatted_text_highpriority "%f, %f, %f" time 40000 4@ 5@ 6@
while 80EE: not actor $PLAYER_ACTOR sphere 1 near_point 4@ 5@ radius 1.0 1.0 in_car
wait 0
if wasted_or_busted
then
goto @Failed
end
if not Actor.InCar($PLAYER_ACTOR, truckhandle)
then
0ACD: show_text_highpriority "Volte para seu caminhao!" time 900
end
end
:GenerateRandomRoute //rotas de madeira a partir de angel pine
0209: route = random_int_in_ranges 0 5
if or
route == 1
route == 0
then
0005: 4@ = -489.3065
0005: 5@ = -558.7218
0005: 6@ = 25.5234
0AD3: zone_route = format "%s" "Fallen Tree"
end
if route == 2
then
0005: 4@ = -1819.5201
0005: 5@ = 2.1698
0005: 6@ = 15.1172
0AD3: zone_route = format "%s" "Doherty"
end
if route == 3
then
0005: 4@ = -1358.6582
0005: 5@ = 2068.6035
0005: 6@ = 52.4465
0AD3: zone_route = format "%s" "Tierra Robada"
end
if or
route == 4
route == 5
then
0005: 4@ = -285.4091
0005: 5@ = 2660.9941
0005: 6@ = 62.6619
0AD3: zone_route = format "%s" "Las Payasadas"
end
return
:Failed
P.S: Declarei as variáveis locais 4@, 5@ e 6@ e coloquei 4@, 5@ e 6@ em mais alguns cantos em vez de "xlocal", "ylocal" e "zlocal" na tentativa de resolver o problema, inicialmente não era assim.
- Código:
zone_route = 3@v
Isso ocupa a variável 3@, 4@, 5@ e 6@, totalizando 16 bytes de espaço para string.
- Código:
"Fallen Tree" tem 11 bytes, portanto fica assim:
3@ = Fall
4@ = en T
5@ = ree (e o último byte da variável 5@ será 0)
6@ ficará intocada nesse caso
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Nossa, é mesmo! Pensava que longstrings ocupavam 4 variáveis apenas teoricamente. Boiei. Valeu mesmo, Fabio!@Fabio escreveu:
- Código:
zone_route = 3@v
Isso ocupa a variável 3@, 4@, 5@ e 6@, totalizando 16 bytes de espaço para string.
- Código:
"Fallen Tree" tem 11 bytes, portanto fica assim:
3@ = Fall
4@ = en T
5@ = ree (e o último byte da variável 5@ será 0)
6@ ficará intocada nesse caso
- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Não, pois não terminei o resto quando vi esse problema '--Arthropod escreveu:A ocupação do label "Failed" é garantir um crash mesmo?
@NathanT escreveu:Nossa, é mesmo! Pensava que longstrings ocupavam 4 variáveis apenas teoricamente. Boiei. Valeu mesmo, Fabio!@Fabio escreveu:
- Código:
zone_route = 3@v
Isso ocupa a variável 3@, 4@, 5@ e 6@, totalizando 16 bytes de espaço para string.
- Código:
"Fallen Tree" tem 11 bytes, portanto fica assim:
3@ = Fall
4@ = en T
5@ = ree (e o último byte da variável 5@ será 0)
6@ ficará intocada nesse caso
De nada.

______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
NathanT, por que você não estuda GTA3script ao invés de Sanny Builder?
- Rafael_AntunesMensagens Nível 6
- Título : O mininu viciado em Cautir Istraiqui.
Mensagens : 1264
Reputação : 16
Desde : 16/11/2016
Localização : Seattle-Washington
Link : http://dyomworldbrasil.forumeiros.com/
@Junior_Djjr escreveu:NathanT, por que você não estuda GTA3script ao invés de Sanny Builder?
Ele tava aprendendo,dai do nada ele parou eu acho.
(tenho ele no Face)
______________________________

- NathanTMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 12/12/2015
Valeu mano, com sua dica posso aprimorar o código de meu scripts. Aprecio sua dica!Arthropod escreveu:Coloque os WAITs no término dos loop, e não no início; para evitar que o thread passe a vez de execução desnecessariamente.
EXEMPLO:
- Código:
while 80EE: not actor $PLAYER_ACTOR sphere 1 near_point 4@ 5@ radius 1.0 1.0 in_car
//wait 0 // yeld desnecessário, só atrasa realização da sua tarefa.
if wasted_or_busted
then
goto @Failed
end
if not Actor.InCar($PLAYER_ACTOR, truckhandle)
then
0ACD: show_text_highpriority "Volte para seu caminhao!" time 900
end
wait 0 // yeld depois de realizar sua tarefa.
end
Já li todos os atuais tutoriais sobre GTA3script daqui, após isso resolvi também estudar sobre o Sanny para me ajudar também no aprendizado de GTA3script, como por exemplo, lendo sobre Sanny eu aprendi sobre thread memory e com um post do israel eu vi como usar isso em gta3script@Junior_Djjr escreveu:NathanT, por que você não estuda GTA3script ao invés de Sanny Builder?

Também, o meu Visual Studio Code começou a dar problema, algo que me motivou mais a usar Sanny algumas vezes. Mas não deixei GTA3script para trás não.
É, isso é bom.@NathanT escreveu:Já li todos os atuais tutoriais sobre GTA3script daqui, após isso resolvi também estudar sobre o Sanny para me ajudar também no aprendizado de GTA3script, como por exemplo, lendo sobre Sanny eu aprendi sobre thread memory e com um post do israel eu vi como usar isso em gta3script
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|