Pagina de start a forumului www.TheCsForce.Tk www.TheCsForce.Tk
Neam mutat www.TheCsForce.RO
 
 FAQFAQ   CautareCautare   MembriMembri   GrupuriGrupuri   InregistrareInregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

User Team Tutorial [AMXMODX ONLY]

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului www.TheCsForce.Tk -> Plugins
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
CsForce-Mas[T]er
Admin
CsForce-Mas[T]er

Data inscrierii: 18/Apr/2008
Mesaje: 214
Localitate: Timisoara

MesajTrimis: 08/08/2008 12:46    Titlul subiectului: User Team Tutorial [AMXMODX ONLY] Raspunde cu citat (quote)

User Team Tutorial [AMXMODX ONLY]

Pentru inceput tind sa va zic ca tutorialul acesta este compus din 2 mari categorii:

cs_get_user_team
cs_set_user_team


Diferenta dintre cele 2 este ca una afla in ce echipa este un player si a doua transfera jucatorul la o echipa.

1. cs_get_user_team

Vom incepe cu declararea unor include-uri.


CODE
#include <amxmodx>

comenzile de baza la amxmodx.fara aceasta nu putem face nimic.


CODE
#include <cstrike>

folosit la comenzi precum cs_get_user_team/cs_set_user_team/cs_get_user_armor etc , definit doar pentru ca folosim o comanda din el.


CODE
public plugin_init()
{
register_plugin("Nume Plugin","1.0","Autor")
register_event("ResetHUD","first","be")
}


Al doilea rand (register_event("ResetHUD","first_pub","be")) este tot una cu


CODE
register_event("HLTV", "first", "a", "1=0", "2=0")


si cele două se executa de fiecare data publicul "first" la inceperea fiecarei runde,
dar eu mam obisnuit cu inițialul fel :P

Dupa ce am terminat si cu inclusul si cu public_init mergem la debutantul public si anume public first(id)

Aici vom introduce un loop(for / while care trece prin toate ident-urile playerilor , luand pe fiecare in parte) luand ca numar maxim, numarul de jucatori de pe server.Dupa aia vom face un test sa vedem daca playerul a ramas pe server pana s-a ajuns la el cu for-ul.
Dupa aia
Deci o sa arate cam asa:


CODE
public first(id)
{
static players[32], inum, i; /*declararea variabilelor ce vor fi utilizate ca altfel da eroare la compilare*/
get_players(players,inum) /*uam nr maxim de playeri*/
for( i = 0; i < inum; i++) /*loop-ul propriuzis*/
{
if(!is_user_connected(players[i])) /*daca playerul nu este conectat (a iesit intre timp) */
return PLUGIN_HANDLED; /*sa nu se faca nimic*/
}


Eu m-am hotarat sa fac playerii sa aiba un invelis colorat dupa echipe
Adica daca eu sunt CT sa fie in jurul meu un invelis albastru , daca sunt T sa fie rosu.

Odata ce am decis ce vreau sa fac imi dau seama ca comanda pentru a face un player sa fie 'colorat' este

CODE
set_user_rendering(id_jucator,mod,culoare_rosie,culoare_verde,culoare_albastra,stralucire_norma
la,factor);
set_user_rendering(players[i],kRenderFxGlowShell,255,0,0,kRenderNormal,25);

si imi mai dau seama ca la inceput cand am facut include-urile nu stiam ca am sa folosesc si o comanda din fun.inc asa ca revin sus si trec linia

CODE
#include <fun>




CODE
public first(id)
{
static players[32], inum, i; /*declararea variabilelor ce vor fi folosite ca altfel da eroare la compilare*/
get_players(players,inum) /*luam nr mare de playeri*/
for( i = 0; i < inum; i++) /*loop-ul propriuzis*/
{
if(!is_user_connected(players[i])) /*daca playerul nu este conectat (a iesit intre timp) */
return PLUGIN_HANDLED; /*sa nu se faca nimic*/
if(cs_get_user_team(players[i]) == CS_TEAM_T) /*daca playerul se afla la Terro atunci
{
set_user_rendering(players[i],kRenderFxGlowShell,255,0,0,kRenderNormal,25); /*sa aiba un invelis de colorit ros*/
}
if(cs_get_user_team(players[i]) == CS_TEAM_CT) /*daca playerul se afla la Couter-Terro atunci*/
{
set_user_rendering(players[i],kRenderFxGlowShell,0,0,255,kRenderNormal,25); /*sa aiba un invelis de tentă albastra*/
}
}

return PLUGIN_CONTINUE; /*se anunta sfarsitul publicului*/
}


cs_get_user_team(ident) - poate sa 'aduca' 4 valori:

CS_TEAM_T => playerul este la terro
CS_TEAM_CT => playerul este la ct
CS_TEAM_SPECTATOR => playerul este spectator
CS_TEAM_UNASSIGNED => playerul este la meniul unde isi selecteaza echipa cand se conecteaza



Deci la final arata asa:

CODE
#include <amxmodx>
#include <cstrike>
#include <fun>

public plugin_init()
{
register_plugin("Team Glowing","1.0","Hack")
register_event("ResetHUD","first","be")
}

public first(id)
{
static players[32], inum, i;
get_players(players,inum)
for( i = 0; i < inum; i++)
{
if(!is_user_connected(players[i]))
return PLUGIN_HANDLED;
if(cs_get_user_team(players[i]) == CS_TEAM_T)
{
set_user_rendering(players[i],kRenderFxGlowShell,255,0,0,kRenderNormal,25);
}
if(cs_get_user_team(players[i]) == CS_TEAM_CT)
{
set_user_rendering(players[i],kRenderFxGlowShell,0,0,255,kRenderNormal,25);
}
}

return PLUGIN_CONTINUE;
}



2. cs_set_user_team
Pune jucatorul intr-o echipa.
Vom folosi tot codul de mai sus dar nu ii vom face sa straluceasca ci terro se amesteca in baza ct si invers deci cine trage primu bine castiga :-))

CODE
#include <amxmodx>
#include <cstrike>

new variabila = 0;

public plugin_init()
{
register_plugin("Team Switching","1.0","Hack")
register_event("ResetHUD","first","be")
}

public first(id)
{
if(variabila == 5)
{
static players[32], inum, i;
get_players(players,inum)
for( i = 0; i < inum; i++)
{
new ok
ok = 0
if(!is_user_connected(players[i]))
return PLUGIN_HANDLED;
if(cs_get_user_team(players[i]) == CS_TEAM_T)
{
cs_set_user_team(players[i],CS_TEAM_CT)
ok = 1
}
if(cs_get_user_team(players[i]) == CS_TEAM_CT && ok != 1)
{
cs_set_user_team(players[i],CS_TEAM_T)
}
ok = 0
}
}
else
{
variabila++;
}
return PLUGIN_CONTINUE;
}


Sper sa fie folositor.Pentru Complicații | Pentru informatii sunt aici...
_________________
The CsForce Clan Romania
[url=http://www.gametracker.com/server_info/89.122.212.155:27015/]User Team Tutorial [AMXMODX ONLY] User Team Tutorial [AMXMODX ONLY][/url]
[url=http://www.thecsforce.tk.]User Team Tutorial [AMXMODX ONLY] User Team Tutorial [AMXMODX ONLY][/url]
Ce am avut da nu am stiut sa pretuiesc, dar akum sufar :closedeyes: :-(
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului www.TheCsForce.Tk -> Plugins Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
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


Powered by phpBB © 2001, 2005 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro