Nvidia.Forumz.Ro

Bun Venit Pe Forumul Nostru.
 
AcasaAcasa  GalerieGalerie  Ultimele imaginiUltimele imagini  CăutareCăutare  ÎnregistrareÎnregistrare  ConectareConectare  ServereServere  

Logheazate, acum !Bine ati venit pe Site-ul Tau,pentru a putea vedea intreg continutul de pe acest forum, v-a trebui sa va creati un cont.Inregistreaza-te gratuit, acum !

Distribuiţi
 

 [ Tutorial ] User Team - Amxx

Vezi subiectul anterior Vezi subiectul urmator In jos 
AutorMesaj
Kent
Kent
Fondatori
Fondatori

Detinator Server Cs : Da
Cunostinte Cs : Excelente
Detinator Steam : Da
Mesaje : 250
Puncte : 658
Reputatie : 2
Data de inscriere : 26/10/2011
Varsta : 28
Localizare : Craiova

[ Tutorial ] User Team - Amxx Empty
MesajSubiect: [ Tutorial ] User Team - Amxx   [ Tutorial ] User Team - Amxx EmptySam Iul 14, 2012 9:49 am

User Team Tutorial [AMXMODX ONLY]

Pentru inceput tind sa va zic ca tutorialul acesta este format 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.

#include <amxmodx>

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

#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.

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

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


si ambele se executa de fiecare data publicul "first" la inceperea fiecarei runde,
dar eu mam obisnuit cu primul fel Razz

Dupa ce am terminat si cu inclusul si cu public_init mergem la primul 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:

public first(id)
{
static players[32], inum, i; /*declararea variabilelor ce vor fi folosite 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

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

#include <fun>



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 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*/
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 culoarea 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 culoare 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:

#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 Smile)

#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 Probleme | Pentru informatii sunt aici...
Sus In jos
https://nvidia.forumgratuit.ro
 

[ Tutorial ] User Team - Amxx

Vezi subiectul anterior Vezi subiectul urmator Sus 
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Nvidia.Forumz.Ro :: Resurse Counter-Strike :: Resurse Counter-Strike-
Social Media Buttons