Jump to content

Bine ai venit pe Deathrow
Deathrow Romania este o comunitate gaming dedicata jocului CSGO. Reprezentand comunitatea prin servere cu diverse moduri precum DMFFA, DMFFA + HS Only, Retake si Surf. Deathrow Romania inca este in plina dezvoltare, mereu vom crea servere pentru membrii nostrii.
Inregistreaza-te acum pentru a detine acces deplin pe forum. O data inregistrat vei putea crea topicuri, sa raspunzi in topicuri, sa folosesti mesageria privata si multe altele. Acest mesaj va disparea dupa autentificarea in noul cont creat.
Autentifica-te Inregistreaza-te
Photo

[CS16-Scripting] Booleanuri


  • Please log in to reply
4 replies to this topic

#1
Andrei;

Andrei;

    Administrator

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag

Boolurile sunt variabile de tip logic, care pot avea doar 2 valori: adevarat sau fals. 

new bool: bTest
  • new indica ca vom face o noua variabila
  • bool este tipul acesteia
  • bTest este numele boolului
  • asa cum orice variabila este 0 in momentul declararii, boolurile sunt false in acel moment.
new bool: bTest = true
  • este identica cu declaratia de mai sus
  • singura diferenta este ca boolul pleaca de la valoarea true, nu false.

Pentru a verifica valoarea unui bool:

if( bTest == true )
{
  //fa ceva
}

if ( bTest )
{
    //fa ceva
}

Ambele moduri sunt echivalente. Modul II verifica daca boolul nu are o valoare nula( 0, false ). Pentru a verifica daca boolul nu este true:

if( bTest == false )
{
  //fa ceva
}

if( !bTest )
{
  //fa ceva
}

Un mic exemplu pentru a intelege cum putem utiliza un boolean:

#include < amxmodx >

new bool: g_bTest //declaram un nou bool

public plugin_init ( )
{
    register_clcmd("say /test", "ClCmdTest") //inregistram o comanda
}

public ClCmdTest ( id )
{
    if( g_bTest )//verificam daca e true
    {
        client_print(id, print_chat, "Ai folosit deja comanda" )
        return 1;//oprim functia
    }
    //daca ajungem aici, nu a folosit deja comanda
    client_print(id, print_chat, "Nu ai folosit deja comanda" )
    g_bTest = true//setam boolul pe true, astfel stim ca a folosit deja comanda
}

Puteti sa resetati boolul intr-un anumit moment si atunci comanda devine din nou utilizabila.


Edited by Artick ;, 31 July 2014 - 10:55 AM.

  • LuciaNnX likes this

#2
Razvan-

Razvan-

    Banned

  • Banned
  • 858 posts
  • 95 topics
  • Joined 09-June 13
  • Country: Country Flag
Acesa este un plugin care ne arata cand nu am folosit comanda nu ?

#3
Andrei;

Andrei;

    Administrator

  • Topic Starter

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag

Acesa este un plugin care ne arata cand nu am folosit comanda nu ?

Scriu in chat /test si o sa imi zica ca nu am folosit comanda. Mai scriu odata /test, o sa spuna ca am folosit-o si o sa opreasca functia. Boolul se poate reseta de exemplu in CBasePlayer_Spawn( Ham_Spawn)/ logevent_new_round/hltv event, sau in orice alt moment vrei voi.


Edited by Artick ;, 31 July 2014 - 10:56 AM.


#4
Razvan-

Razvan-

    Banned

  • Banned
  • 858 posts
  • 95 topics
  • Joined 09-June 13
  • Country: Country Flag
Aa deci prima oara iti spune ca nu a mers si dupa merge .. Da acum stiu.

#5
Andrei;

Andrei;

    Administrator

  • Topic Starter

  • Administrator
  • 3201 posts
  • 398 topics
  • Joined 16-December 12
  • Country: Country Flag

Nu ai inteles deloc care e rolul tutorialului. Boolurile sunt folosite ca sa stim cand anumite actiuni au fost facute(in general ). Eu folosesc comanda prima data, totul e ok si setez boolul pe true. Dupa,cand vreau sa o folosesc din nou imi spune ca nu se poate,pentru ca am folosit-o deja odata.

 

1. /test

2. Boolul e testat. Este false, comanda se executa

3. Boolul se seteaza pe true.

4. /test

5. Boolul e testat. Este true, comanda nu se executa.


Edited by Artick ;, 31 July 2014 - 11:57 AM.

  • appLy^NxT likes this




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users