Que es ?.
#1

Hola, tengo dudas sobre que significan ciertas palabras en pawn, me gustarнa acabar con ellas de una buena vez.

pawn Код:
- Yo normalmente declaro una nueva variable(string) asн:

new string[5] = "hola";

* ї Cual es al diferencia a esta ?

new string[5 char] = "hola";

* ї En pocas palabras: ї Que significa 'char' ?
pawn Код:
* Por quй algunas personas usan esto:

x = -1;

* ї Que significa '-1' ?. x = x -1 ?.

* Yo no utilizo variables asн, para restar a una variable normalmente utilizo --; para sumar ++; asн que por eso la duda.
pawn Код:
* ї Que significa 'stock' ?. Su ъnica funciуn es ocultar el error al compilar sн esta funciуn no es utilizada ?.

stock algo()
{
    return true;
}

warning 203: symbol is never used: "algo"
pawn Код:
* ї Que es 'static' ?. Palabra para aсadir una variable global ?. Cuales son los beneficios de utilizar y por quй no usar el tipico 'new variable' ?.

new variale;
static variable;
Reply
#2

Las variables normales utilizan 4 bytes por celda, valga la redundancia sea bool, float, int. supongamos que tъ tienes una array para almacenar valores segъn su playerID, cuando tъ utilizas char redondeas el mъltiplo que sigue al mъltiplo mбs cercano de 4,

PHP код:
// 500 Bytes
new pDinero[MAX_PLAYERS char];
// 2000 Bytes
new pDinero[MAX_PLAYERS];
// SIN CHAR
Data size:             2520 bytes 520 bytes
sin char 
2000 bytes
// CON CHAR
Data size:             1020 bytes 520 bytes
con char 
500 bytes 
Intenta hacer pruebas de memoria en tus cуdigos compilando con el parбmetro -d2 que te mostrarб todos los datos parecidos al compilar.

Es cuestiуn de memoria.

Lo siguiente depende de el mйtodo que alguien use.

PHP код:
public OnPlayerUpdate(playerid)
{
    new
        
Float:vida,
          
adv[MAX_PLAYERS],
        
lastAdv[MAX_PLAYERS]
        ;
        
    if((
GetPlayerHealth(playeridvida)) < 10// seteas y compruebas
    
{
        if((
lastAdv[playerid] < gettime()) && ++adv[playerid] < 3// aumentas y compruebas
        
{
            
SendClientMessage(playerid, -1"+1 Advertencia por tener poca vida.");
               
lastAdv[playerid] = gettime()+5;
        }
        else
        {
            
SendClientMessage(playerid, -1"Pasaste las tres advertencias por tener poca vida.");
            
SpawnPlayer(playerid);
        }
    }
    return 
1;

Alguien lo harнa setйandolo y posteriormente comprobбndolo, hay distintas maneras de programar nada mбs.

Para comprender bien esto y lo demбs en su totalidad mira esto: http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)