lAsuStarl
15-11-2015, 12:21 PM
Salutare tuturor,acesta este al 16-lea WarGods Tutorial,iar astazi vom creea inca un plugin,cu toate cunostiintele acumulate in prezent,aceast plugin are rolul,de a instinta un jucator,ce numar de runda este,utilizand o simpla comanda,sa incepem.
1)Codul va arata cam asa:
#include <amxmodx>
new Round
public plugin_init()
{
register_plugin("Show Round","0.1","WarGods Tutorial")
register_logevent("round_start", 2, "1=Round_Start")
register_clcmd("say /theround","cmd_round")
register_clcmd("say_team /theround","cmd_round")
}
public round_start()
{
Round++
}
public cmd_round(id)
{
client_print(id,print_chat,"Numarul rundei este %d",Round)
}
2)Tot ce am facut este sa intregistrez o variabila goala,adica o variabila cu valoarea 0,deoarece daca eu nu folosesc,spre exemplu new Round = 3 ,variabilei Round,i se atribuie valoarea 3,iar daca eu nu-i dau o valoarea,ea automat este 0.
3)Am intregistrat un eveniment,acela fiind inceputul undei runde,functia este default din biblioteca amxmodx
register_logevent(parametru,2,parametru)
,functia are 2 parametri,primul este publicul vostru,numele care doriti sa-l puneti,iar al 2-lea parametru este ce tip de runda sa fie:
1)Incepera unei runde
2)Sfarsitul unei runde
4)Pentru inregistrearea unui eveniment de sfarsit de runda codul este urmatorul:
register_logevent( "Publicul vostru", 2, "1=Round_End" )
1=Round_End -> Semnifica sfarsitul undei runde.
1=Round_Start -> Semnifica inceputul undei runde.
5)A-ti vazut in cod,ca la publicul round_start,nu exista niciun id = index,deoarece cand este id,adica jucator,se executa la fiecare jucator in parte,ei bine la functia de inceput de runda,trebuie executat o functie,spre exemplu modificarea vietii,la toti odata,nu doar la unul,o sa vedeti mai incolo,cum se face aceasta treaba.
6)In acel public a-ti vazut Round++,acel ++ langa o variabila se numeste incrementare,incrementarea este ca,de fiecare data cand se executa o functie,in care exista o variabila la fel ca si aici,ea automat isi mareste valoarea.
Traducere:
- De fiecare data cand va incepe o runda noua,variabila Round va primi cu 1 in +,mai pe scurt,intram pe server,si a inceput runda,ok variabila are valoarea 1,resectiv rounda 1,apoi iar incepe dinou o runda noua,variabila iar primeste un 1,si va veni 1+1 = 2,respectiv runda 2,si tot asa pana cand se va schimba mapa,iar apoi variabila redevine 0.
Acesta a fost al 16-lea WarGods Tutorial,in cazul in care am omis ceva,sau daca nu a-ti inteles,puteti da replay linistiti,pana data viitoare numai bine :P.
1)Codul va arata cam asa:
#include <amxmodx>
new Round
public plugin_init()
{
register_plugin("Show Round","0.1","WarGods Tutorial")
register_logevent("round_start", 2, "1=Round_Start")
register_clcmd("say /theround","cmd_round")
register_clcmd("say_team /theround","cmd_round")
}
public round_start()
{
Round++
}
public cmd_round(id)
{
client_print(id,print_chat,"Numarul rundei este %d",Round)
}
2)Tot ce am facut este sa intregistrez o variabila goala,adica o variabila cu valoarea 0,deoarece daca eu nu folosesc,spre exemplu new Round = 3 ,variabilei Round,i se atribuie valoarea 3,iar daca eu nu-i dau o valoarea,ea automat este 0.
3)Am intregistrat un eveniment,acela fiind inceputul undei runde,functia este default din biblioteca amxmodx
register_logevent(parametru,2,parametru)
,functia are 2 parametri,primul este publicul vostru,numele care doriti sa-l puneti,iar al 2-lea parametru este ce tip de runda sa fie:
1)Incepera unei runde
2)Sfarsitul unei runde
4)Pentru inregistrearea unui eveniment de sfarsit de runda codul este urmatorul:
register_logevent( "Publicul vostru", 2, "1=Round_End" )
1=Round_End -> Semnifica sfarsitul undei runde.
1=Round_Start -> Semnifica inceputul undei runde.
5)A-ti vazut in cod,ca la publicul round_start,nu exista niciun id = index,deoarece cand este id,adica jucator,se executa la fiecare jucator in parte,ei bine la functia de inceput de runda,trebuie executat o functie,spre exemplu modificarea vietii,la toti odata,nu doar la unul,o sa vedeti mai incolo,cum se face aceasta treaba.
6)In acel public a-ti vazut Round++,acel ++ langa o variabila se numeste incrementare,incrementarea este ca,de fiecare data cand se executa o functie,in care exista o variabila la fel ca si aici,ea automat isi mareste valoarea.
Traducere:
- De fiecare data cand va incepe o runda noua,variabila Round va primi cu 1 in +,mai pe scurt,intram pe server,si a inceput runda,ok variabila are valoarea 1,resectiv rounda 1,apoi iar incepe dinou o runda noua,variabila iar primeste un 1,si va veni 1+1 = 2,respectiv runda 2,si tot asa pana cand se va schimba mapa,iar apoi variabila redevine 0.
Acesta a fost al 16-lea WarGods Tutorial,in cazul in care am omis ceva,sau daca nu a-ti inteles,puteti da replay linistiti,pana data viitoare numai bine :P.