Missione a Tempo

Script per una missione a tempo

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Apprendista

    Group
    Princeps
    Posts
    182
    Reputation
    +11

    Status
    Offline
    Ciao ragazzi! Scusate se vi disturbo, ma vorrei sapere come si imposta una sequenza per cui se non fai una determinata missione entro il tempo stabilito succede qualcosa. Nel mio caso volevo fare che se il Giocatore non uccide tutti i guerrieri di un gruppo entro tot tempo succede una determinata cosa; se invece riesce a ucciderli entro il tempo stabilito non succede niente e il tempo si annulla. Inoltre vorrei che si veda lo scorrere del tempo a schermo, tipo countdown. Come posso fare?
     
    .
  2.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    2,161
    Reputation
    +155
    Location
    Sardegna

    Status
    Anonymous
    1) Scrivi il nome del gruppo di guerrieri;
    2) Scrivi cosa succede nel caso in cui scada il tempo;
     
    .
  3.     +1   -1
     
    .
    Avatar

    Apprendista

    Group
    Princeps
    Posts
    182
    Reputation
    +11

    Status
    Offline
    Ok. Potreste scrivermi il codice di questa cosa?
     
    .
  4.     +2   +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    2,161
    Reputation
    +155
    Location
    Sardegna

    Status
    Anonymous
    Rispondi prima alle domande che ti ho fatto, perché il codice potrebbe essere scritto in modo diverso e/o pił semplice a seconda dei casi.
     
    .
  5.     +1   -1
     
    .
    Avatar

    Apprendista

    Group
    Princeps
    Posts
    182
    Reputation
    +11

    Status
    Offline
    Il nome del gruppo dei guerrieri č "guardiemercato". Se il Giocatore non riesce ad uccidere il gruppo entro il tempo stabilito succede questo: RunConv("gc"); SpawnGroup("guardiacittadina"); guardiacittadina.SetCommand("attack",hero1.obj); In pratica parte la conversazione "gc", il gruppo invisibile "guardiacittadina" spowna e attacca l'eroe. Se il Giocatore riesce ad uccidere tutti i guerrieri del gruppo "guardiemercato" non succede niente e il tempo si annulla.
     
    .
  6.     +3   +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    2,161
    Reputation
    +155
    Location
    Sardegna

    Status
    Anonymous
    Al netto di eventuali errori di distrazione o di battitura, il codice della sequenza dovrebbe essere il seguente:

    CODICE
    int timer, hours, mins, secs, remainder;
    str val1,val2,val3;

    timer=778; //Cambia questo valore (in secondi) nel numero desiderato (funziona anche in ore nel caso di lunghi incontri)

    while(timer>0){                
           hours=timer/3600;
           remainder=timer-(hours*3600);
           mins=remainder/60;
           remainder=remainder-(mins*60);
           secs=remainder;
           
           //CONVERSIONE DEI VALORI NUMERICI IN STRINGHE CORRETTE
           //---Ore---
           if(hours<10){
                   val1="0"+hours;
           }
           else{
                   val1=hours;
           }
           //---Minuti---
           if(mins<10){
                   val2="0"+mins;
           }
           else{
                   val2=mins;
           }
           //---Secondi---
           if(secs<10){
                   val3="0"+secs;
           }
           else{
                   val3=secs;
           }

           ShowAnnouncement("KillingTime", Translate("Tempo rimasto - "+val1+":"+val2+":"+val3));
           if(guardiemercato.count<=0){
                   HideAnnouncement("KillingTime");
                   break;
           }
           timer=timer-1;
           Sleep(1000);
    }
    if(guardiemercato.count>0){
           RunConv("gc");
           SpawnGroup("guardiacittadina").SetCommand("attack",hero1.obj);
    }


    Edited by TheMaster0017 - 7/6/2018, 02:41
     
    .
  7.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Nobili
    Posts
    2,504
    Reputation
    +136
    Location
    Salamanca

    Status
    Offline
    Gracias, Maestro, siempre viene bien una secuencia de cuenta atrįs thumbsup
     
    .
  8.     +1   -1
     
    .
    Avatar

    Apprendista

    Group
    Princeps
    Posts
    182
    Reputation
    +11

    Status
    Offline
    Mi dą errore alla riga dei //---Minuti---, dove c'č scritto mins="0"+mins; Mi dice Infix operator=can not be applied
     
    .
  9. 19supreme
        +1   -1
     
    .

    User deleted


    Per forza non puoi assegnare a un int un tipi string.
     
    .
  10.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    2,161
    Reputation
    +155
    Location
    Sardegna

    Status
    Anonymous
    Ops, errore di distrazione (come avevo scritto su). Ora ho corretto e dovrebbe andare bene.
     
    .
  11.     +1   -1
     
    .
    Avatar

    Apprendista

    Group
    Princeps
    Posts
    182
    Reputation
    +11

    Status
    Offline
    Perfetto 👍 Grazie mille!
     
    .
  12.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    2,161
    Reputation
    +155
    Location
    Sardegna

    Status
    Anonymous
    Funziona?
     
    .
  13. 19supreme
        +1   -1
     
    .

    User deleted


    CITAZIONE (TheMaster0017 @ 7/6/2018, 21:50) 
    Funziona?

    Tanto sappiamo benissimo entrambi che alla fine crasherą.

    Tranquillo Pavanello, non ho visto niente di pericoloso in quel codice
     
    .
12 replies since 3/6/2018, 18:15   126 views
  Share  
.