Ce l'abbiamo fatta !
Traduzione e beta-testing + bug risolti + cose sistemate di Curse of Monkey Island Classic Edition (LA MALEDIZIONE DI MONKEY ISLAND)
Ecco qui il source ags (da dare all'autore) ed il gioco pronto e compilato per poterlo giocare
Oltre allo scrolling iniziale sull'asta elettrica dell'auto da lunapark che adesso non scompare più,
tra le tante cose, ora , Guybrush può sparare il cannone a piacimento dopo aver, ovviamente, annientato le scialuppe nemiche: in questo caso l'animazione di Guybrush non è totalmente fluida (per accorgersene bisogna impostare la velocità del testo davvero al minimo),
MA in vista dello sviluppo del gioco completo... beh, allora... Cannoneggiamento a volontà
In più, adesso,
i credits del Miworld in inglese sono parimenti tradotti come quelli italici nostrani (quindi anche ai fan internazionali) : per darci uno sguardo veloce è la A.4.2 di questo post, negli altri casi basta gustarseli divertendosi col gioco
Grazie a Tutti per il completamento di questo gioco
Quindi:
1) RISOLTO
A) Schermate da tradurre e con code ags x language ita; font 'scheletrico'; GUI italiana: Credits
In AGS del gioco corrispondono alla:
1) (PirateGames Studio Presenta)
Soluzione:
Sprite 636
. In Room0.asc nella function room_Load() riga 144-145
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
oLogo.Graphic = 636;
2) sottotitolo col fuoco: "La Maledizione di Monkey Island"
Metto una delle sprite come esempio
Soluzione:
. Nuova View 30 come vTitlesITA con il loop0 con le sprite 628-635
. In Room0.asc nella function room_AfterFadeIn() :
riga 109-110
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
oTitles.Graphic = 626;
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
oTitles.SetView (30);
3) Nel Profondo dei Caraibi" ed Monkey Island
2 sprite di esempio
Poi,
c'è la nuova View31 (come la View24 ma con le sprite italiane 618-625)
In Room0.asc in riga 135-137:
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
oWater.SetView (31);
else
. 4) la room2 : "Parte 1: Il Dono del Pirata Zombie LeChuck"
In room2.asc creata la function room_Load() ed in riga 12-18:
Codice: Seleziona tutto
function room_Load()
{
if (Game.TranslationFilename == "Italian")
SetBackgroundFrame(1);
else
SetBackgroundFrame(0);
}
A.2) il font che permetta sia di far vedere le lettere accentate maiuscole/minuscole che siano;
sia anche il carattere a forma di scheletro proposto dall'autore.
Soluzione:
font9.ttf
Poi,
in CustomDialoGui.asc nella function CustomDialogGui::init() riga 46-49:
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
this.text_font = eFontFont9;
else
this.text_font = eFontFont6;
A.3) La Gui italiana come MI2
Nelle Sprites - Main - GMainguiImport - creata la cartella Italian e dentro tutte le sprites della Gui nostrana.
A.4) Credits italiani + Credits Miworld (internazionali ed in italiano)
Soluzione:
In Room1.asc nella function room_Load() in riga 162-170 :
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian") {
oCredits1.Graphic = 637;
oCredits2.Graphic = 638;
oCredits3.Graphic = 639;
oCredits4.Graphic = 640;
oCredits5.Graphic = 641;
oCredits6.Graphic = 642;
oCredits7.Graphic = 643;
}
A.4.2) I crediti per la nuova versione delle migliorie apportate:
- Per la versione Internazionale (sprite 644)
- Per la versione Italiana (sprite 645)
Per entrambe il code in AGS:
In Room1.asc nella function room_Load() riga 187-187:
Codice: Seleziona tutto
oCredits8.Transparency = 100;
if (Game.TranslationFilename=="Italian") {
oCredits1.Graphic = 637;
oCredits2.Graphic = 638;
oCredits3.Graphic = 639;
oCredits4.Graphic = 640;
oCredits5.Graphic = 641;
oCredits6.Graphic = 642;
oCredits7.Graphic = 643;
oCredits8.Graphic = 645;
}
Codice: Seleziona tutto
trans = oCredits8.Transparency;
while (trans > 0){ //Fading in the 8th Set of Credits (Credits for new version number)
trans = trans - 2;
oCredits8.Transparency = trans;
Wait(1);
}
Wait(300); //Wait(300);
while (trans < 100){ //Fading out the 8th set of Credits (Credits for new version number)
trans = trans + 2;
oCredits8.Transparency = trans;
Wait(1);
}
Wait(1);
oCredits8.Visible = false;
e per cui in riga 132:
Codice: Seleziona tutto
Wait(200); // for time playing music of new Credits8 ---> old code ---> Wait(300);
A.5) Barra del titolo in ITA + General Setting (per nuova versione):
Ovviamente proponete la versione più adatta, nel caso ne proponiante qualcun'altra
A.5.1)
In Globalscript.asc nella function game_start() riga 34-35:
Codice: Seleziona tutto
if (Game.TranslationFilename=="Italian")
Game.Name = "La Maledizione di Monkey Island";
A.5.2)
In General Settings, Version c'è 1.2.0.0 (così come nelle sprites dei Credits8 sia Eng che Ita)
B) DIALOGHI aggiornati del gioco al 19/04/2015 ( Italian.tra + Italian.trs )
(grazie a Giocherellone )
3) RISOLTO
C) BUG
(grazie a Rmonic79 ed ad MeoVas per la soluzione del bug di Murray
Nel caso contrario, se si fa qualunque azione e solo dopo aver annientato i nemici, ci si affaccia alla finestra, Murray compare ed il bug quindi non si presenta.
Soluzione:
rmonic79 ha scritto:Allora vi mando il link con le pagine da modificare per il bug di murray che sono room script 3,4 e 5 ed il global script, in piu' nell' editor bisogna aggiungere due variabili globali Debrisvisible settarla bool dal menu a tendina e false come valore iniziale e murryvisible settata come la precedente.
https://www.dropbox.com/sh/6w9h4jz5vlue ... insQa?dl=0
C1...C3 Azioni con frasi ripetute 'medesime', anziché alternate come nell'originale:
(azione quando eseguita per la 2° volta e successive):
deve dire solamente "È troppo buio."; invece ripete sempre la stessa frase come se la esaminasse per la 1° volta.
Soluzione:
In Room3.asc, prima della function room_Load() aggiunto in riga:
- 2: int keyholelookat=0;
mentre
nella function hKeyhole_AnyClick() - subfunction (UsedAction(eGA_LookAt)) - aggiunto in riga:
- 515: if (keyholelookat==0) {
mentre
dalla 533 alla 536:
Codice: Seleziona tutto
keyholelookat=1;
}
else player.Say ("It's too dark to see.");
}
C.2) Parla a 'buco della serratura':
le volte successive vengono usate altre frasi nell'originale.
Ci sono, oltre alla 1 già detta, altre 4 (per un totale di 5).
Quindi solo alla 5° ripetizione ripeterà sempre la stessa medesima frase "Nessuno mi ascolta dall'altra parte. Se solo potessi aprirla!".
ad es. la 2° volta dice: Ehi! Se c'è qualcuno di voi rancidi pervertiti figli del demonio dietro questa porta... È meglio che stiate attenti! Perché sto per uscire!
Si può fare come per l'originale e quindi introdurre altri 4 eventi ?
NOTA: le frasi messe in Eng nel code, tradottole ovviamente in ITA nel trs
Soluzione:
In Room3.asc, prima della function room_Load() aggiunto in riga:
- 3: int keyholetalkto=0;
mentre
nella function hKeyhole_AnyClick() - subfunction UsedAction(eGA_TalkTo)) - aggiunto in riga:
- 542: if (keyholetalkto==0) {
- dalla 550 alla 582:
Codice: Seleziona tutto
keyholetalkto=1;
}
else if (keyholetalkto==1) {
player.Say ("Hey!");
Wait (5);
player.Say ("If there any of your rancid, evil, deviant hellspawn behind this door...");
Wait (5);
player.Say ("You'd better watch out!");
Wait (5);
player.Say ("'Cause I'm breaking out of here!");
keyholetalkto=2;
}
else if (keyholetalkto==2) {
player.Say ("Hello!");
Wait (5);
player.Say ("Is there anybody in there who's not evil or dead?");
Wait (5);
player.Say ("Hmmm...");
keyholetalkto=3;
}
else if (keyholetalkto==3) {
player.Say ("There's no point calling out.");
Wait (5);
player.Say ("If there was anyone in there...");
Wait (5);
player.Say ("...they would be some sort of minion of darkness.");
keyholetalkto=4;
}
else if (keyholetalkto==4) {
player.Say ("No one can hear me through this door.");
Wait (5);
player.Say ("If only I could get it open!");
}
C.3) A queste frasi dette da Wally:
Codice: Seleziona tutto
Stay away
Stai lontano!
Stand back!
Stai indietro!
Stand yer distance!
Stai a distanza!
"Any closer and it's curtains for you!
Avvicinati ed è finita per te!"
Invece nell'originale ad ognuna di quelle di prima c'è sempre una frase da dire, associata, diversa.
Soluzione:
In Globalscript.asc, aggiunto in riga:
- 3: int NumLimitWallReply=0;
mentre
creato tutte le frasi che dice come nell'originale, randomizzando sia le 3 frasi basi (che vengono dette assieme ad una delle altre)ed aggiundendo il contatore in modo che alla fine del contatore 4 dica solo una tra le tre frasi basi randomizzate.
Quindi,
nella function cWally_AnyClick() - subfunction (UsedAction(eGA_UseInv)) - aggiunto in riga:
- dalla 561 alla 611 (ed aggiornatole nel trs ovviamente :
Codice: Seleziona tutto
else {
int WallyReply = Random(4);
String StayABD;
int countStayABD=Random(2);
if (countStayABD==0) StayABD="Stay away!";
else if (countStayABD==1) StayABD="Stand back!";
else if (countStayABD==2) StayABD="Stand yer distance!";
Wait (10);
CannonOn = false;
cWally.SpeechView = 8;
cWally.FaceDirection (eDir_Right);
if (NumLimitWallReply >=4) cWally.Say(StayABD);
else {
if (WallyReply == 0) {
cWally.Say (StayABD);
Wait(15);
cWally.Say ("Any closer and it's curtains for you!");
NumLimitWallReply +=1;
}
else if (WallyReply == 1) {
cWally.Say (StayABD);
Wait(15);
cWally.Say ("You're in my personal space, ya lubber!");
NumLimitWallReply +=1;
}
else if (WallyReply == 2) {
cWally.Say (StayABD);
Wait(15);
cWally.Say ("If you give me room to be my own pirate...");
Wait(15);
cWally.Say ("...then I can give you room to be your own pirate.");
Wait(15);
cGuybrush.Say ("I'm glad we had this talk.");
NumLimitWallReply +=1;
}
else if (WallyReply == 3){
cWally.Say (StayABD);
Wait(15);
cWally.Say ("Ya wretched refuse!");
NumLimitWallReply +=1;
}
else if (WallyReply == 4){
cWally.Say (StayABD);
Wait(15);
cWally.Say ("Ya better fear!");
NumLimitWallReply +=1;
}
}
cWally.FaceDirection (eDir_Left);
CannonOn = true;
}
}
C4...C8 Frasi diverse rispetto ad originale (azioni da combinaz. menu/oggetti )
Si dovrebbero collegare con altre già presenti e gestirle dal code AGS a seconda del menu/oggetto:
con la condizione menu/oggetto di sopra viene detta:
That doesn't need to be loaded.
Non ha bisogno di essere caricato.
invece è da collegare con:
That's too big to fit in the keyhole.
È troppo grosso per entrare nella serratura.
Soluzione:
In Room3.asc
nella function hKeyhole_AnyClick() - subfunction (UsedAction(eGA_UseInv)) - aggiunto dalla riga 593 alla 595:
Codice: Seleziona tutto
else if (player.ActiveInventory == iRamrod){
player.Say ("That's too big to fit in the keyhole.");
}
C5) Usa qualunque oggetto (palloni/scovolo ad es.) con 'portello' (gun port) :
con la condizione menu/oggetto di sopra viene detta:
That doesn't need to be loaded.
Non ha bisogno di essere caricato.
invece è da collegare con:
I can't quite squeeze past this cannon.
Non posso scivolare oltre il cannone.
Soluzione:
In Room4.asc
nella function hGunport_AnyClick() - inserita la subfunction (UsedAction(eGA_UseInv)) - e per cui aggiunto dalla riga 62 alla 66:
Codice: Seleziona tutto
else if (UsedAction(eGA_UseInv)){
if (player.ActiveInventory.ID >=1) {
player.Say ("I can't quite squeeze past this cannon.");
}
}
C6) Usa qualunque oggetto (palloni/scovolo ad es.) con 'oblò' :
con la condizione menu/oggetto di sopra viene detta:
That doesn't need to be loaded.
Non ha bisogno di essere caricato.
invece è da collegare con:
I can't reach it.
Non ci arrivo.
Soluzione:
In Room4.asc
nella function hPortholes_AnyClick() ed anche nell'altra function hPorthole_AnyClick() aggiunto nelle righe 87-90 ed in 111-114:
Codice: Seleziona tutto
else if (UsedAction(eGA_UseInv)){
if (player.ActiveInventory.ID >=1) {
player.Say ("I can't reach it.");
}
}
C7) Parla a Teschio parlante:
con la condizione menu/oggetto di sopra viene detta:
I've got nothing to say to him.
Non c'è nessuno lassù ad ascoltarmi. Nessuno di simpatico, cioè.
invece è da collegare con:
Non ho niente da dire.
Soluzione:
QUI nel code di AGS va bene.
Corretta, quindi, solo nel trs.
Per cui (nel trs) è : I've got nothing to say to him. - Non ho niente da dirgli.
C8 ) Parla a (vari oggetti) :
con la condizione menu/oggetto di sopra viene detta per vari oggetti la stessa frase:
I have nothing to say.
Non ho niente da dire.
invece è da collegare per (Oggetto) con (frase: eng-ita):
- per Grata con frase :
- per Cannone con frase : Naw. - Naah.
Soluzione:
(per grata):
In Room3.asc
nella function hGrate_AnyClick() - inserita la subfunction (UsedAction(eGA_TalkTo)) - e per cui aggiunto in riga 226-230:
Codice: Seleziona tutto
else if (UsedAction(eGA_TalkTo)){
any_click_walk_look (156, 130, eDir_Up, "There's nobody up there to hear me.");
Wait(5);
player.Say ("Nobody friendly, anyway.");
}
(per cannone):
nella function oCannon_AnyClick() - inserita la subfunction (UsedAction(eGA_TalkTo)) - e per cui aggiunto in riga 326-328:
Codice: Seleziona tutto
else if (UsedAction(eGA_TalkTo)){
player.Say ("Naw.");
}
C8-1) Dai oggetti (menzionati) od Usa oggetti a/con Wally.
Globalscript - funzione CWally
nuova GiveTo
Codice: Seleziona tutto
else if (UsedAction(eGA_GiveTo)){
if (player.ActiveInventory == iBalloons || player.ActiveInventory == iGaff) {
player.Say ("I don't think he'd like that.");
}
else if (player.ActiveInventory == iHook) {
player.Say ("Wally doesn't need this hook anymore.");
}
else player.Say ("No.");
}
else Unhandled();
Codice: Seleziona tutto
else if (player.ActiveInventory == iCutless) {
player.Say ("I don't want to disembowel poor Wally.");
}
C10) Apri/Chiudi/Premi/Tira/Usa con "corda"
C11) Apri/Chiudi/Premi/Usa con "corda di bloccaggio del cannone"
C12) Dai oggetti ed / Apri/Chiudi/Usa/Tira con 'piccolo pirata'
C12.1) Apri/Chiudi/Premi/Tira con "palloni di elio"
Soluzione:
Usato il code 'di chiusura finale' else Unhandled(); per:
(C9..C11) in Room3.asc nelle function hKeyhole_AnyClick() - function hRope_AnyClick() - function oRope_AnyClick() - function oRope_AnyClick() - function cWally_AnyClick()
(C12) in Globalscript.asc nella function cWally_AnyClick()
In più sui "palloni di elio":
In Globalscript.asc nella function iBalloons_OtherClick() c'è la nuova (UsedAction(eGA_TalkTo)) ed in riga 494-496:
Codice: Seleziona tutto
else if (UsedAction(eGA_Use)) {
player.Say ("They're fun, but I need to use them with something else.");
}
C13) Apri/Chiudi/Esamina/Premi/Tira/Usa/ con "braccio scheletrico" ed anche "usare gli oggetti" con 'braccio scheletrico'
Soluzione:
In Globalscript.asc
creata una nuova funzione function iArm_OtherClick() (con gestione x tutti i menù) ed associatola agli eventi dell'oggetto, (assieme al code per l'uso degli oggetti con il braccio scheletrico)
quindi in riga 800-837:
Codice: Seleziona tutto
function iArm_OtherClick()
{
if (UsedAction(eGA_LookAt)){
player.Say ("It's a skeleton arm.");
}
if (UsedAction(eGA_Use)){
player.Say ("It's all bony and creepy stuff.");
}
if (UsedAction(eGA_TalkTo)){
player.Say ("Naw.");
}
if (UsedAction(eGA_UseInv)){
if (player.ActiveInventory == iBalloons){
player.Say ("I can't use a balloon with that.");
}
else if (player.ActiveInventory == iPamphlets){
player.Say ("This is only for reading.");
}
else if (player.ActiveInventory == iGaff){
player.Say ("Scraping a hook on that would be pointless.");
}
else if (player.ActiveInventory == iCutless){
player.Say ("That doesn't need cutting.");
}
}
if (UsedAction(eGA_Open)) {
player.Say ("Nothing to do.");
}
if (UsedAction(eGA_Close)) {
player.Say ("Nothing to do.");
}
if (UsedAction(eGA_Push)) {
player.Say ("Nothing to do.");
}
if (UsedAction(eGA_Pull)) {
player.Say ("Nothing to do.");
}
}
C14) Usa 'palloni di elio' con "uncino di plastica" , scovolo, rivista, braccio scheletrico, sciabola
Soluzione:
In Globalscript.asc
nella function iBalloons_OtherClick() - subfunction (UsedAction(eGA_UseInv)) - i nuovi oggetti, ed in riga 498-510:
Codice: Seleziona tutto
if (player.ActiveInventory == iRamrod){
player.Say ("That doesn't need to be loaded.");
}
if (player.ActiveInventory == iArm){
player.Say ("I can't use the skeleton arm with that.");
}
if (player.ActiveInventory == iCutless){
player.Say ("That doesn't need cutting.");
}
if (player.ActiveInventory == iPamphlets){
player.Say ("This is only for reading.");
}
}
C15) Usa gli oggetti con 'letteratura piratesca'
Soluzione:
In Globalscript.asc
nella function iPamphlets_OtherClick() - subfunction (UsedAction(eGA_UseInv)) - i nuovi oggetti, ed in riga 708-723:
Codice: Seleziona tutto
if (player.ActiveInventory == iRamrod){
player.Say ("That doesn't need to be loaded.");
}
if (player.ActiveInventory == iBalloons){
player.Say ("I can't use a balloon with that.");
}
if (player.ActiveInventory == iGaff){
player.Say ("Scraping a hook on that would be pointless.");
}
if (player.ActiveInventory == iArm){
player.Say ("I can't use the skeleton arm with that.");
}
if (player.ActiveInventory == iCutless){
player.Say ("That doesn't need cutting.");
}
}
C16) Usa oggetti nell'inventario con "rottami"
Soluzione:
In Room4.asc
nella function oDebris_AnyClick() - subfunction (UsedAction(eGA_UseInv)) - i nuovi oggetti, ed in riga 224-235:
Codice: Seleziona tutto
if (player.ActiveInventory == iBalloons) {
player.Say ("I can't use a balloon with that.");
}
if (player.ActiveInventory == iPamphlets) {
player.Say ("This is only for reading.");
}
if (player.ActiveInventory == iRamrod) {
player.Say ("That will reach it, but it can't catch hold.");
}
if (player.ActiveInventory == iHook) {
player.Say ("The hook won't reach.");
}
C17) Usa oggetti nell'inventario (tranne lo scovolo) con teschio parlante
Soluzione:
In Globalscript.asc
nella function cMurry_AnyClick() - subfunction (UsedAction(eGA_UseInv)) - i nuovi oggetti, ed in riga 788-801:
Codice: Seleziona tutto
else if (player.ActiveInventory == iBalloons){
player.Say ("I don't think he'd like that.");
}
else if (player.ActiveInventory == iPamphlets){
player.Say ("No.");
}
else if (player.ActiveInventory == iHook){
player.Say ("I don't think he'd like that.");
}
else if (player.ActiveInventory == iCutless) {
player.Say ("No.");
Wait(5);
player.Say ("He would just use it for evil.");
}
else if (player.ActiveInventory == iArm) {
if (dMurry5count==0)
player.Say ("No.");
else if (dMurry5count==1) {
player.Say ("No.");
Wait(5);
player.Say ("He would just use it for evil.");
}
}
MENTRE
per avere le stesse frasi come nell'originale quando Brush dà il braccio a Murry,
allora creato il dialogo "dMurry5" (anche se è solo di frasi in sequenza, e non un vero e proprio dialogo)
e quindi
nella subfunction (UsedAction(eGA_UseInv)) (oltre al code per iCutless e iBalloons) messo il code per il dialogo di Murry , in riga 812-815:
Codice: Seleziona tutto
else if (ItemGiven == iArm){
if (dMurry5count==0) {
dMurry5.Start();
Wait(30);
dMurry5count=1;
}
else {
player.Say ("No.");
Wait(5);
player.Say ("He would just use it for evil.");
}
}
else Unhandled();
}
C18...C19 Frasi che non vengono dette in sequenza come nell'originale, o che mancano:
Codice: Seleziona tutto
At least take this literature
Prendi almeno questo materiale.
You may change your mind.
Potresti cambiare idea.
Here
Ecco.
mentre nell'originale la sequenza corretta è questa: (per cui "Ecco." viene detto all'inizio)
Codice: Seleziona tutto
Here
Ecco.
At least take this literature
Prendi almeno questo materiale.
You may change your mind.
Potresti cambiare idea.
In Dialog: dWally3 ora c'è Here prima delle altre frasi, ed in più la frase "prendi almeno questo materiale" messa proprio quando parte l'animazione del dargliela come originale, per cui ora è così:
Codice: Seleziona tutto
cWally.Say ("Here");
cWally.ChangeView (10);
cWally.Animate (1, 5,eOnce,eBlock,eForwards);
cWally.FaceDirection (eDir_Right);
cWally.SpeechView = 10;
cWally.Say ("At least take this literature");
cWally.Say ("You may change your mind.");
C19 ) nella Classic edition c'è questa sequenza di frasi:
Codice: Seleziona tutto
<Sob>
<Sob>
I'm just not a pirate!
Non sono un pirata!
Codice: Seleziona tutto
<Sob>
<Sob>
[b][color=#0000FF]You're right, Mr. Wood![/color][/b]
[b][color=#0000FF]Hai ragione, Sig. Wood![/color][/b]
I'm just not a pirate!
Non sono un pirata!
In Dialog:dWally5 ora c'è Wally: You're right, Mr. Wood! proprio al di sopra di ogni riga dove c'è la frase I'm just not a pirate!
fa sempre un'animazione strana
prima di eseguire l'azione chiesta (cioè prima si sposta di un frame giù, poi a sx, poi su, ed infine a dx dove poi compie l'azione ed esclama le frasi collegate all'azione chiesta).
Soluzione:
Bastava mettere anche nel code le stesse coordinate di posizione che stava nell'hotspot della porta chiusa e per cui
in Room3.asc
nella function hCannon_Room_Door_AnyClick() il code delle coordinate any_click_move è lo stesso dell'hotspot
Codice: Seleziona tutto
function hCannon_Room_Door_AnyClick(){
any_click_move (214, 126, eDir_Right);
C21 Frase modificate nel code di AGS (per essere uguali a quelle gioco o per errata trascrizione dovute a tutti quegli SPAZI lasciati nel code originale)
Corrette tutte anche nel .trs, poi
corretto "
C21.2) In Room0.asc:
PRIMA
Codice: Seleziona tutto
Intro.SetText (310, eFontFont1, 15, "Lost at sea for days now. I have no crew or navigational instruments.");
Intro.SetText (310, eFontFont1, 15, "No provisions except a half-eaten corn-dog and, unless I find water soon, I'm surely done for.");
Intro.SetText (310, eFontFont1, 15, "Only the hope of finding my love, Elaine, keeps me going.");
Intro.SetText (315, eFontFont1, 15, "My quest for the fabulous treasure called Big Whoop has left me in this sorry state.");
Intro.SetText (315, eFontFont1, 15, "Instead, it delivered me into the clutches of my enemy, the evil zombie-pirate Lechuck.");
Soluzione:
DOPO
Codice: Seleziona tutto
Intro.SetText (310, eFontFont1, 15, "Lost at sea for days now. I have no crew or navigational instruments.");
Intro.SetText (310, eFontFont1, 15, "No provisions except a half-eaten corn-dog and, unless I find water soon, I'm surely done for.");
Intro.SetText (310, eFontFont1, 15, "Only the hope of finding my love, Elaine, keeps me going.");
Intro.SetText (315, eFontFont1, 15, "My quest for the fabulous treasure called Big Whoop has left me in this sorry state.");
Intro.SetText (315, eFontFont1, 15, "Instead, it delivered me into the clutches of my enemy, the evil zombie-pirate Lechuck. I had thwarted his evil plot to marry Elaine and he was after revenge.");
C21.3)
Nei dialoghi in DWally5:
_You're a cartographer, not a pirate.
e poi sostituito il punto dialogo 10 così è pari all'originale gioco.
Codice: Seleziona tutto
@10
Wally: I am not!
Wally: I'm a vicious pirate.
Guybrush: You've got 'I luv maps' embroidered on your shirt.
Wally: That's a coincidence!
Wally: Now keep quiet before I fill you full of lead.
option-off-forever 10
option-off-forever 2
return
Soluzione:Giocherellone ha scritto: con "No digital sound" AGS mi dà una finestra di errore dove c'è scritto:
"An error has occurred. Please contact the game author for support, as this is likely to be a scripting error and not a bug in AGS.
in "room1.asc", line 14
Error: error running function 'roomAfterFadeIn':
Error: null pointer referenced
racchiuso il vecchio code del "seek" in un "IF null".
In room1.asc nella function room_AfterFadeIn() riga 14-16:
Codice: Seleziona tutto
if (Music1 != null) {
Music1.Seek(10700);
}
C23) Scrolling intro iniziale: durante l'animazione di Blood island (titolo "del gioco" nel fuoco) l'asta dell'elettricità dell'auto-da-lunapark di Guybrush mentre si allontanava all'orizzonte a volte scompariva e poi ricompariva.
Soluzione:
C24) CANNONNEGGIAMENTO A VOLONTA'
mancava proprio il code per poter Cannoneggiare dopo, ovviamente, aver affondato le scialuppe nemiche.
p.s.: l'animazione non è Totalmente fluida ma in vista del futuro progetto completo, ci si prepara ad arrembare nuove navi nemiche
Soluzione:
Codice: Seleziona tutto
if (CannonUse == 4){
//new code This code shows Guybrush firing the cannon
player.LockViewAligned (1, 0, eAlignRight);
player.Animate (16, 10, eOnce, eNoBlock);
oCannon.Animate (0, 1, 2, eNoBlock);
oRope.Animate (0, 1, 2, eNoBlock);
Wait(30);
player.UnlockView();
player.FaceDirection (eDir_Left);
}
guarda un po' Murray, stranamente, cosa chiede
Soluzione by Giocherellone:
Giocherellone ha scritto:Ahahahah... si, si... l'avevo visto! Occhio di lince! Grazie per la chicca, l'ho gradita molto!utdefault ha scritto:p.s.: chicca x Giocherellone
guarda un po': un errore di traduzione nel gioco 'original' !?!
anzichè farsi tirare su, vuol farsi tirare giù!
A presto!
chicca n°2
Trova nelle differenze la chicca più particolare: vediamo se indovini, eh?
Soluzione by Giocherellone:
utdefault ha scritto:Giocherellone ha scritto:utdefault ha scritto:Beh, la scusa non può essere infilzata... ... quindi prova ancoraL'UNCINO! L'UNCINO DI WALLY!!! In una schermata è rivolto a destra, nell'altra a sinistra!Giocherellone ha scritto:Povero me!
Non puoi chiedermi queste cose, al lunedì mattina poi!!!
Mumble, mumble... vediamo un po'...
- la corda in alto a sinistra?
- la piuma sul cappello di Wally?
- lo scovolo che sembra messo a rovescio?
Beh, ho sempre la scusa buona che sono svalvolato! AHAHAHAH!
Occhio di lince, eheheh
Già era proprio quella
Congrats