Pagina de start a forumului x-heroes.MyForum.ro


x-heroes.MyForum.ro
Site cu tutoriale, server de CS si multe altele..
Raspunde la subiect
Utilizarea comenzilor de tip "if" #1
black night
Moderator
Moderator

Data inscrierii: 08/Iun/2007
Mesaje: 268
Localitate: Pitesti
Raspunde cu citat (quote)
In acest Tutorial va fi explicata utilizarea comenzilor de tip "if" , in traducere "daca" . Dupa cum cred ca ati dedus deja , aceste comenzi vor specifica intr-un fel "cand" este executata o anumita comanda . Spre exemplu , cu ajutorul acestei comenzi putem seta un Plugin sa execute o comanda asupra unui Player NUMAI cand acesta este / nu este (Depinde de cum setam noi) in viata .
Pentru a folosi cele explicate mai jos , trebuie sa aveti deja cateva cunostinte despre scripting .


Intr-o comanda de gen "if" , vor fi utilizate in + si alte functii ale unor deosebite module . In acest Tutorial voi folosi ca exemple functii din "AmxMoDX Module" .
Sa incepem prin definirea modulelor folosite :

Code:
#include <amxmodx>


Acum , va trebui sa creem un public . Exemplu :

Code:
public screenshot(id){


Pe urmatoarea linie , apasam butonul "tab" (Pentru evitarea erorii "loose identitation") , dupa care adaugam :

Code:
if(is_user_alive(id)){


Asta inseamna ca , daca user-ul respectiv este in viata , va executa urmatoarele comenzi pe el . Ne ducem pe urmatorul rand si apasam inca de 2 ori tasta "tab" , dupa care putem adauga (Eu folosesc ca exemplu) :

Code:
client_cmd(id, "snapshot")


Server-ul va trebui sa primeasca inapoi o valoare . In cazul nostru , pe urmatoarea linie , dupa ce apasam inca de 2 ori butonul "tab" , vom adauga :

Code:
return PLUGIN_HANDLED


Acum , pentru a incheia "if"-ul , ne ducem pe urmatorul rand , apasam o data tasta "tab" , dupa care adaugam :

Code:
}


Mai departe , putem sa mai adaugam si alte texte in acest public , dar in cazul nostru nu vom mai continua , deci trecem pe urmatorul rand , si de aceasta data fara sa apasam "tab" , adaugam :

Code:
}


Pana acum , Plugin-ul ar trebui sa arate cam asa :

Code:
#include <amxmodx>

public snapshot(id){
if(is_user_alive(id)){
client_cmd(id, "snapshot")
}
}


Pentru a folosi întocmai "opusul" functiei folosite , adaugam "!" (Fara ghilimele) in fata acestuia . De exemplu :

Code:
if(!is_user_alive(id))


Va semnifica "daca Player-ul este mort" .

Mai departe , in Plugin , va trebui sa adaugam un plugin_init .

Exemplu :

Code:
public plugin_init()
{
register_plugin("Snapshot","0.1","Ultimate Empire")
register_concmd("amx_snapshot","snapshot",ADMIN_LEVEL_C,"It takes a snapshot to selected Player , ONLY if he is alive .")
}


Si iata ce am obtinut :

Code:
#include <amxmodx>


public snapshot(id){
if(is_user_alive(id)){
client_cmd(id, "snapshot")
}
}


public plugin_init()
{
register_plugin("Snapshot","0.1","Ultimate Empire")
register_concmd("amx_snapshot","snapshot",ADMIN_LEVEL_C,"It takes a snapshot to selected Player , ONLY if he is alive .")
}


Ce va face acest Plugin ? La executarea comenzii amx_snapshot <Player> , i se va face un Snapshot Player-ului specificat DOAR DACA ESTE IN VIATA (Daca traieste) . Adminul va trebui sa aiba litera "C" in acces pentru a avea acces la comanda .

Exemple de alte functii care ar putea fi folosite cu comanda "if" (Din amxmodx module) :

is_user_connected => Executa comanda daca user-ul respectiv este conectat .
is_user_connecting => Executa comanda daca user-ul se conecteaza .
is_user_bot => Executa comanda daca player-ul specificat este un bot .

Pentru mai multe functii vizitati ACEST SITE (In engleza) => Contine functii pentru toate modulele default folosite de amxmodx .

Aceasta este doar prima parte , cea mai usoara . Voi reveni cu inca un Tutorial in care voi explica mai multe , folosirea comenzilor "else" , "else if" si altele !
Pana atunci , sper ca v-a fost de ajutor ce v-am explicat in acest Tutorial !
Daca aveti intrebari , astept reply-uri .



Black Night :closedeyes:

_________________
Nu armele sunt periculoase ci gloantele
Vezi profilul utilizatoruluiTrimite mesaj privat
noganoga
Recrut
Recrut

Data inscrierii: 10/Iul/2012
Mesaje: 5
Localitate: Israel
Raspunde cu citat (quote)
This is simply amazing!
Vezi profilul utilizatoruluiTrimite mesaj privat
noganoga
Recrut
Recrut

Data inscrierii: 10/Iul/2012
Mesaje: 5
Localitate: Israel
Raspunde cu citat (quote)
This post is for real smart people! Thanks.
Vezi profilul utilizatoruluiTrimite mesaj privat
noganoga
Recrut
Recrut

Data inscrierii: 10/Iul/2012
Mesaje: 5
Localitate: Israel
Raspunde cu citat (quote)
This is awesome!
Vezi profilul utilizatoruluiTrimite mesaj privat
Folosirea comenzilor de tip "if" #1
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Raspunde la subiect