Cerere modificare plugin buy_vip

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 0
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

29 Sep 2021, 16:27

Code: Select all

public client_putinserver ( iPlayer )
{
	if ( is_user_bot ( iPlayer ) || is_user_hltv ( iPlayer ) || get_user_flags ( iPlayer ) & read_flags ( VIP_FLAG ) )
		return;
		// just skip bots, hltv and already vip players.

	get_user_name ( iPlayer, g_szName [ iPlayer ], charsmax ( g_szName ) );
}
aici preiei numele doar daca este player real fara vip, valoarea stringului szname e inexistenta pe idul respectiv daca playerul are vip sau nu este un jucator, ce rost mai avea sa faci verificarea de flag daca puneai o valoare in string doar daca nu era vip/jucator ? puteai verifica doar daca szname are o dimensiune decat sa apelezi o nativa.

szname este un double array [33][36] (36 este lungimea maxima a numelui pe care un jucator poate sa o aiba), nu prea ai inteles cum functioneaza. cum sa nu faci switch la item ? in multe cazuri este necesar

Code: Select all

apelati native de foarte multe ori in loc sa ramaneti simpli si sa va folositi de logica
tocmai asta am incercat sa spun, sa nu mai apelezi o nativa si sa te folosesti de variabila respectiva :D
RoyalServer
ZackChoi
Membru, skill 0
Membru, skill 0
Posts: 0
Joined: 28 Dec 2019, 01:39
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Been thanked: 7 times

29 Sep 2021, 22:09

Nu cred ca m-ai inteles tu pe mine. Ce logica are sa returnez numarul de caractere din sirul szName?
32 este lungimea maxima a unui nume, adica
szName[id] = {0, ..., 31};

switch il folosesti cand chiar ai nevoie. aici mi se pare nefolositor, chiar daca ai avea un meniu cu mai multe iteme, cam tot la fel ar ramane, spre ex:

1. ak47
2. m4a1
3. awp

public handler(id,menu,item)
{
//menu exit stuff here

if(money < price[item]) return;

switch(item)
{
case 0: give_item(id, "weapon_ak47"), cs_set_user_bpammo(id,CSW_AK47,90)
// etc
}

cs_set_user_money(id, money - price[item]);
menu_destroy(menu);
}

asta ar fi un exemplu cand ai nevoie de switch. dar poti sa-l faci si fara de ex

give_item(id, weaponlist[item]);
cs_set_user_bpammo(id, CSW_LIST[item], CSW_BULLETS[item]);

si nu mai apelezi la switch.

Vreau sa te fac sa intelegi ca nu trebuie sa verifici in fiecare case daca are bani necesari etc.
Si tine minte

strlen(szName) = returneaza nr de caractere.
get_user_flags(id)&FLAG -> bool:true/false -> returneaza daca utilizatorul are flagul respectiv.
2 chestii diametral opuse.

Legat de 36, poftim, citeste aici: https://forums.alliedmods.net/showthread.php?t=304178
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 28 guests