PDA

View Full Version : [WarGods Tutorials Nr.6] Setarea baniilor



lAsuStarl
24-10-2015, 12:07 PM
Salutare,acesta este al 6-lea WarGods Tutorial,si astazi vom discuta despre o functie a bibioteci cstrike.Sa incepem

1)Pentru utilizarea acestei functi,avem nevoie sa includem biblioteca cstrike,iar functia arata cam asa:

cs_set_user_money(parametru,parametru)


2)Primul parametru al acestei functi,este "La cine sa-i seteze",iar al 2-lea este "Cat sa-i seteze"

3)Codul meu va fi urmatorul,daca un jucator scrie o comanda aleasa de mine,acestuia sa i se seteze
5000$,iar codul arata cam asa

#include <amxmodx>
#include <cstrike>

#define PLUGIN "Money on command"
#define VERSION "0.1"
#define AUTHOR "AsuStar"

public plugin_init()
{
register_clcmd("say /bani","Functie")
}

public Functie(id)
{
cs_set_user_money(id,5000)
client_print(id,print_chat,"Banii tai au fost setati in 5.000$")
}


4)Alaturi de aceasta functie,am adaugat un mic mesaj,care da o noanta de culoarea,tot odata va-ti pus intrebarea "Cum fac scrisul colorat ?",daca doriti sa-l faceti va fi nevoie doar sa dati copy and paste in plugin,fara sa intelegi ce scrie acolo deoarece nu detineti inca aceste cunostiinte,asa am facut si eu la inceput,iar daca doriti puteti face si voi la fel:

stock ColorChat( const id, const input[ ], any:... )
{
new count = 1, players[ 32 ]

static msg[ 191 ]
vformat( msg, 190, input, 3 )

replace_all( msg, 190, "!v", "^4" ) //- verde
replace_all( msg, 190, "!g", "^1" ) //- galben
replace_all( msg, 190, "!e", "^3" ) //- echipa
replace_all( msg, 190, "!n", "^0" ) //- normal

if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
{
for( new i = 0; i < count; i++ )
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
write_byte( players[ i ] );
write_string( msg );
message_end( );
}
}
}
}


5)Acesta functie este de tip stock,acest stock eu il pot numi "tip retinere",el memoreaza o anumita functie,iar in cazul in care il compilati daca acea functie nu am folosit-o,nu va da erori de compilare.Este o functie de depozitare a unei functi,iar cand ai nevoie de ea,o utilizezi,si stock-urile de obicei,ce-i care isi creeaza propiile plugin-uri folosesc stock-urile.Daca nu am explicat bine,lasa-ti un post.

6)Acest stock are 4 elemente:

!v - Mesajul va fi verde
!e - Mesajul va fi colorat in functie de echipa ta
!n - Mesajul va fi de culoare normala (fie galben,sau alb)
,in cazul in care doriti sa utilizati stock-ul acesta are 2 parametri,fata de functia default:

ColorChat(parametru,parametru)

Primul parametru este "La cine sa scrie colorat?",iar al 2-lea este "Mesajul care sa fie colorat"

7)Exemple de folosire a acestui stock:

ColorChat(id,"!vSalut !nacesta este un mesaj !ecolorat")

-In cazul in care aveti intrebarea "Va reda in chat si semnele !v,!n ?",raspunsul este nu,doar ce a-ti scris voi va fi redat in chat,fara acele simboluri.

8)Acum ca putem colora un mesaj codul nostru va arata cam asa:

#include <amxmodx>
#include <cstrike>

#define PLUGIN "Money on command"
#define VERSION "0.1"
#define AUTHOR "AsuStar"

public plugin_init()
{
register_clcmd("say /bani","Functie")
}

public Functie(id)
{
cs_set_user_money(id,5000)
ColorChat(id,,"Banii tai au fost setati in !v5.000$")
}

stock ColorChat( const id, const input[ ], any:... )
{
new count = 1, players[ 32 ]

static msg[ 191 ]
vformat( msg, 190, input, 3 )

replace_all( msg, 190, "!v", "^4" ) //- verde
replace_all( msg, 190, "!g", "^1" ) //- galben
replace_all( msg, 190, "!e", "^3" ) //- echipa
replace_all( msg, 190, "!n", "^0" ) //- normal

if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
{
for( new i = 0; i < count; i++ )
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
write_byte( players[ i ] );
write_string( msg );
message_end( );
}
}
}
}


-Mesajul va fi de genu "Banii tai au fost setati in 5.000$"

Acesta a fost al 6-lea WarGods Tutorial,in cazul in care am omis ceva sau nu a-ti inteles,va rog postati,ne vom vedea la urmatorul tutorial,pana atunci bafta tuturor :P.