Duelli di spada ad insulti

devo crearli

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    Aspirante Re dei Pirati

    Group
    WJ Radiofeccia
    Posts
    4,304
    Location
    Dantooine. Accademia Jedi

    Status
    Offline
    ho creato i frame e adesso se si muovono cotemporaneamente sembra ke combattano. il problema e ke devono farlo in base alla risposta alle domande.
    aiutatemi

    Edited by DJ_Jedi - 15/3/2006, 17:42
     
    .
  2.  
    .
    Avatar

    .

    Group
    Administrator
    Posts
    5,648

    Status
    Offline
    Non è una cosa semplicissima, mi prendo un po' di tempo per rispondere
     
    .
  3.  
    .
    Avatar

    Aspirante Re dei Pirati

    Group
    WJ Radiofeccia
    Posts
    4,304
    Location
    Dantooine. Accademia Jedi

    Status
    Offline
    ok gigi prenditi anke 5 giorni
    SPOILER (click to view)
    ovviamente sto skerzando
     
    .
  4. Matioski
     
    .

    User deleted


    CITAZIONE
    mi prendo un po' di tempo per rispondere

    Ehm, Nonno, sei molto anziano, oramai...cerca di non aspettare troppo!
     
    .
  5.  
    .
    Avatar

    .

    Group
    Administrator
    Posts
    5,648

    Status
    Offline
    Ci ho guardato, ma per fare una cosa fatta bene serve un po' di tempo, sopratutto x quanto concerne l'IA dell'avversario
     
    .
  6.  
    .
    Avatar

    Flame of Revenge

    Group
    Member
    Posts
    6,898
    Location
    Katane

    Status
    Offline
    eh, infatti come is fa a settare la difficoltà del Computer?
    E' una domanda ke mi sono sempre posto e a ke non ho trovato risposta

    Mig e Voodoo pero lo hanno fatto in TGF

    Ma in tgf , nel tool è molto pius emplice fare il calcolo delle probabilità , ke in Ags non è tanto semplice
     
    .
  7. Matioski
     
    .

    User deleted


    Osi forse insinuare che AGS non sia superiore?
     
    .
  8.  
    .
    Avatar

    .

    Group
    Administrator
    Posts
    5,648

    Status
    Offline
    Il duello è pronto ed il risultato è alquanto sorprendente. Visto l'orario rimando tutta la spiegazione a domani o al limite, visto che non è un' operazione del tutto semplice, preparerò un bel template. Intanto gustatevi i risultati scaricabili da QUI (tasto destro/salva oggetto con nome)

    ps: ho creato il tutto con sole 5 domande e 5 risposte ma la cosa, naturalmente, è ampliabile a piacimento.
    Combatterete contro 2 pirati; il primo alquando sempliciotto, il secondo ben più duro (questo per mostrare l'IA degli avversari ed il loro grado di difficoltà.
    I frame del duello sono stati rippati da DJ_Jedi

    Edited by gigi77 - 21/3/2006, 23:11
     
    .
  9.  
    .
    Avatar

    Aspirante Re dei Pirati

    Group
    WJ Radiofeccia
    Posts
    4,304
    Location
    Dantooine. Accademia Jedi

    Status
    Offline
    grazie gigi apetto la spiegazione
     
    .
  10. Matioski
     
    .

    User deleted


    CITAZIONE
    Visto l'orario

    Cosa ci facevi ancora in piedi a quell'ora, Nonno? Una persona anziana come te dovrebbe riposare!
     
    .
  11.  
    .
    Avatar

    .

    Group
    Administrator
    Posts
    5,648

    Status
    Offline
    E' risaputo che sono un nottambulo cool.gif
    Nemmeno stasera ho avuto tempo, conto di farlo domani
     
    .
  12.  
    .
    Avatar

    .

    Group
    Administrator
    Posts
    5,648

    Status
    Offline
    Eccomi qui.
    In ags è possibile fare determinate cose in tantissimi modi, ognuno usa la tecnica a lui più congeniale. Per creare questo duello ad insulti simile a quello presente in Monkey Island, ho dovuto usare diversi espedienti, sopratutto per assegnare all'avversario un grado di IA, che gli andremo ad impostare. Lo script è un po' lungo ma il risultato è eccellente.

    Posto qui di seguito tutto lo script (da inserire in "Repeatedly execute") per poi passare alle dovute spiegazioni:
    CODICE
    //////////1°//////////
    //////////1°//////////
    //////////1°//////////

    if((GetGlobalInt(DUELLO) == 1)  && (round1 < 3) && (round2 < 3)){
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova += 1;
    round1 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova += 1;
    round1 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }




    if ((prova == 7) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    int ran1=Random(4);

    if (ran1==0) {
    RunDialog(1);
    }

    if (ran1==1) {
    RunDialog(2);
    }

    if (ran1==2) {
    RunDialog(3);
    }

    if (ran1==3) {
    RunDialog(4);
    }

    if (ran1==4) {
    RunDialog(5);
    }
    }



    if ((prova == 5) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    int ran2=Random(4);

    if (ran2==0) {
    RunDialog(1);
    }

    if (ran2==1) {
    RunDialog(2);
    }

    if (ran2==2) {
    RunDialog(3);
    }

    if (ran2==3) {
    RunDialog(4);
    }

    if (ran2==4) {
    RunDialog(5);
    }
    }



    if ((prova == 4) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    int ran3=Random(4);

    if (ran3==0) {
    RunDialog(1);
    }

    if (ran3==1) {
    RunDialog(2);
    }

    if (ran3==2) {
    RunDialog(3);
    }

    if (ran3==3) {
    RunDialog(4);
    }

    if (ran3==4) {
    RunDialog(5);
    }
    }



    if ((prova == 3) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);

    int ran4=Random(4);

    if (ran4==0) {
    RunDialog(1);
    }

    if (ran4==1) {
    RunDialog(2);
    }

    if (ran4==2) {
    RunDialog(3);
    }

    if (ran4==3) {
    RunDialog(4);
    }

    if (ran4==4) {
    RunDialog(5);
    }
    }



    if ((prova == 2) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    int ran5=Random(4);

    if (ran5==0) {
    RunDialog(1);
    }

    if (ran5==1) {
    RunDialog(2);
    }

    if (ran5==2) {
    RunDialog(3);
    }

    if (ran5==3) {
    RunDialog(4);
    }

    if (ran5==4) {
    RunDialog(5);
    }
    }


    if ((prova == 1) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);
    }
    }





    //////////2°//////////
    //////////2°//////////
    //////////2°//////////

    if ((GetGlobalInt(DUELLO) == 2)  && (round1 < 3) && (round2 < 3)){
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova += 1;
    round1 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova += 1;
    round1 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }




    if ((prova == 7)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    int ran1=Random(4);

    if (ran1==0) {
    RunDialog(1);
    }

    if (ran1==1) {
    RunDialog(2);
    }

    if (ran1==2) {
    RunDialog(3);
    }

    if (ran1==3) {
    RunDialog(4);
    }

    if (ran1==4) {
    RunDialog(5);
    }
    }



    if ((prova == 5)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    int ran2=Random(4);

    if (ran2==0) {
    RunDialog(1);
    }

    if (ran2==1) {
    RunDialog(2);
    }

    if (ran2==2) {
    RunDialog(3);
    }

    if (ran2==3) {
    RunDialog(4);
    }

    if (ran2==4) {
    RunDialog(5);
    }
    }



    if ((prova == 4)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    int ran3=Random(4);

    if (ran3==0) {
    RunDialog(1);
    }

    if (ran3==1) {
    RunDialog(2);
    }

    if (ran3==2) {
    RunDialog(3);
    }

    if (ran3==3) {
    RunDialog(4);
    }

    if (ran3==4) {
    RunDialog(5);
    }
    }



    if ((prova == 3)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);

    int ran4=Random(4);

    if (ran4==0) {
    RunDialog(1);
    }

    if (ran4==1) {
    RunDialog(2);
    }

    if (ran4==2) {
    RunDialog(3);
    }

    if (ran4==3) {
    RunDialog(4);
    }

    if (ran4==4) {
    RunDialog(5);
    }
    }



    if ((prova == 2)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    int ran5=Random(4);

    if (ran5==0) {
    RunDialog(1);
    }

    if (ran5==1) {
    RunDialog(2);
    }

    if (ran5==2) {
    RunDialog(3);
    }

    if (ran5==3) {
    RunDialog(4);
    }

    if (ran5==4) {
    RunDialog(5);
    }
    }

    if ((prova == 1)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }

    //////////3°//////////
    //////////3°//////////
    //////////3°//////////

    if ((GetGlobalInt(DUELLO) == 3) && (round1 < 3) && (round2 < 3)) {
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova += 1;
    round1 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova += 1;
    round1 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }




    if ((prova == 7)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    int ran1=Random(4);

    if (ran1==0) {
    RunDialog(1);
    }

    if (ran1==1) {
    RunDialog(2);
    }

    if (ran1==2) {
    RunDialog(3);
    }

    if (ran1==3) {
    RunDialog(4);
    }

    if (ran1==4) {
    RunDialog(5);
    }
    }



    if ((prova == 5)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    int ran2=Random(4);

    if (ran2==0) {
    RunDialog(1);
    }

    if (ran2==1) {
    RunDialog(2);
    }

    if (ran2==2) {
    RunDialog(3);
    }

    if (ran2==3) {
    RunDialog(4);
    }

    if (ran2==4) {
    RunDialog(5);
    }
    }



    if ((prova == 4)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    int ran3=Random(4);

    if (ran3==0) {
    RunDialog(1);
    }

    if (ran3==1) {
    RunDialog(2);
    }

    if (ran3==2) {
    RunDialog(3);
    }

    if (ran3==3) {
    RunDialog(4);
    }

    if (ran3==4) {
    RunDialog(5);
    }
    }



    if ((prova == 3)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);

    int ran4=Random(4);

    if (ran4==0) {
    RunDialog(1);
    }

    if (ran4==1) {
    RunDialog(2);
    }

    if (ran4==2) {
    RunDialog(3);
    }

    if (ran4==3) {
    RunDialog(4);
    }

    if (ran4==4) {
    RunDialog(5);
    }
    }



    if ((prova == 2)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    int ran5=Random(4);

    if (ran5==0) {
    RunDialog(1);
    }

    if (ran5==1) {
    RunDialog(2);
    }

    if (ran5==2) {
    RunDialog(3);
    }

    if (ran5==3) {
    RunDialog(4);
    }

    if (ran5==4) {
    RunDialog(5);
    }
    }

    if ((prova == 1)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }


    //////////4°//////////
    //////////4°//////////
    //////////4°//////////

    if ((GetGlobalInt(DUELLO) == 4) && (round1 < 3) && (round2 < 3)) {
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova += 1;
    round1 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova += 1;
    round1 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova += 1;
    round1 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova -= 1;
    round2 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }




    if ((prova == 7)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    int ran1=Random(4);

    if (ran1==0) {
    RunDialog(1);
    }

    if (ran1==1) {
    RunDialog(2);
    }

    if (ran1==2) {
    RunDialog(3);
    }

    if (ran1==3) {
    RunDialog(4);
    }

    if (ran1==4) {
    RunDialog(5);
    }
    }



    if ((prova == 5)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    int ran2=Random(4);

    if (ran2==0) {
    RunDialog(1);
    }

    if (ran2==1) {
    RunDialog(2);
    }

    if (ran2==2) {
    RunDialog(3);
    }

    if (ran2==3) {
    RunDialog(4);
    }

    if (ran2==4) {
    RunDialog(5);
    }
    }



    if ((prova == 4)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    int ran3=Random(4);

    if (ran3==0) {
    RunDialog(1);
    }

    if (ran3==1) {
    RunDialog(2);
    }

    if (ran3==2) {
    RunDialog(3);
    }

    if (ran3==3) {
    RunDialog(4);
    }

    if (ran3==4) {
    RunDialog(5);
    }
    }



    if ((prova == 3)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);

    int ran4=Random(4);

    if (ran4==0) {
    RunDialog(1);
    }

    if (ran4==1) {
    RunDialog(2);
    }

    if (ran4==2) {
    RunDialog(3);
    }

    if (ran4==3) {
    RunDialog(4);
    }

    if (ran4==4) {
    RunDialog(5);
    }
    }



    if ((prova == 2)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    int ran5=Random(4);

    if (ran5==0) {
    RunDialog(1);
    }

    if (ran5==1) {
    RunDialog(2);
    }

    if (ran5==2) {
    RunDialog(3);
    }

    if (ran5==3) {
    RunDialog(4);
    }

    if (ran5==4) {
    RunDialog(5);
    }
    }

    if ((prova == 1)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }


    //////////5°//////////
    //////////5°//////////
    //////////5°//////////

    if ((GetGlobalInt(DUELLO) == 5) && (round1 < 3) && (round2 < 3)) {
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova += 1;
    round1 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova += 1;
    round1 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova += 1;
    round1 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova -= 1;
    round2 +=1;
    }




    if ((prova == 7)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    int ran1=Random(4);

    if (ran1==0) {
    RunDialog(1);
    }

    if (ran1==1) {
    RunDialog(2);
    }

    if (ran1==2) {
    RunDialog(3);
    }

    if (ran1==3) {
    RunDialog(4);
    }

    if (ran1==4) {
    RunDialog(5);
    }
    }



    if ((prova == 5)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    int ran2=Random(4);

    if (ran2==0) {
    RunDialog(1);
    }

    if (ran2==1) {
    RunDialog(2);
    }

    if (ran2==2) {
    RunDialog(3);
    }

    if (ran2==3) {
    RunDialog(4);
    }

    if (ran2==4) {
    RunDialog(5);
    }
    }



    if ((prova == 4)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    int ran3=Random(4);

    if (ran3==0) {
    RunDialog(1);
    }

    if (ran3==1) {
    RunDialog(2);
    }

    if (ran3==2) {
    RunDialog(3);
    }

    if (ran3==3) {
    RunDialog(4);
    }

    if (ran3==4) {
    RunDialog(5);
    }
    }



    if ((prova == 3)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);

    int ran4=Random(4);

    if (ran4==0) {
    RunDialog(1);
    }

    if (ran4==1) {
    RunDialog(2);
    }

    if (ran4==2) {
    RunDialog(3);
    }

    if (ran4==3) {
    RunDialog(4);
    }

    if (ran4==4) {
    RunDialog(5);
    }
    }



    if ((prova == 2)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    int ran5=Random(4);

    if (ran5==0) {
    RunDialog(1);
    }

    if (ran5==1) {
    RunDialog(2);
    }

    if (ran5==2) {
    RunDialog(3);
    }

    if (ran5==3) {
    RunDialog(4);
    }

    if (ran5==4) {
    RunDialog(5);
    }
    }

    if ((prova == 1)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }

























    if ((GetGlobalInt(DUELLO) == 6) && (round1 < 3) && (round2 < 3)) {
    prova += 1;
    round1 +=1;
     
    if ((prova == 7) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 5) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 4) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 3) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 2) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    RunDialog(0);
    }

    if ((prova == 1) && (round1 < 3) && (round2 < 3)) {
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }









    if ((GetGlobalInt(DUELLO) == 7) && (round1 < 3) && (round2 < 3)) {
    prova -= 1;
    round2 +=1;

    if ((prova == 7)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(90);
    }


    if ((prova == 6)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 5)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 4)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,120,137);
    MoveCharacterPath(AAA,180,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 3)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(90);
    RunDialog(0);
    }


    if ((prova == 2)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(90);
    RunDialog(0);
    }

    if ((prova == 1)  && (round1 < 3) && (round2 < 3)){
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(90);

    }
    }









    if (round1 == 3)  {

    if (prova == 7) {  
    MoveCharacterPath(EGO,180,137);
    MoveCharacterPath(AAA,240,137);
    Wait(70);
    DisplaySpeech(AAA,"Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }


    if (prova == 6) {
    MoveCharacterPath(EGO,160,137);
    MoveCharacterPath(AAA,220,137);
    Wait(70);
    DisplaySpeech(AAA,"Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }


    if (prova == 5) {
    MoveCharacterPath(EGO,140,137);
    MoveCharacterPath(AAA,200,137);
    Wait(70);
    DisplaySpeech(AAA,"Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }
    }




    if (round2 == 3) {

    if (prova == 3) {
    MoveCharacterPath(EGO,100,137);
    MoveCharacterPath(AAA,160,137);
    Wait(70);
    Display("Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }


    if (prova == 2) {
    MoveCharacterPath(EGO,80,137);
    MoveCharacterPath(AAA,140,137);
    Wait(70);
    Display("Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }

    if (prova == 1) {
    MoveCharacterPath(EGO,60,137);
    MoveCharacterPath(AAA,120,137);
    Wait(70);
    Display("Mi arrendo, hai vinto tu");
    Wait(60);
    QuitGame(0);
    }
    }


    Innanzitutto dobbiamo dichiarare 3 variabili:
    La prima ci servirà per spostare i duellanti durante il combattimento.
    La seconda assegnerà il nostro punteggio.
    La terza assegnerà il punteggio dell'avversario.
    Le 3 variabili le ho chiamate rispettivamente "prova = 4" - "round1" - "round2"

    Assegneremo anche una variabile globale che ci servirà per le domande e risposte cusuali dell'avversario e la chiameremo "DUELLO"

    In questo caso faremo un duello con 5 domande a disposizione e le 5 relative risposte, sia da parte nostra che dell'avversario.
    Dobbiamo creare, quindi, 6 topic dialoghi diversi:
    topic "0" = Le nostre 5 domande disponibili
    topic "1" = Prima domanda dell'avversario e le nostre 5 risposte disponibili
    topic "2" = Prima domanda dell'avversario e le nostre 5 risposte disponibili
    topic "3" = Prima domanda dell'avversario e le nostre 5 risposte disponibili
    topic "4" = Prima domanda dell'avversario e le nostre 5 risposte disponibili
    topic "5" = Prima domanda dell'avversario e le nostre 5 risposte disponibili

    Faremo partire il gioco con il topic "0" (saremo noi ad attaccare per primi) quindi in "first time player enter screen" scriveremo:
    CODICE
    RunDialog(0);

    Il gioco inizierà con i 5 insulti da scegliere:
    1) Combatti come un contadini.
    2) Presto sentirai la mia spada
    3) Una volta avevo un cane più intelligente di te.
    4) La gente cade ai miei piedi quando mi vede arrivare.
    5) Ho sentito dire che sei uno spregevole codardo.
    Lo script del topic "0" sarà in questo modo:
    CODICE
    // dialog script file

    @S  // dialog startup entry point
    return


    @1  // option 1
    set-globalint 0 1
    stop

    @2  // option 2
    set-globalint 0 2
    stop

    @3  // option 3
    set-globalint 0 3
    stop

    @4  // option 4
    set-globalint 0 4
    stop

    @5  // option 5
    set-globalint 0 5
    stop


    In questo modo, qualsiasi sia la nostra domanda, si assegna un valore alla variabile globale. Ognuna di essa contiene il comando Random, quindi l'avversario darà una risposta a caso delle 5 disponibili. E' in questo pezzo di script, in pratica, che decidiamo la forza del pirata: (questo script partirebbe se gli scegliamo il primo insulto)
    CODICE
    if((GetGlobalInt(DUELLO) == 1)  && (round1 < 3) && (round2 < 3)){
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Prima dovresti smettere di agitarla come un piumino.");
    prova += 1;
    round1 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Ti avra' insegnato tutto quello che sai.");
    prova += 1;
    round1 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }

    Più risposte esatte gli assegnamo e più sarà alta la probabilità che verremo fregati quindi se vogliamo un avversario più forte lo script diventerebbe:
    CODICE
    if((GetGlobalInt(DUELLO) == 1)  && (round1 < 3) && (round2 < 3)){
    int ran=Random(4);

    if (ran==0) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==1) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==2) {
    DisplaySpeech(AAA,"Molto appropriato. Combatti come una mucca.");
    prova -= 1;
    round2 +=1;
    }

    if (ran==3) {
    DisplaySpeech(AAA,"Ancor prima che ti sentano l'alito?");
    prova += 1;
    round1 +=1;
    }

    if (ran==4) {
    DisplaySpeech(AAA,"Che peccato che nessuno abbia mai sentito parlare di te");
    prova += 1;
    round1 +=1;
    }


    Se abbiamo vinto il primo round, la variabile "prova" aumenta di un valore e salirebbe a 5 e la variabile "round1" salirebbe ad 1, in caso contrario la variabile "prova" scenderebbe a 3 e la variabile "round2 salirebbe ad 1.
    A questo punto, sempre tramite il comando "Random", parte una delle 5 domande dell'avversario.
    Posto qui di seguito lo script del primo dei cinque topic dialog dell'avversario:
    topic 1 (create 5 option scrivendo una risposta che potremmo dare per ognuno))
    CODICE
    // dialog script file

    @S  // dialog startup entry point
    AAA: Combatti come un contadino
    return

    @1  // option 1
    set-globalint 0 6
    stop

    @2  // option 2
    set-globalint 0 7
    stop

    @3  // option 3
    set-globalint 0 7
    stop

    @4  // option 4
    set-globalint 0 7
    stop

    @5  // option 5
    set-globalint 0 7
    stop

    Vi assegnerete la vittoria del round assegnando valore 6 alla variabile globale (vedi script iniziale) e 7 per la sconfitta

    Quando round1 raggiungerà 3, avrete vinto il duello;
    Quando round2 raggiungerà 3, avrete perso il duello;




    So che può risultare troppo complesso, ma sono disponibile a rispondere alle vostre domande in merito!

     
    .
  13.  
    .
    Avatar

    Aspirante Re dei Pirati

    Group
    WJ Radiofeccia
    Posts
    4,304
    Location
    Dantooine. Accademia Jedi

    Status
    Offline
    bene gigi sei un mito
     
    .
  14. Matioski
     
    .

    User deleted


    ohmy.gif
    Sono orgoglioso di lavorare per quest'uomo...
     
    .
  15.  
    .
    Avatar

    Aspirante Re dei Pirati

    Group
    WJ Radiofeccia
    Posts
    4,304
    Location
    Dantooine. Accademia Jedi

    Status
    Offline
    stranamente a me da un errore, posterò in seguito ke errore.
    gigi mandami la tua ags pleaz
     
    .
29 replies since 15/3/2006, 17:33   985 views
  Share  
.