Jump to content

- Advertisement -
Photo

[CS16-Scripting] XVars


  • Please log in to reply
No replies to this topic

#1
Andrei;

Andrei;

    Administrator

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

Xvar-urile sunt variabile publice care pot sa fie accesate din alte pluginuri. In pluginul care le creeaza functioneaza exact ca o variabila normala, insa valoarea lor poate sa fie luata, modificata de alte pluginuri.

Prin xvar puteti transmite integere, float-uri si bool-uri, nu functioneaza pentru arrayuri si pentru stringuri.

 

Xvar, spre deosebire de cvarurile normale, nu pot sa fie modificate din consola( amx_cvar ).

 

1. Cum creati xvar-uri:

  1. Variabilele trebuie sa fie publice, nu trebuie sa fie declarate in interiorul functiilor.
  2. Nu se declara cu new, se declara cu public.
public PrimulMeuXvarInteger
public Float: PrimulMeuXvarFloat
public bool: PrimulMeuXvarBool

Functioneaza exact ca o variabila normala, poate sa primeasca valori etc.

 

2. Accesarea xvar din alte pluginuri:

new PrimulMeuXvarInteger1
new bool:PrimulMeuXvarBool1
new Float:PrimulMeuXvarFloat1

public plugin_init( )
{
   //PrimulMeuXvarInteger este variabila xvar din alt plugin
   //Ii luam idul unic
   PrimulMeuXvarInteger1 = get_xvar_id( "PrimulMeuXvarInteger" );
    
    if( PrimulMeuXvarInteger1 == -1 )
    {
       //daca se ajunge aici, atunci xvarul respectiv nu exista.
    }
    
}

Se mai poate verifica( daca exista ) astfel: xvar_exists( "NumeXvar" )

new iValue = get_xvar_num( "Xvar" )
new bool: bValue = bool:get_xvar_num( "XVar" )
new Float: fValue = get_xvar_float( "Xvar" )

Pentru a seta valoarea in alt plugin:

set_xvar_num( Variabila, 3 )
set_xvar_num( VariabilaBool, true ) 
set_xvar_float( VariabilaFloat, 34.35 )

Edited by Artick ;, 30 August 2014 - 11:14 AM.

  • Razvan- and aEEk like this




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users