GTA-Expert Forum: [DOC] Creare una mod CLEO - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[DOC] Creare una mod CLEO Guida terminata, forse saranno apportate altre modifiche.

#1 L'utente è offline   King GTA 1997 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 160
  • Iscritto il: 26/06/09

Inviato il 05 settembre 2010 - 09:00

Creare una mod CLEO
Ciao a tutti, chi oggi non sa fare delle mod CLEO? Infatti andando sui siti web sul modding di GTA SA ne troverete a migliaia, ma non stiamo a parlare di siti web, oggi impareremo NOI come si fanno!
Tutto ciò di cui avete bisogno è Sanny Builder 3, scaricabile direttamente da qui, il programma serve per creare le CLEO per chi non lo sapesse.
Per i principianti aprire lo spoiler.
Spoiler

Apriamo Sanny Builder e all'inizio scriviamo:
{$CLEO .cs}

in questo modo diciamo a Sanny Builder che lo script di cui si tratta è una CLEO e non un SCM o altro...
adesso dobbiamo aggiungere un "punto di riferimento", sarebbero i ":nome" che indicano una parte dello script, senza di quelli non possiamo lavorare. Aggiungiamo:
{$CLEO .cs}
:nome1

A questo punto devo insegnarvi che sono gli opcodes. Gli opcodes sono dei codici che indicano delle funzioni che svolge GTA SA (tipo per SA:MP: CreateVehicle(ecc...)) che però hanno dei numeretti davanti. Per sapere tutti gli opcodes esistenti premete CTRL + ALT + 2 (il 2 non dal numpad). Dalla nuova lista possiamo scorrere tutti gli opcodes, possiamo cercare per esempio create actor e ci trova la funzione per creare i pedoni, per esempio: il 009A: 2@ = create_actor_pedtype 4 model #MALE01 at 0.0 0.0 0.0 per sapere il pedtype dovete premere F12 e andare nella guida su SCM Documentation > GTA:SA > pedtypes. La guida vi servirà SEMPRE per fare le CLEO, non verrà un momento in cui non vi serva ;) . Adesso iniziamo a scriptare, proviamo a spawnare un pedone davanti a noi, non c'è niente di più semplice! Aggiungiamo il nome del thread digitando l'opcode 03A4: name_thread 'NOMETHREAD'.
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

Lasciamo una riga vuota e aggiungiamo un nuovo punto di riferimento:
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2

Adesso mettiamo il wait 0 ms, altrimenti il gioco crasherà. Al posto di 0 ms possiamo mettere per esempio 2000 ms per dire allo script di attendere 2000 ms.
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2
wait 0 ms

Adesso dobbiamo caricare il modello di CJ, quindi premete F12 per scorrere i modelli (ve l'avevo detto che vi serve sempre la guida B) ), per non affaticarvi il lavoro vi dico il modello di CJ, che è #NULL, quindi aggiungiamo l'opcode load_model (cercato da CTRL + ALT + 2)
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2
wait 0 ms
0247: load_model #NULL

Adesso vi spiego come funziona "if":
Utilizzando if and indichiamo 2 o più fattori che devono essere tutti ok.
Utilizzando if or indichiamo 2 o più fattori che ne basta uno che sia ok e va avanti.
Utilizzando if indichiamo 1 solo fattore che deve essere ok.
Aggiungiamo if and per indicare più fattori.
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2
wait 0 ms
0247: load_model #NULL
if and
0256: player $PLAYER_CHAR defined //Se il giocatore è presente
0248: model #NULL available //Se il modello di CJ è disponibile
0AB0: key_pressed 78 //Se avete premuto il tasto N (guardate la guida)

adesso il jf che indica che se quei fattori non sono ok deve fare un "jump" a un punto di riferimento e funziona così: jf @punto (es. jf @nome2).
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2
wait 0 ms
0247: load_model #NULL
if and
0256: player $PLAYER_CHAR defined //Se il giocatore è presente
0248: model #NULL available //Se il modello di CJ è disponibile
0AB0: key_pressed 78 //Se avete premuto il tasto N (guardate la guida)
jf @nome2

Ora continuate a creare lo script e alla fine mettete uno jump altrimenti il gioco si bloccherà alla fine dello script.
{$CLEO .cs}
:nome1
name_thread 'NOMETHREAD'

:nome2
wait 0 ms
0247: load_model #NULL
if and
0256: player $PLAYER_CHAR defined //Se il giocatore è presente
0248: model #NULL available //Se il modello di CJ è disponibile
0AB0: key_pressed 78 //Se avete premuto il tasto N (guardate la guida)
jf @nome2
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 0.0 //Imposta la coordinate del giocatore a una distanza di 2 metri davanti sulle variabili "1@ 2@ 3@"
009A: 0@ = create_actor_pedtype 8 model #NULL at 1@ 2@ 3@ //Crea il ped chiamato "0@" sulle variabili "1@ 2@ 3@"
0172: 4@ = actor $PLAYER_ACTOR Z_angle //Imposta la rotazione Z del giocatore nella variabile "4@"
0173: set_actor 0@ Z_angle_to 4@ //Imposta la rotazione Z del ped "0@" su "4@"
0001: wait 2000 ms //GTA San Andreas attende 2 secondi prima di eseguire il jump per iniziare lo script da capo.
jump @nome2 //Esegue il jump all'inizio dello script, è MOLTO importante metterlo.


Adesso potete modificare lo script a vostro piacimento. Non vi dico altro perchè gli opcodes per esempio devono essere studiati autonomamente altrimenti non capirete un bel niente, fidatevi, non dico stronzate ;).

Messaggio modificato da Wesser il 16 settembre 2011 - 10:47

Immagine Postata
S/O: Windows Vista Home Premium (Versione 6.0.6000)
Classificazione: 8,6
Processore: AMD Athlon™ 64 X2 Dual Core Processor 5000+ ~5.00 GHz
Memoria (RAM): 6070MB
Tipo di sistema: Sistema operativo a 32 bit
Scheda Video: NVIDIA GeForce 8500GT SEB 1024MB
FPS GTA San Andreas: +60 (Qualità massima - Senza Limitatore di frame)
FPS GTA IV: 59/60 (Qualità massima)
0

#2 L'utente è offline   Wesser 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1629
  • Iscritto il: 24/11/07
  • ID PSN:Wesser92
  • ID Social Club:Temutocle
  • Provenienza:Matera, Basilicata, Italia Meridionale, Europa Occidentale, Pianeta Terra, Sistema Solare, Via Lattea, Universo?
  • GTA Preferito:GTA: San Andreas

Inviato il 05 settembre 2010 - 11:19

La guida, così come strutturata, non può essere comprensibile per chi è alle prime armi. Non si possono utilizzare le variabili senza averle prima spiegate.

Non preoccupatevi: creerò una guida completa, similmente ad un manuale quindi, se volete, dilettatevi pure a crearle, ma verranno scartate quando la pubblicherò. :)

Alcune affermazioni sono inesatte ma è inutile elencarle per via di quanto riportato sopra. ;)
Notice: Undefined variable: Fabio in /home/gta-expert/index.php on line 206
0

#3 L'utente è offline   Saint Jake 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 10887
  • Iscritto il: 30/03/09
  • Provenienza:The Glitch City
  • GTA Preferito:GTA: San Andreas

Inviato il 08 settembre 2010 - 11:13

Sposto in sezione tutorial ;)
Andrebbe speigato tutto un po' meglio; chi non è già capace, capisce poco da questo tutorial LOL
/
"Alme Sol, curru nitido diem qui promis et celas aliusque et idem nasceris, possis nihil urbe Roma visere maius"

/
0

#4 L'utente è offline   SalvoSoftware 

  • Cittadino Integerrimo
  • Gruppo: Utenti
  • Messaggi: 9
  • Iscritto il: 01/08/11
  • GTA Preferito:GTA: San Andreas

Inviato il 01 agosto 2011 - 10:58

Salve ragazzi, sto cercando di modificare una mod con il quale si può giocare fps, solo che la telecamera è troppo vicina alla testa di carl e quindi si vedono le braccia come se fossero state "tagliate", quindi sto cercando di spostare la telecamera in modo da ridurre questo bug, però nn riesco a capire che cosa devo cambiare per far si che la telecamera sia un po più lontana dal personaggio, please, help

Questo è il codice sorgente

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'FPS' 

:FPS_11
wait 0 
0@ = -229908 
008B: 0@ = &0(0@,1i) // (int) 
0085: 1@ = 0@ // (int) 
0@ /= 16777216 
0@ *= 16777216 
0062: 1@ -= 0@ // (int) 
if and
 not Actor.Driving($PLAYER_ACTOR)
 1@ == 4608083 
else_jump @FPS_11 
0@ = -229908 
&0(0@,1i) = 1179669248 
Model.Load(1582)

:FPS_128
wait 0 
if 
 Model.Available(1582)
else_jump @FPS_128 
03F0: enable_text_draw 1 
07CC: set_player $PLAYER_CHAR button_15 0 
082A: set_player $PLAYER_CHAR able_to_use_crouch_button 0 
0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0 
08E7: disable_entrance_markers 1 
0901: enable_player $PLAYER_CHAR jump_key 0 
0470: 30@ = actor $PLAYER_ACTOR current_weapon 
0A96: 0@ = actor $PLAYER_ACTOR struct 
0@ += 1816 
0A8D: 31@ = read_memory 0@ size 1 virtual_protect 0 
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
1@ = Actor.Angle($PLAYER_ACTOR)
2@ = Object.Create(1582, 4@, 5@, 6@)
Object.CollisionDetection(2@) = True
Object.ToggleInMovingList(2@) = True
04D9: object 2@ set_scripted_collision_check 1 
0750: set_object 2@ visibility 0 
0906: set_object 2@ mass_to 75.0 // float 
0908: set_object 2@ turn_mass_to 99999.9 // float 
Object.SetImmunities(2@, 1, 1, 1, 1, 1)
3@ = Actor.Create(Special, #NULL, 4@, 5@, 6@)
Actor.SetImmunities(3@, 1, 1, 1, 1, 1)
Actor.WeaponAccuracy(3@) = 100
0337: set_actor 3@ visibility 1 
0489: set_actor 3@ muted 1 
0619: enable_actor 3@ collision_detection 0 
081A: set_actor 3@ weapon_skill_to 2 
04D8: set_actor 3@ drowns_in_water 0 
Object.Angle(2@) = 1@
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_483 
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.2 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 0 
jump @FPS_516 

:FPS_483
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.2 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 

:FPS_516
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin 0.0 0.25 0.0 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
Actor.Angle(3@) = 1@
1@ += -90.0 
0858: set_player $PLAYER_CHAR scan_horizon_to_angle 1@ rotation_speed 3600.0 
20@ = 0 
21@ = 0 
22@ = 0 
23@ = 0 
24@ = 0 
0A8D: 25@ = read_memory 11988014 size 1 virtual_protect 0 
0A8C: write_memory 11988014 size 1 value 1 virtual_protect 0 
32@ = -1000 

:FPS_650
wait 0 
0@ = 0 
1@ = 5 
gosub @FPS_4116 
0@ = 1 
1@ = 6 
gosub @FPS_4116 
0@ = 2 
1@ = 7 
gosub @FPS_4116 
0@ = 3 
1@ = 14 
gosub @FPS_4116 
0@ = 4 
1@ = 19 
gosub @FPS_4116 
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_821 
if 
 21@ == 0 
else_jump @FPS_821 
0687: clear_actor $PLAYER_ACTOR task 

:FPS_821
if or
 20@ == 1 
 22@ == 1 
else_jump @FPS_1313 
26@ = 0 

:FPS_853
if 
 20@ == 1 
else_jump @FPS_903 
31@ += -1 
if 
 31@ == -1 
else_jump @FPS_903 
31@ = 10 

:FPS_903
if 
 22@ == 1 
else_jump @FPS_953 
31@ += 1 
if 
 31@ == 11 
else_jump @FPS_953 
31@ = 0 

:FPS_953
0085: 4@ = 31@ // (int) 
4@ *= 28 
0A96: 0@ = actor $PLAYER_ACTOR struct 
0@ += 1440 
005A: 0@ += 4@ // (int) 
0A8D: 4@ = read_memory 0@ size 4 virtual_protect 0 
if or
 not 4@ == 0 
 31@ == 0 
else_jump @FPS_1292 
0085: 30@ = 4@ // (int) 
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_1115 
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.2 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 0 
jump @FPS_1148 

:FPS_1115
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.2 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 

:FPS_1148
Actor.DestroyInstantly(3@)
3@ = Actor.Create(Special, #NULL, 4@, 5@, 6@)
Actor.SetImmunities(3@, 1, 1, 1, 1, 1)
Actor.WeaponAccuracy(3@) = 100
0337: set_actor 3@ visibility 1 
0489: set_actor 3@ muted 1 
0619: enable_actor 3@ collision_detection 0 
081A: set_actor 3@ weapon_skill_to 2 
04D8: set_actor 3@ drowns_in_water 0 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin 0.0 0.25 0.0 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
1@ = Actor.Angle($PLAYER_ACTOR)
Actor.Angle(3@) = 1@
32@ = -1000 
jump @FPS_1313 

:FPS_1292
26@ += 1 
 26@ > 12 
else_jump @FPS_853 

:FPS_1313
068D: get_camera_position_to 4@ 5@ 6@ 
068E: get_camera_target_point_to 28@ 29@ 27@ 
0063: 28@ -= 4@ // (float) 
0063: 29@ -= 5@ // (float) 
0509: 4@ = distance_between_XY 0.0 0.0 and_XY 28@ 29@ 
0063: 6@ -= 27@ // (float) 
gosub @FPS_4272 
0453: set_object 2@ XY_rotation 0.0 0.0 angle 27@ 
0087: 28@ = 4@ // (float) 
0087: 29@ = 6@ // (float) 
gosub @FPS_4272 
27@ /= 120.0 
if 
 -0.75 > 27@ 
else_jump @FPS_1469 
27@ = -0.75 

:FPS_1469
if and
 30@ == 22 
 21@ == 2 
else_jump @FPS_1511 
27@ += 1.5 
jump @FPS_1521 

:FPS_1511
27@ += 1.25 

:FPS_1521
041D: set_camera_near_clip 27@ 
0494: get_joystick 0 data_to 10@ 11@ 26@ 26@ 
0093: 10@ = integer 10@ to_float 
0093: 11@ = integer 11@ to_float 
10@ /= 1.5 
if 
 11@ > 0.0 
else_jump @FPS_1599 
11@ /= 1.5 

:FPS_1599
if 
 21@ == 2 
else_jump @FPS_1644 
10@ /= 32.0 
11@ /= -32.0 
jump @FPS_1664 

:FPS_1644
10@ /= 24.0 
11@ /= -24.0 

:FPS_1664
0400: store_coords_to 4@ 5@ 6@ from_object 2@ with_offset 10@ 11@ 0.0 
0400: store_coords_to 7@ 8@ 9@ from_object 2@ with_offset 0.0 0.0 0.0 
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
059F: get_object 2@ velocity_in_direction 7@ 8@ 6@ 
Object.StorePos(2@, 7@, 8@, 9@)
02CE: 7@ = ground_z_at 7@ 8@ 9@ 
7@ += 1.0 
0063: 9@ -= 7@ // (float) 
0087: 8@ = 9@ // (float) 
9@ *= -15.0 
if and
 9@ > 0.0 
0025: 9@ > 6@ // (float) 
else_jump @FPS_1849 
0087: 6@ = 9@ // (float) 

:FPS_1849
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_1950 
if and
 0.2 > 8@ 
 6.5 > 6@ 
 23@ == 1 
 21@ == 0 
else_jump @FPS_1943 
6@ = 6.5 

:FPS_1943
jump @FPS_1998 

:FPS_1950
if and
 0.2 > 8@ 
 6.5 > 6@ 
 23@ == 1 
else_jump @FPS_1998 
6@ = 6.5 

:FPS_1998
Object.Throw(2@, 4@, 5@, 6@)
068D: get_camera_position_to 7@ 8@ 9@ 
068E: get_camera_target_point_to 4@ 5@ 6@ 
0063: 4@ -= 7@ // (float) 
0063: 5@ -= 8@ // (float) 
0063: 6@ -= 9@ // (float) 
050A: 27@ = distance_between_XYZ 0.0 0.0 0.0 and_XYZ 4@ 5@ 6@ 
27@ /= 100.0 
0073: 4@ /= 27@ // (float) 
0073: 5@ /= 27@ // (float) 
0073: 6@ /= 27@ // (float) 
005B: 4@ += 7@ // (float) 
005B: 5@ += 8@ // (float) 
005B: 6@ += 9@ // (float) 
if 
00E1: player 0 pressed_key 17 
else_jump @FPS_2415 
if or
 30@ == 16 
 30@ == 17 
 30@ == 18 
 30@ == 39 
else_jump @FPS_2312 
if 
 0 > 32@ 
else_jump @FPS_2233 
32@ = 0 
jump @FPS_2305 

:FPS_2233
if 
 32@ > 2000 
else_jump @FPS_2305 
0400: store_coords_to 7@ 8@ 9@ from_object 2@ with_offset 0.0 25.0 0.0 
0668: AS_actor 3@ rotate_and_shoot_at 7@ 8@ 9@ 100 ms 
32@ = -1000 

:FPS_2305
jump @FPS_2408 

:FPS_2312
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_2392 
if 
 21@ == 0 
else_jump @FPS_2385 
0668: AS_actor 3@ rotate_and_shoot_at 4@ 5@ 6@ 100 ms 

:FPS_2385
jump @FPS_2408 

:FPS_2392
0668: AS_actor 3@ rotate_and_shoot_at 4@ 5@ 6@ 100 ms 

:FPS_2408
jump @FPS_2574 

:FPS_2415
if or
 30@ == 16 
 30@ == 17 
 30@ == 18 
 30@ == 39 
else_jump @FPS_2558 
if 
 32@ > 0 
else_jump @FPS_2543 
0093: 4@ = integer 32@ to_float 
4@ /= 100.0 
4@ += 10.0 
0400: store_coords_to 7@ 8@ 9@ from_object 2@ with_offset 0.0 4@ 0.0 
0668: AS_actor 3@ rotate_and_shoot_at 7@ 8@ 9@ 100 ms 

:FPS_2543
32@ = -1000 
jump @FPS_2574 

:FPS_2558
0667: AS_actor 3@ aim_at 4@ 5@ 6@ 100 ms 

:FPS_2574
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1444 
005A: 0@ += 1@ // (int) 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
033F: set_text_draw_letter_size 0.3 1.4 
if 
 1@ == 2 
else_jump @FPS_2693 
0340: set_text_draw_RGBA 86 101 120 255 
jump @FPS_2707 

:FPS_2693
0340: set_text_draw_RGBA 172 203 241 255 

:FPS_2707
0342: enable_text_draw_centered 1 
0345: enable_text_draw_background 0 
0348: enable_text_draw_proportional 0 
03E4: enable_text_draw_align_right 0 
0349: set_text_draw_font 1 
081C: draw_text_outline 1 RGBA 0 0 0 255 
0@ += 4 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
045A: draw_text_1number 520.0 63.0 GXT 'NUMBER' number 1@ // ~1~
if 
 24@ == 1 
else_jump @FPS_2871 
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1444 
005A: 0@ += 1@ // (int) 
0A8C: write_memory 0@ size 4 value 2 virtual_protect 0 

:FPS_2871
if or
 30@ == 22 
 30@ == 23 
 30@ == 24 
 30@ == 25 
 30@ == 27 
 30@ == 29 
else_jump @FPS_3366 
if 
 21@ == 1 
else_jump @FPS_3147 
0922: set_camera_zoom_in_factor 70.0 out_factor 40.0 timelimit 500 mode 1 
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1448 
005A: 0@ += 1@ // (int) 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
if 
 30@ == 22 
else_jump @FPS_3095 
081A: set_actor 3@ weapon_skill_to 3 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin -0.13 0.25 0.2 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
jump @FPS_3135 

:FPS_3095
081A: set_actor 3@ weapon_skill_to 2 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin -0.11 0.25 0.05 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 

:FPS_3135
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0 

:FPS_3147
if 
 21@ == 2 
else_jump @FPS_3208 
0801: get_camera_zoom_factor_to 4@ // float 
if 
 42.5 >= 4@ 
else_jump @FPS_3208 
0922: set_camera_zoom_in_factor 40.0 out_factor 40.0 timelimit 1000 mode 1 

:FPS_3208
if 
 21@ == 3 
else_jump @FPS_3366 
0922: set_camera_zoom_in_factor 40.0 out_factor 70.0 timelimit 500 mode 1 
081A: set_actor 3@ weapon_skill_to 2 
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1448 
005A: 0@ += 1@ // (int) 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin 0.0 0.25 0.0 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0 

:FPS_3366
if or
 30@ == 30 
 30@ == 31 
 30@ == 33 
else_jump @FPS_3775 
if 
 21@ == 1 
else_jump @FPS_3556 
0922: set_camera_zoom_in_factor 70.0 out_factor 30.0 timelimit 500 mode 1 
081A: set_actor 3@ weapon_skill_to 2 
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1448 
005A: 0@ += 1@ // (int) 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin -0.14 0.25 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0 

:FPS_3556
if 
 21@ == 2 
else_jump @FPS_3617 
0801: get_camera_zoom_factor_to 4@ // float 
if 
 32.5 >= 4@ 
else_jump @FPS_3617 
0922: set_camera_zoom_in_factor 30.0 out_factor 30.0 timelimit 1000 mode 1 

:FPS_3617
if 
 21@ == 3 
else_jump @FPS_3775 
0922: set_camera_zoom_in_factor 30.0 out_factor 70.0 timelimit 500 mode 1 
081A: set_actor 3@ weapon_skill_to 2 
0A96: 0@ = actor 3@ struct 
0@ += 1816 
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 
1@ *= 28 
0A96: 0@ = actor 3@ struct 
0@ += 1448 
005A: 0@ += 1@ // (int) 
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 
04F4: put_actor 3@ into_turret_on_object 2@ offset_from_object_origin 0.0 0.25 0.0 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0 

:FPS_3775
if or
 30@ == 34 
 30@ == 35 
 30@ == 36 
 30@ == 43 
else_jump @FPS_4005 
if 
 21@ == 1 
else_jump @FPS_3910 
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.3 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 30@ 
0337: set_actor 3@ visibility 0 
0881: set_player $PLAYER_CHAR able_to_shoot_weapons 1 
1@ = Object.Angle(2@)
1@ += -90.0 
0858: set_player $PLAYER_CHAR scan_horizon_to_angle 1@ rotation_speed 3600.0 

:FPS_3910
if 
 21@ == 3 
else_jump @FPS_4005 
04F4: put_actor $PLAYER_ACTOR into_turret_on_object 2@ offset_from_object_origin 0.0 0.3 0.1 orientation 0 both_side_angle_limit 360.0 lock_weapon 0 
0337: set_actor 3@ visibility 1 
0881: set_player $PLAYER_CHAR able_to_shoot_weapons 0 
1@ = Object.Angle(2@)
1@ += -90.0 
0858: set_player $PLAYER_CHAR scan_horizon_to_angle 1@ rotation_speed 3600.0 

:FPS_4005
if or
00E1: player 0 pressed_key 15 
 Actor.Dead($PLAYER_ACTOR)
06B9: cutscene_data_loaded 
04E7: object 2@ in_water 
else_jump @FPS_650 
0465: remove_actor $PLAYER_ACTOR from_turret_mode 
Object.Destroy(2@)
Actor.DestroyInstantly(3@)
041D: set_camera_near_clip 0.1 
07CC: set_player $PLAYER_CHAR button_15 1 
082A: set_player $PLAYER_CHAR able_to_use_crouch_button 1 
0881: set_player $PLAYER_CHAR able_to_shoot_weapons 1 
08E7: disable_entrance_markers 0 
0901: enable_player $PLAYER_CHAR jump_key 1 
Camera.Restore
Model.Destroy(1582)
0A8C: write_memory 11988014 size 1 value 25@ virtual_protect 0 
jump @FPS_11 

:FPS_4116
if and
 20@(0@,1i) == 0 
00E1: player 0 pressed_key 1@ 
else_jump @FPS_4158 
20@(0@,1i) = 1 
return 

:FPS_4158
if 
 20@(0@,1i) == 1 
else_jump @FPS_4193 
20@(0@,1i) = 2 
return 

:FPS_4193
if and
 20@(0@,1i) == 2 
80E1: not player 0 pressed_key 1@ 
else_jump @FPS_4235 
20@(0@,1i) = 3 
return 

:FPS_4235
if 
 20@(0@,1i) == 3 
else_jump @FPS_4270 
20@(0@,1i) = 0 
return 

:FPS_4270
return 

:FPS_4272
0509: 27@ = distance_between_XY 28@ 29@ and_XY 0.0 0.0 
0073: 28@ /= 27@ // (float) 
0073: 29@ /= 27@ // (float) 
0509: 27@ = distance_between_XY 28@ 29@ and_XY 0.0 1.0 
26@ = 0 

:FPS_4337
27@ /= 2.0 
006B: 27@ *= 27@ // (float) 
0087: 29@ = 27@ // (float) 
27@ *= -1.0 
27@ += 1.0 
01FB: 27@ = square_root 27@ 
27@ *= -1.0 
27@ += 1.0 
006B: 27@ *= 27@ // (float) 
005B: 27@ += 29@ // (float) 
01FB: 27@ = square_root 27@ 
26@ += 1 
 26@ > 15 
else_jump @FPS_4337 
27@ *= 65536.0 
27@ /= 3.141529 
27@ *= 180.0 
if 
 28@ > 0.0 
else_jump @FPS_4517 
27@ *= -1.0 

:FPS_4517
return 

SalvoSoftware FORUM LEADER STAFF
Per informazioni contattare salvosoftware6969@yahoo.it

"Music is a universal language, and needs not to be translated. With it soul speaks to soul"

Visitate anche il fantastico forum sulla chitarra! xD
0

#5 L'utente è offline   Fabio206 

  • Padrino
  • Gruppo: Admin
  • Messaggi: 72430
  • Iscritto il: 05/12/05
  • GTA Preferito:GTA III

Inviato il 01 agosto 2011 - 12:44

Meglio se chiedi qui
http://forum.gta-exp...ieste-ed-aiuti/
0

#6 L'utente è offline   SalvoSoftware 

  • Cittadino Integerrimo
  • Gruppo: Utenti
  • Messaggi: 9
  • Iscritto il: 01/08/11
  • GTA Preferito:GTA: San Andreas

Inviato il 02 agosto 2011 - 09:53

ok, non sapevo dove scriverlo
SalvoSoftware FORUM LEADER STAFF
Per informazioni contattare salvosoftware6969@yahoo.it

"Music is a universal language, and needs not to be translated. With it soul speaks to soul"

Visitate anche il fantastico forum sulla chitarra! xD
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi