Pagina 4 di 7 PrimaPrima 1234567 UltimaUltima
Risultati da 46 a 60 di 95
  1. #46
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Mmm non ci ho fatto caso grazie

    Comunque è per provare i vari metodi che sto provando per ora

    edit.

    Codice:
    ///////////////////
    //Script By Rikku//
    ///////////////////
    
    use uo;
    use polsys;
    
    program textcmd_all(who, text)
    
    var livello := GetCmdLevelNumber(who);
    
    if(livello > 1)
    
       Broadcast("[STAFF]" + who.name + " : " + text, font := _DEFAULT_TEXT_FONT, color := _DEFAULT_TEXT_COLOR);
       
    else
    
       Broadcast("[PLAYER]" + who.name + " : " + text, font := _DEFAULT_TEXT_FONT, color := _DEFAULT_TEXT_COLOR);
       
    endif
    endprogram
    Eccovi il codice completo

    ps. Dedicato a Libernaxe XD
    Ultima modifica di Athomico94; 16-01-2010 alle 15:18


    Kaos nel cuore

  2. #47

    Predefinito

    Si può fare di meglio :P

    Continua così.
    Scripter Xeon | Zulu Hotel Italia 7th Age




  3. #48
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Ho una domanda per gli esperti:

    Qual'è la funzione per far si che usa un oggetto?

    Trovata, è UseItem, però come viene usato nelle parenti? Tipo UseItem( item.bandage ?!?!?
    Ultima modifica di Athomico94; 16-01-2010 alle 15:38


    Kaos nel cuore

  4. #49
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    Citazione Originariamente Scritto da Athomico94 Visualizza Messaggio
    Ho una domanda per gli esperti:

    Qual'è la funzione per far si che usa un oggetto?

    Trovata, è UseItem, però come viene usato nelle parenti? Tipo UseItem( item.bandage ?!?!?
    Spiegati meglio. Vuoi far fare qualcosa in particolare ad un oggetto, oppure vuoi far attivare uno script usando un oggetto(ad esempio doppiocliccandolo)?

    Dukan of Delucia [Kaos] - Dweyn [CK]

  5. #50
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Vorrei un comando come quello del bandageself.

    Come posso far si che lui mi trova automaticamente l'oggetto che gli dico io e mi cura?


    Kaos nel cuore

  6. #51
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    Citazione Originariamente Scritto da Athomico94 Visualizza Messaggio
    Vorrei un comando come quello del bandageself.

    Come posso far si che lui mi trova automaticamente l'oggetto che gli dico io e mi cura?
    Allora potresti fare in questo modo:

    Codice:
    use uo;
    
    program textcmd_bandageself(who)
    
    foreach bende in EnumerateItemsInContainer(who.backpack)
      if(bende.objtype == OBJTYPE BENDE)
          //cura
      else
        SendSysMessage(who,"Non hai bende, scemo.");
      endif
    endforeach
    
    endprogram
    ovviamente è molto semplificato e ha pochi controlli, però per esercitarsi questa forma va più che bene. Unica cosa che devi trovare è l'objtype delle bende

    Dukan of Delucia [Kaos] - Dweyn [CK]

  7. #52
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Citazione Originariamente Scritto da Dunkan89 Visualizza Messaggio
    Allora potresti fare in questo modo:

    Codice:
    use uo;
    
    program textcmd_bandageself(who)
    
    foreach bende in EnumerateItemsInContainer(who.backpack)
      if(bende.objtype == OBJTYPE BENDE)
          //cura
      else
        SendSysMessage(who,"Non hai bende, scemo.");
      endif
    endforeach
    
    endprogram
    ovviamente è molto semplificato e ha pochi controlli, però per esercitarsi questa forma va più che bene. Unica cosa che devi trovare è l'objtype delle bende
    Ti chiedo scusa, ma cosi come fa dire al personaggio che deve utilizzare le bende su me ?


    Kaos nel cuore

  8. #53
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    Vabbè, visto che non è uno script molto semplice se hai iniziato ora a smanettare con il pol, te lo butto giù io al volo in una versione molto semplificata. Poi amplialo tu come vuoi .

    Codice:
    use uo;
    use util;
    use os;
    use vitals;
    
    include "include/client"; 
    
    program textcmd_bendageself(who)
    
    foreach item in EnumerateItemsInContainer(who.backpack)// questa funzione scorre tutti gli oggetti nel backpack. 
       if(item.objtype == OBJTYPE BENDE) // se trova delle bende
            Heal(who,item); // starta la funzione "HEAL" (non esiste, la creiamo noi). 
    
      else // se non ci sono bende mando un messaggio e termino lo script
        SendSysMessage(who,"Non hai bende manco sta volta, scemo de novo o_o'");
        return;
    
      endif
    endforeach
    
    endprogram
    
    function Heal(pg,benda) // dichiaro la mia funzione
    
    var healing := CInt(GetEffectiveSkill(pg, SKILLID_HEALING ) / 10 ); // divido l'healing del pg per 10. in questo modo ... 
    var healed := healing + RandomInt(50); // ... aggiungendo un valore random compreso tra 1 e 50, ho creato un algoritmo molto semplice per stabilire di quanto si curerà il pg.
    
    SendSysMessage(who, "You start to heal yourself.");
    sleep(3); // delay di cura. l'ho messo fisso per non impicciarti troppo le idee, in realtà sarebbe diverso e terrebbe conto di piu fattori, come ad esempio se il pg viene colpito ( "your fingers slip...")
    HealDamage(pg,healed); // curo i danni
    SubtractAmount(benda, 1); // tolgo le bende usate ( NON mi sono preoccupato di creare quelle insanguinate volutamente. ti distrarrebbe dal capire il resto).
    SendSysMessage(who, "You healed " + healed + " damage.");
    
    endfunction
    Chiaramente questo script è una versione mooooooolto semplificata del vero bandageself. Ma penso che per farti capire come funziona il tutto sia più che sufficente. Se hai qualche domanda chiedi pure ^_^

    p.s.: io ragiono con pol097, se non ti torna qualche funzione è probabilmente perchè usi una versione differente

    Dukan of Delucia [Kaos] - Dweyn [CK]

  9. #54

    Predefinito

    beh se le bende le ha gia' implementate ne puo' riciclare lo script :P
    si riduce a

    UseItem(FindObjtypeInContainer(who.backpack,%bende _pulite%),who);

    Disclaimer: No personal data collected.
    Accuracy: 100-150km on average :-ç
    Ti dice di dove SEI :P a volte canna di
    brutto - non raccoglie dati personali e la
    risposta è visibile solo al soggetto esaminato

  10. #55
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    anche, ma se vuole imparare a scriptare credo sia meglio si studi lo script per intero

    Dukan of Delucia [Kaos] - Dweyn [CK]

  11. #56
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Codice:
    use uo;
    use util;
    use os;
    use vitals;
    
    include "include/client";
    
    program textcmd_bendageself(who)
    
    foreach item in EnumerateItemsInContainer(who.backpack)// questa funzione scorre tutti gli oggetti nel backpack.
       if(item.objtype == /*OBJTYPE BENDE*/) // se trova delle bende
            Heal(who,item); // starta la funzione "HEAL" (non esiste, la creiamo noi).
    
      else // se non ci sono bende mando un messaggio e termino lo script
        SendSysMessage(who,"Non hai bende manco sta volta, scemo de novo o_o'");
        return;
    
      endif
    endforeach
    
    endprogram
    
    function Heal(/*pg,benda*/) // dichiaro la mia funzione
    
    var healing := CInt(GetEffectiveSkill(pg, SKILLID_HEALING ) / 10 ); // divido l'healing del pg per 10. in questo modo ...
    var healed := healing + RandomInt(50); // ... aggiungendo un valore random compreso tra 1 e 50, ho creato un algoritmo molto semplice per stabilire di quanto si curerà il pg.
    
    SendSysMessage(who, "You start to heal yourself.");
    sleep(3); // delay di cura. l'ho messo fisso per non impicciarti troppo le idee, in realtà sarebbe diverso e terrebbe conto di piu fattori, come ad esempio se il pg viene colpito ( "your fingers slip...")
    HealDamage(pg,healed); // curo i danni
    SubtractAmount(benda, 1); // tolgo le bende usate ( NON mi sono preoccupato di creare quelle insanguinate volutamente. ti distrarrebbe dal capire il resto).
    SendSysMessage(who, "You healed " + healed + " damage.");
    
    endfunction
    LE parti dove ho messo /* e */ non l'ho capita...

    Cioè l'OBJType la manca (dove lo posso trovare?)
    E nella funzione pg e benda posso metterli in italiano senza problemi?


    Kaos nel cuore

  12. #57
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    Allora l'objtype è un numero unico che indica un determinato tipo di oggetto. Cioè ad esempio, l'objtype 23, indicherà tutte le accette ( non è così, ho sparato a caso, è solo per farti capire :P). Ovviamente non sono numeri fissi, cambiano da server a server e sono definiti nei vari itemdesc.cfg. Per trovare quello delle bende prova a dare un occhiata all'itemdesc nella cartella di healing, si trova in pol/pkg e nelle sue eventuali sottocartelle.

    pg,benda -> sono PARAMETRI, ai quali puoi dare qualsiasi nome tu voglia, come per le variabili.

    chiamando la funzione Heal in questo modo: Heal(who,item) , passo alla funzione heal (da noi creata) il riferimento sia al pg che alle bende. Poi, quando definisco la funzione, scrivendo:

    function Heal(pg,bende) salvo nelle 'variabili' pg e bende i riferimenti al personaggio e alle bende... avrei potuto anche chiamarli in modo diverso ad esmepio

    function Heal(pippo, pluto): in questo caso nella 'variabile' pippo, verrà salvato who, mentre in pluto, item.

    Spero di essermi spiegato, se non ti è ancora chiaro chiedi pure

    Dukan of Delucia [Kaos] - Dweyn [CK]

  13. #58
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Ah ok apposto cosi

    Ora vedo per l'obj type

    Comunque avevi commesso un errore e l'ho fixato

    Codice:
    ///////////////////
    //Script By Rikku//
    ///////////////////
    
    use uo;
    use util;
    use os;
    use vitals;
    
    include "include/client";
    
    program textcmd_bendageself(who)
    
    foreach item in EnumerateItemsInContainer(who.backpack)// questa funzione scorre tutti gli oggetti nel backpack.
       if(item.objtype == 0x0e21) // se trova delle bende
            Heal(who,item); // starta la funzione "HEAL" (non esiste, la creiamo noi!)
    
      else // se non ci sono bende mando un messaggio e termino lo script
        SendSysMessage(who,"Non hai bende manco sta volta, scemo de novo o_o'");
        return;
    
      endif
    endforeach
    
    endprogram
    
    function Heal(pg,benda) // dichiaro la mia funzione
    
    var healing := CInt(GetEffectiveSkill(pg, SKILLID_HEALING ) / 10 ); // divido l'healing del pg per 10. in questo modo ...
    var healed := healing + RandomInt(50); // ... aggiungendo un valore random compreso tra 1 e 50, ho creato un algoritmo molto semplice per stabilire di quanto si curerà il pg.
    
    SendSysMessage(pg, "You start to heal yourself.");
    sleep(3); // delay di cura. l'ho messo fisso per non impicciarti troppo le idee, in realtà sarebbe diverso e terrebbe conto di piu fattori, come ad esempio se il pg viene colpito ( "your fingers slip...")
    HealDamage(pg,healed); // curo i danni
    SubtractAmount(benda, 1); // tolgo le bende usate ( NON mi sono preoccupato di creare quelle insanguinate volutamente. ti distrarrebbe dal capire il resto).
    SendSysMessage(pg, "You healed " + healed + " damage.");
    
    endfunction
    xD
    Ultima modifica di Athomico94; 17-01-2010 alle 17:05


    Kaos nel cuore

  14. #59
    Here We Roooock!
    L'avatar di Dunkan89
    Data Registrazione
    Dec 2007
    Località
    Roma
    Messaggi
    69

    Predefinito

    si, vero, è che sono abiutato ad usare sempre who :P. Cmq bene, significa che hai capito come funziona. Se serve altro a disposizione

    Dukan of Delucia [Kaos] - Dweyn [CK]

  15. #60
    Suddito dell'Omino Viola
    L'avatar di Athomico94
    Data Registrazione
    Mar 2009
    Località
    Sicilia, Messina
    Età
    24
    Messaggi
    616

    Predefinito

    Ma ora che ci penso, ma nella funzione creata da te posso lasciare who,item ??

    E un'altra cosa:

    Mandami il tuo MSN su PM che te devo chiedere una cosetta


    Kaos nel cuore

Pagina 4 di 7 PrimaPrima 1234567 UltimaUltima

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •