Domanda Funzione lua

Stato
Discussione chiusa ad ulteriori risposte.

gianfro95x

Utente Emerald
4 Gennaio 2010
957
163
80
466
Potrei fare una cosa del genere in lua??

Codice:
function lol()
  when npc.is_pc.kill and pc.get_map_index == 215 begin
  for i= 1, 3 do
  if i == 1 then 
      chat("bla bla bla")
  elseif i == 2 then
       chat("bla bla")
   elseif i == 3 then
        chat("bla bla bla")
    end
   end
 end
end

Inviato dal mio GT-S5830i con Tapatalk 2
 
vorrei solo provare a creare una funzione da mettere nell'evento pvp, vorrei fare in modo che quando io uccido un player dentro la mappa per tre volte alla terza volta scriverà in chiama "pinco pallino ha passato il turno" dato che l'ho iniziata oggi è fatta un pò a cavolo, devo ancora finire di farla però volevo chiedere qui su inforge se si poteva fare una cosa del genere
 
per ripetere l'azione ogni volta che si uccide un player dato che è un torneo pvp,a me è venuta in mente questa opzione, se puoi illuminarmi te mi faresti un favore
 
Allora, ti ho fatto la quest che ogni tre uccisioni fa un notice in cui dice che "NomePlayer ha superato il turno"
Codice:
quest pvp_system begin    
    state start begin
        when kill with npc.is_pc()
            pc.setqf("kill", pc.getqf("kill") + 1)
            if pc.getqf("kill") == 3 then
                notice_all(pc.get_name().." ha superato il turno")
                pc.delqf("kill")
            end
        end
    end
end

Se invece vuoi solo la funzione allora e' questa, ma la funzione la devi inserire all'interno di un When
Codice:
function lol()    
    pc.setqf("kill", pc.getqf("kill") + 1)
    if pc.getqf("kill") == 3 then
        notice_all(pc.get_name().." ha superato il turno")
        pc.delqf("kill")
    end
end
 
Allora, ti ho fatto la quest che ogni tre uccisioni fa un notice in cui dice che "NomePlayer ha superato il turno"
Codice:
quest pvp_system begin    
    state start begin
        when kill with npc.is_pc()
            pc.setqf("kill", pc.getqf("kill") + 1)
            if pc.getqf("kill") == 3 then
                notice_all(pc.get_name().." ha superato il turno")
                pc.delqf("kill")
            end
        end
    end
end

Se invece vuoi solo la funzione allora e' questa, ma la funzione la devi inserire all'interno di un When
Codice:
function lol()    
    pc.setqf("kill", pc.getqf("kill") + 1)
    if pc.getqf("kill") == 3 then
        notice_all(pc.get_name().." ha superato il turno")
        pc.delqf("kill")
    end
end

Potresti spiegarmi meglio quel pc.setqf("kill", pc.getqf("kill") + 1) cosi da imparare e non sbagliare la prossima volta

Inviato dal mio GT-S5830i con Tapatalk 2
 
E' semplicemente un contatore. Scrivendo quello è come se scrivessi kill_attuali = kill_precedenti +1
pc.setqf(nome_del_qf,valore_del_qf) => setta il qf
pc.getqf(nome_del_qf) => Restituisce il valore del qf

Se uno fa pc.setqf("kill", pc.getqf("kill") + 1) vuol dire:
"Imposto il qf "kill" con come valore il qf "kill" precedente +1"

In questo modo ogni volta che si esegue il when il qf kill aumenta di 1
 
allora "pc.setqf" e' una funzione che memorizza un valore numerico in un flag salvato sul database, prende due valori. Il primo (in genere un testo) e' semplicemente il nome del flag, mentre il secondo e' il suo valore.
Io l'ho usata cosi'
pc.setqf("kill", pc.getqf("kill") + 1)

Come puoi vedere il nome del flag sara' "kill" mentre il suo valore e' pc.getqf("kill") + 1
pc.getqf("kill") serve ad ottenere il valore del flag kill mentre "+1" aggiunge semplicemente uno al vecchio valore
Praticamente ad ogni uccisione ("When kill") setta il flag "kill" uguale al vecchio valore di "kill" + 1
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom