Raised This Month: $ Target: $400
 0% 

Uso de strings obtencion de datos mediante una cvar


  
 
 
Thread Tools Display Modes
Author Message
ChileScripting
BANNED
Join Date: Jan 2013
Old 04-02-2013 , 02:28   Uso de strings obtencion de datos mediante una cvar
#1

Resulta que puse a intrusiar algunos plugins y me ensañe metiendole cvars y cosas nuevas para su uso mas comodo y quisiera saber como obtener una cvar con caracteres "String" para mostrarlas en algun print...

Les dejo code...

Input
Spoiler


OutPut
Spoiler



Lo que quiero es obtener el valor de la cvar gNombrePrivilegio dependiendo de el valor que tenga g_privilegio sobre el index.


Con este code basta y sobra

Last edited by ChileScripting; 04-02-2013 at 02:32. Reason: fix1
ChileScripting is offline
LeeanAndNeka
Senior Member
Join Date: Feb 2012
Location: Argentina ♥
Old 04-02-2013 , 02:47   Re: Uso de strings obtencion de datos mediante una cvar
#2

Entendi a mitades lo que querias..

Codificación:
PHP Code:
#include <amxmodx>

new gPrivilegios]

public 
plugin_init() 
{
    
gPrivilegios] = register_cvar("vip""VIP")
    
gPrivilegios] = register_cvar("admin""ADMIN")
    
register_clcmd("say .asd""Extract")
}

public 
Extract(id)
{
    new 
szString]; get_pcvar_stringgPrivilegios], szStringcharsmaxszString ) )
    
client_print(idprint_chat"#1 Print: Eres: %s"szString )
        
    return 
PLUGIN_HANDLED;

Salida:
Code:
Neqitai: #1 Print: Eres: VIP

Last edited by LeeanAndNeka; 04-02-2013 at 02:56.
LeeanAndNeka is offline
Send a message via MSN to LeeanAndNeka Send a message via Skype™ to LeeanAndNeka
ChileScripting
BANNED
Join Date: Jan 2013
Old 04-02-2013 , 08:39   Re: Uso de strings obtencion de datos mediante una cvar
#3

Que boludo soy yo... Gracias
ChileScripting is offline
ChileScripting
BANNED
Join Date: Jan 2013
Old 04-03-2013 , 14:28   Re: Uso de strings obtencion de datos mediante una cvar
#4

Disculpa por el doble post pero es para evitar armar otro thread...

Como podria agregar unas cvars random obteniendo datos de un enumerador?

Code:
enum _:gCvarsExtract {     gCvarNombre[40],     gCvarValor // Aca No sabria como identificar y separa de float int y string... Float:gCvarValor, gCvarValor[] } enum _:gCvarsID {     String_Cvar,     Float_Cvar,     Int_Cvar } new const gCvarsPlugin[gCvarsID][gCvarsExtract] = {     { "string_cvar", "5" },     { "float_cvar", 5.0 },     { "int_cvar", 5 } } public plugin_init() {         // Asi se me ocurrio pero se que no resultara .__.     /*for (new i = 0; i < sizeof gCvarsPlugin; i++)         gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], gCvarsPlugin[i][gCvarValor])*/                 // Obtencion         new szData[40] // Ej         get_pcvar_string(gCvarsPlugin[String_Cvar][gCvarValor], szData, charsmax(szData)) // String                 get_pcvar_float(gCvarsPlugin[Float_Cvar][gCvarValor] // Float         get_pcvar_num(gCvarsPlugin[Int_Cvar][gCvarValor] // Int }

No se si se pueda...

Aun asi si no se puede...

Podrian explicarme como hacerlo para un solo tipo ej: floats

Code:
enum _:gCvarsExtract {     gCvarNombre[40],     Float:gCvarValor } enum _:gCvarsID {     Float_Cvar } new const gCvarsPlugin[gCvarsID][gCvarsExtract] = {     { "float_cvar", 5.0 } } public plugin_init() {         // Asi se me ocurrio pero se que no resultara .__.     /*for (new i = 0; i < sizeof gCvarsPlugin; i++)         gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], gCvarsPlugin[i][gCvarValor])*/                 // Obtencion         get_pcvar_float(gCvarsPlugin[Float_Cvar][gCvarValor] // Float }

Cuando pruebo las cvars me dan resultados igualitarios a los nombres .___.

En las cvars del output se agregan asi:

Quote:
float_cvar -
Cuando lo que yo quiero es que salgan con sus resultados ya por defaults....

Quote:
float_cvar - 5.0
Gracias...

Last edited by ChileScripting; 04-03-2013 at 14:30.
ChileScripting is offline
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 04-03-2013 , 20:45   Re: Uso de strings obtencion de datos mediante una cvar
#5

No sé que intentaste hacer aquí:
gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], gCvarsPlugin[i][gCvarValor])

1. El valor devuelto por register_cvar (o CvarRegister) siempre es int/entero.
2. Los primeros dos parámetros de register_cvar siempre son strings/cadenas.
3. Si quieres obtener un int, float o string, eso dependerá del get_pcvar_*.

PHP Code:
// Registrando
new pointer1 register_cvar"sexo1""69" )
new 
pointer2 register_cvar"sexo2""4.0" )
new 
pointer3 register_cvar"sexo3""haaa" )

// Obteniendo
new value1 get_pcvar_numpointer1 )
new 
Float:value2 get_pcvar_floatpointer2 )

new 
outputmax_length ]
get_pcvar_stringpointer3outputmax_length 
__________________
Oh hell no this shit is awesome !!!

Last edited by shinoda; 04-03-2013 at 20:46.
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
ChileScripting
BANNED
Join Date: Jan 2013
Old 04-03-2013 , 22:30   Re: Uso de strings obtencion de datos mediante una cvar
#6

Quote:
Originally Posted by shinoda View Post
No sé que intentaste hacer aquí:
gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], gCvarsPlugin[i][gCvarValor])
Code:
  // Asi se me ocurrio pero se que no resultara .__.     /*for (new i = 0; i < sizeof gCvarsPlugin; i++)         gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], gCvarsPlugin[i][gCvarValor])*/

XDDD Jajajja era solo una idea por eso puse que no resultaria...

Quote:
Originally Posted by shinoda View Post
1. El valor devuelto por register_cvar (o CvarRegister) siempre es int/entero.
2. Los primeros dos parámetros de register_cvar siempre son strings/cadenas.
3. Si quieres obtener un int, float o string, eso dependerá del get_pcvar_*.

PHP Code:
// Registrando
new pointer1 register_cvar"sexo1""69" )
new 
pointer2 register_cvar"sexo2""4.0" )
new 
pointer3 register_cvar"sexo3""haaa" )

// Obteniendo
new value1 get_pcvar_numpointer1 )
new 
Float:value2 get_pcvar_floatpointer2 )

new 
outputmax_length ]
get_pcvar_stringpointer3outputmax_length 
Thank You!

No creo que me hayas entendido queria obtener el resultado de el enum pero con una variable que se pueda usar de 3 formas creo que ya me di cuenta como hacerlo.

Sobre el 2do code...

Logre hacerlo usando formatex ya que como los dos parametros son strings seria asi:

Code:
    for (new i = 0; i < sizeof gCvarsPlugin; i++)     {         new data[10]         formatex(data, charsmax(data), "%d", gCvarsPlugin[i][gCvarValor])         gCvarsPlugin[i][gCvarValor] = register_cvar(gCvarsPlugin[i][gCvarNombre], data)     }

OutPut = Las cvars bien añadidas Cada una con su respectivo valor...

Bueno en mi opinion me gusta hacerlo asi por que tengo el codigo mas ordenado... Nose si es un factor de optimizacion, si me podrian explicar.

Sl2 y gracias x tu respuesta.

Last edited by ChileScripting; 04-03-2013 at 22:31. Reason: fix1
ChileScripting is offline
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 04-05-2013 , 23:56   Re: Uso de strings obtencion de datos mediante una cvar
#7

¿Quieres hacer algo como esto? -- Totalmente ineficiente :/

PHP Code:
#include <amxmodx>

enum ecvar_type
{
    
cvar_int,
    
cvar_float,
    
cvar_string
}

enum ecvar_params
{
    
name 32 ],
    
value64 ],
    
type
}

new const 
cvar_params[ ][ ecvar_params ] =
{
    { 
"cvar_aaa""1"   cvar_int    },
    { 
"cvar_bbb""2.12"cvar_float  },
    { 
"cvar_ccc""asd" cvar_string }
}

enum ecvar_cache
{
    
cint,
    
cfloat,
    
cstring64 ]
}

new 
cvar_pointer  sizeof cvar_params ]
new 
any:cvar_cacheecvar_cache ]

public 
plugin_init( )
{
    for( new 
isizeof cvar_paramsi++ )
    {
        
cvar_pointer] = register_cvarcvar_params][ name ], cvar_params][ value ] )
    }
}

public 
plugin_cfg( )
{
    for( new 
isizeof cvar_paramsi++ )
    {
        switch( 
cvar_params[i][type] )
        {
            case 
cvar_int   cvar_cachecint   ] = get_pcvar_num  cvar_pointer[i] )
            case 
cvar_float cvar_cachecfloat ] = get_pcvar_floatcvar_pointer[i] )
            case 
cvar_stringget_pcvar_stringcvar_pointer[i], cvar_cache[cstring], charsmax(cvar_cache[cstring]) )
        }
    }

__________________
Oh hell no this shit is awesome !!!
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
ChileScripting
BANNED
Join Date: Jan 2013
Old 04-06-2013 , 17:41   Re: Uso de strings obtencion de datos mediante una cvar
#8

u.u muchas gracias por el ejemplo shinoda me sirvio
ChileScripting is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:09.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode