Unmantained Quest Quest Contatore kill/Quest kill 100 player

Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if game.get_event_flag("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                game.set_event_flag("player_kills", 0)
            end
        end

WTF??
 
L' importante non è che "funzionano" ma nella programmazione in generale è bene riuscire ad ottenere un programma che sia il più ordinato possibile e che non abbia codici inutili all' interno... Vi ricordo che i programmi sciupano comunque risorse e se ci sono cicli che vanno a vuoto bene non fa...

Verissimo però il problema in questo caso è un altro (sono molti però spiegherò solo quello che ho citato prima), gli event flag sono globali oltre che scomodi da utilizzare per questo genere di cose visto che se vengono effettuate 10 kill in 2 secondi ne vengono memorizzate solo 1-2, tralasciando questo ha utilizzato sia un qf(era sulla retta via..xD) che un event flag(qui si è perso) per contare le kill "singole" e "generali" per poi con un notice avvisare l'utenza che un player ha fatto 1000 kill, quando in realtà ha fatto semplicemente la 1000° kill. Per spiegarmi meglio ecco un esempio :

Sbagliato..
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if game.get_event_flag("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                game.set_event_flag("player_kills", 0)
            end
Pinco fa 970 kill, Pallino fa 29 kill. Passa spikelino fa una kill e.. ha ucciso ben MILLE giocatori!

Mentre se utilizziamo i qf (cosa già fatta ma messa li giusto per sfizio)
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if pc.getqf("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                pc.setqf("player_kills", 0)
            end

In questo modo vengono controllate solo le kill fatte dal giocatore singolo e viene annunciato quando raggiunge le 1000.

Ci sono anche altre cose però lo script è talmente vecchio che dubito fortemente che qualcuno lo utilizzerà xD
 
L' importante non è che "funzionano" ma nella programmazione in generale è bene riuscire ad ottenere un programma che sia il più ordinato possibile e che non abbia codici inutili all' interno... Vi ricordo che i programmi sciupano comunque risorse e se ci sono cicli che vanno a vuoto bene non fa...
 
  • Mi piace
Reazioni: ScriptSky

ScriptSky

Utente Emerald
3 Settembre 2012
472
144
121
385
Ultima modifica da un moderatore:
Salve inforge,

oggi sono fumato e sto continuando a postare i file presenti nel mio pc.. tra cui 2 quest a mio parere molto utili per Fun-PvP!:rulz:

Una quest è il contatore di kill nel guardiano in piazza di ogni villo mentre l'altra quest (100% modificabile) consiste nel dover killare 100 player dello stesso regno, di un certo livello (per esempio superiore al lv 90 ma inferiore a 100) in qualsiasi modo al fine di ottenere varie ricompense.. Un mio consiglio è quello di sdoppiare quest'ultima quest (modificando il nome ovviamente) cosi da far in modo di avere piu ricompense man mano che si fanno kill! :rockomg:

non ho screen a portata di mano comunque sia ecco il download: Quest by ScriptSky.rar :rulzz:

per implementarle basta metterle dentro locale/germany (oppure italy)/quest/ andare sulla macchina virtuale e scrivere il percorso per esempio: cd /usr/home/share/locale/germany/quest/
poi premere invio e successivamente scrivere: ./qc kill_score.quest
e premere un'altra volta invio, poi ripetere un'ultima volta l'operazione con la seconda quest ovviamente mettendo il suo nome.

Non postate in giro ste cose altrimenti tolgo download:D

I +1 sono ben accetti. :D

per tutti i miei download che reindirizzano sui post di inforge qui:
http://scriptsky.altervista.org/
 
Dentro possono essere fatte anche con la m***a, a te cosa ti cambia se è cosi' o tutto ordinato? -.- per funzionare funzionano..
 
Scherzi vero? Non è questione di ordine, guarda qua che c'è scritto asd:
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if game.get_event_flag("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                game.set_event_flag("player_kills", 0)
            end
        end

WTF??
 
Verissimo però il problema in questo caso è un altro (sono molti però spiegherò solo quello che ho citato prima), gli event flag sono globali oltre che scomodi da utilizzare per questo genere di cose visto che se vengono effettuate 10 kill in 2 secondi ne vengono memorizzate solo 1-2, tralasciando questo ha utilizzato sia un qf(era sulla retta via..xD) che un event flag(qui si è perso) per contare le kill "singole" e "generali" per poi con un notice avvisare l'utenza che un player ha fatto 1000 kill, quando in realtà ha fatto semplicemente la 1000° kill. Per spiegarmi meglio ecco un esempio :

Sbagliato..
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if game.get_event_flag("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                game.set_event_flag("player_kills", 0)
            end
Pinco fa 970 kill, Pallino fa 29 kill. Passa spikelino fa una kill e.. ha ucciso ben MILLE giocatori!

Mentre se utilizziamo i qf (cosa già fatta ma messa li giusto per sfizio)
PHP:
        when kill with npc.is_pc() begin
            pc.setqf("player_kills", pc.getqf("player_kills")+1)            
            game.set_event_flag("player_kills", game.get_event_flag("player_kills")+1)
            if pc.getqf("player_kills")>1000 then
                notice_all("Il giocatore "..pc.get_name().." ha ucciso ben MILLE giocatori!")
                pc.setqf("player_kills", 0)
            end

In questo modo vengono controllate solo le kill fatte dal giocatore singolo e viene annunciato quando raggiunge le 1000.

Ci sono anche altre cose però lo script è talmente vecchio che dubito fortemente che qualcuno lo utilizzerà xD
Esatto! a parte che nel metodo che ha utilizzato scricky sovraccarica il server di query >.<
 
Stato
Discussione chiusa ad ulteriori risposte.