Transferarea scripturilor de la primul fault la al doilea

Da, nu prea multe capcane. Toate scripturile de la primul fault sunt transferate, acum sunt doar câteva inconsecvențe și bug-uri apărut și totul funcționează. Poate că ai nevoie doar de scripturile primul fault? Sau doriți să le transferați singuri? Sau explicați cum să transferați scripturi? Dacă există scripturi primul fault mai mult sau mai puțin dat la sursă, adică în T2, scripts.h restaurat, maps.h, global.h etc.

Totul se face cu ușurință. Luăm scenariul decompilat. Înregistrați-o în scripts.lst și scrname.msg.
Apoi compilam scriptul cu compilatorul pentru f2. Dacă a apărut o eroare (acest lucru se întâmplă în unele
scripturile nu decompila unele funcții, trebuie să fie editate manual)
compilați perfect transferăm într-un script de dosar și într-un cartograf vom crea personajul, ne legăm
trecutul și scenariul nostru. Și asta e tot. Dar acolo încep problemele. Gvary nu are același număr
scenariul nu este unul, etc.

Ce fac pentru a găsi numerele de gardieni și scripturi și pentru a le repara pe cont propriu, adică înlocuitorul.
Este posibil să se facă într-un notebook pentru a găsi și înlocui. Dar asta nu m-am plictisit mult, nu
jumătate din scenariile, înlocuind numerele cu un înlocuitor de delfin, care ar fi mai ușor de editat.

Dar apoi la această afacere i-am înșurubat preprocesorul, luăm preprocesorul și scenariul.
Facem fișierul h și scriem în el

message_str (numărul scriptului, numărul liniei)

#define message_str (x1, x2) mesaj_str (SCRIPT_NUMBER_ x1, x2)

După preprocesor, scriptul va arăta astfel


message_str (SCRIPT_NUMBER_ 567, 345)

Apoi luăm programul pentru a înlocui cuvintele din fișiere.

Înlocuim SCRIPT_NUMBER_ (cu un spațiu) cu SCRIPT_NUMBER_ (fără spațiu)

Și scenariul va fi de acest fel

Apoi creați un alt fișier h și conectați-vă la script

#define SCRIPT_NUMBER_567 SCRIPT_name este un script (exemplu) SCRIPT_ARADESH

Și din nou rulați preprocesorul și acum puteți schimba numărul de script modificând unul
fișier scripts.h

În fișierul scripts.h, adăugați această linie


#define SCRIPT_ARADESH (Numărul de script din scripts.lst)

Și așa mai departe, ce trebuie înlocuit. Și de aceea am adus scripturi pentru transfer
în φ2.

La mine în cazul în care ar trebui să existe toate aceste fișiere h, dar voi arăta incertă poate rămâne.

Și dacă ceva nu este clar scrie.

În general, pot scrie un fișier de ajutor ca o modificare de modificare pentru o altă modificare. Cu capturi de ecran și descriere completă. Cred că este util. De exemplu, care nu vrea să încărcați codul sursă sau sursa de moda a pierdut orice se poate întâmpla, iar noi citim un articol se dekompilnuli scripturi restaurate, desigur, acesta va fi un cod nu este în script-uri bisovskih, dar încă mai bine decât script-ul decompiled.

EEEE Pot să fac tuplu, dar am câteva întrebări.

astfel încât piciorul exact pus, prima întrebare a fost abandonată.

2. Aici ați scris - "Atunci compilam scenariul cu compilatorul pentru f2." dar F1 are o structura usor diferita, acolo totul functioneaza prin start, iar in F2 este numit doar o data si totul, sau nu-i asa? Cum va funcționa atunci? Chiar dacă toate paznicii și covoarele sunt rescrise. Chet nu este clar. Și modul de dialog acolo prin modul SEY se face. În F2 are un fel de lucru diferit, așa cum mi se pare.

dar F1 are o structura usor diferita, acolo totul functioneaza prin start, iar in F2 este numit doar o data si totul, sau nu-i asa?


De asemenea, am crezut la început că se invocă doar o singură dată, dar nu de fiecare dată când scriptul este accesat.
Uită-te la codul sursă al scripturilor de la prima fault imediat ce va deveni clar. Dacă totul este cauzat de începerea procedurii nu poate fi adăugat peste vechea procedură, deoarece procedura nu pornește zarustitsya în acele script-uri în cazul în care totul este cauzat de start, primul tratament ar trebui să fie înceapă.

Și modul de dialog acolo prin modul SEY se face.


Versiunea demo a lui φ1 se face prin modul sai, iar φ1 este identic cu φ2.

În F2 are un fel de lucru diferit, așa cum mi se pare.


Sincer, nu am săpat prea mult în modul cp. Dar cred că nu ar trebui să fie atât de diferit.

Exemplu script în care totul este chemat prin start

începerea procedurii
începe
De asemenea, procedura talk_p_proc este apelată numai prin start și script_action
dacă (script_action == talk_proc) începe apoi

start_gdialog (SCRIPT_ARADESH, auto_obj, 4, -1, -1);
gsay_start;
sunați la Node001;
gsay_end;
end_dialogue;
capăt

Și aici, de asemenea, adăugați
Aceasta este look_at_p_proc
dacă (script_action == look_at_proc) începe apoi
script_overrides;
display_msg (mesaj_str (NAME, 100));
capăt
capăt