Hun3Doara.3XForum.Ro
Forumul Hunedoarei
Lista Forumurilor Pe Tematici
Hun3Doara.3XForum.Ro | Inregistrare | Login

POZE HUN3DOARA.3XFORUM.RO

Nu sunteti logat.
Nou pe simpatie:
alexxandra Profile
Femeie
24 ani
Timis
cauta Barbat
26 - 59 ani
Hun3Doara.3XForum.Ro / Tutoriale / Tutorial - Kick jucatorilor la conectare [AMXX] Moderat de s1nK
Autor
Mesaj Pagini: 1
s1nK
Moderator

Inregistrat: acum 19 ani
Postari: 112
Ei bine sa zicem ca vrei ca atunci cand intra un jucator pe server cu numele "empty" sa primeasca kick . Iti voi explica mai departe cum se face
Deci trebuie sa citesti ce ti-am zis mai sus .
Sper ca ai inteleg ca actiunile asupra unui jucator care se conecteaza pe server se face intr-un public cu numele de public client_connect
Deci pana acuma ai asa:

Code:

public client_connect(id)

Sa nu uiti acoladele la inceput si sfarsit . Ai asa:

Code:

public client_connect(id)
{
}

Ei bine acuma problema este cui trebuie sa executi actiunea . Trebuie sa declari o variabila .
Asta se face asa :

Code:

new name[32]

Acuma : new este o functie de amxmodx pe care nu trebuie sa-ti dau explicatie la ce foloseste
name este numele variabilei . in [] am pus 32, asta inseamna ca "name" poate sa inregistreze 32 de nume diferite
Mai departe trebuie sa citesti numele jucatorului . Uite cum

Code:

get_user_name(index,numele variabilei,31 )

index reprezinta basically cui sa faci actiunea ; sus la public ai pus intre paranteze id deci va fi index inlocuit cu id
numele variabile : mai sus ai pus new name, deci numele variabilei va fi inlocuit cu name si apoi vine 31
Totul arata asa:

Code:

get_user_name(id,name,31)

Tot code-ul pana acuma arata asa

Code:

public client_connect(id)
{
  new name[32]
  get_user_name(id,name,31)
}

Mai departe trebuie sa punem o conditie, daca numele jucatorului care se conecteaza este "empty" acesta trebuie sa primeasca kick
Si punem asa :

Code:

if(equal(name, "empty"))

if = daca
equal = egal cu
In paranteza am pus name, Player ; ei bine mai sus am citit numele jucatorului prin get_user_name si variabila a fost name deci acum in conditie trebuie sa citeasca ce am declarat
empty reprezinta numele interzis
Mai departe trebuie sa punem in plugin ce sa se intample cu cel care are numele empty cand se conecteaza
Trebuie sa adaugam o functie pe care sa o executa serverul
Cred ca stiti foarte bine ca daca aveti un server prin new game fara moduri, ca sa dati kick la un jucator folosesti kick name sau #userid
Ei bine este mai simplu sa folosim acuma userid
Pe serverul normal foloseai intai in consola : users si apoi vedeai ce userid avea fisiecare si foloseai kick #15 de ex
Ei bine la noi in plugin trebuie sa facem acelasi lucru
Ca sa primeasca kick cum am mai zis trebuie ca serverul sa faca asa
Si se face asa:

Code:

server_cmd("comanda si cui sa o faca")

Desigur trebuie sa adaugi in plugin sa citeasca si userid ; no sa mai adaug un new userid si mai departe ; o sa simplific lucrurile

Code:

server_cmd("kick #%d" , get_user_userid(id))

server_cmd stiti ce face ca tocmai v-am spus
kick stiti
# reprezinta codul pentru userid ; stiti voi ca la server normal :kick #15 . Tocmai v-am spus mai sus
Ei bine ce este cu acel "%s" ?
%s reprezinta un fel de index, este o prescurtare pentru ceva care ai declarat in plugin
deci comanda se executa intre "" si apoi am pus , get_user_userid(id)
get_user_userid reprezinta cui sa ii citeasca userid-u si (id) reprezinta indexu dintre paranteze de la public
Pana Acuma aveti asa:

Code:

public client_connect(id)
{
     new name[32]
     get_user_name(id,name,31)
     
     if(equal(name, "empty"))
          server_cmd("kick #%d" , get_user_userid(id))

Ami departe trebuie sa adagam si un return ca pluginul sa poata face actiunea cum trebuie
In cazul nostrum avem nevoie de un return PLUGIN_CONTINUE
si o sa arate asa:

Code:

public client_connect(id)
{
     new name[32]
     get_user_name(id,name,31)
     
     if(equal(name, "empty"))
          server_cmd("kick #%d" , get_user_userid(id))
     
     return PLUGIN_CONTINUE
}

Cam atat, acum cand cineva intra pe server cu numele "empty" va primi kick
Sper sa va ajute...cam complicat dar merita


_______________________________________
aGen.GamesNet.Ro
xG.Cstrik3.Ro

pus acum 19 ani
   
Pagini: 1  

Mergi la