Intrebare Scripting bool

Categoria unde puteti cere pentru tutoriale.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
-FireLodeR-
Membru, skill +1
Membru, skill +1
Posts: 156
Joined: 03 Sep 2012, 12:37
Detinator Steam: Da
SteamID: nor47
Has thanked: 10 times
Been thanked: 3 times
Contact:

03 Apr 2015, 14:21

Salut. Vreau sa stiu cum pot folosi corect acel "bool" am vazut in multe plugine chestii de genul: new bool: Airl[33]; sau new bool: exemplu[33]; etc. deci.. care e treaba cu el?
RoyalServer
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

03 Apr 2015, 14:47

bool-ul are doar 2 valori (true/false).
Hai sa-ti arat un mic exemplu ca sa intelegi:

Code: Select all

#include amxmodx
#include amxmisc

// declaram un bool cu 33 pozitii
new bool:ex_bool[33];

public register_plugin()
{
	// inregistram pluginul
	register_plugin("Test BOOL", "1.0, "YONTU");

	// avem nevoie de un public pentru a testa boolul
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawnPost", 1);
}

// cand jucatorul se conecteaza verificam daca este admin
// in caz contrar, nu se intampla nimic
// daca jucatorul care s-a conectat este admin, setam booleanul pe true.
public client_putinserver(id)
{
	if(is_user_admin(id))
		ex_bool[id] = true;

	// to do
}

// publicul suport undeva testam bolul
// am ales la spawn
public fw_PlayerSpawnPost(id)
{
	// verificam daca jucatorul este in viata, in caz contrar, oprim functia
	if(!is_user_alive(id))
		return HAM_IGNORED;

	// mai sus, am verificat daca jucatorul este admin si setam booleanul pe true (la client_putinserver);
	// acum verificam daca booleanul este pe true
	if(ex_bool[id])
		client_print(id, print_center, "Esti admin!");	// daca booleanul este pe true, afisam un mesaj pe centru cu : "Esti Admin!"
	else
		client_print(id, print_center, "Nu esti admin!");	// daca booleanul este pe false (adica jucatorul nu este admin), afisam un mesaj pe centru cu : "Nu esti Admin!"

	return HAM_IGNORED;
}
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

05 Apr 2015, 20:35

Yontu, daca tu declari un bool cu 33 de pozitii esti tare. Ma rog, stiu ce ai vrut sa zici, dar exprimarea lasa de dorit. Tu declari un array care are 33 de pozitii, fiecare celula a arrayului care este de tip int a primit tagul bool, astfel accepta valori logice: true(1) si false(0).

Code: Select all

new bool:ceva
Bool-urile sunt folosite pentru a determina si controla anumite actiuni ale pluginului. De exemplu, cand un player cumpara itemul x din shop vei seta un bool pe true, astfel stii ca a cumparat. Dupa il setezi pe false cand pierde itemul, astfel stii ca nu il mai are.

Se declara ca array cu 33 de pozitii cand vrei sa il folosesti pentru playeri. Indexul playerilor este de la 1 la 32, indexarea in array incepe de la 0 la max size -1, deci merge pana la 32. Astfel, celulele 1 - 32 o sa fie ocupate cu indexul playerilor, celula 0 ramane nefolosita pentru ca cel mai mic index este 1.

Practic tu ai:

Code: Select all

new bool:ceva[33]
ceva[0]
ceva[1]
ceva[2]
ceva[3]
ceva[4]
........
ceva[32]
Cand faci ceva[id] = true/false vei seta valoarea in slotul corespunzator indexului. Daca indexul e 5, atunci ceva[5] devine true/false.
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest