[Ajuda] Valores sobre variбveis
#1

Bom, estou estudando sobre valores de variбveis.
Dкem uma olhada e me digam o que falta e o que posso melhorar...

PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf>
new a;
new 
b;
new 
c;
new 
d;
new 
z[MAX_PLAYERS];
new 
bool:deu[MAX_PLAYERS];
new 
kk[120];
new 
bool:precisa[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
    
5;
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    
deu[playerid] = false;
    return 
1;
}
CMD:pts(playerid)
{
    
5;
    
1;
    
2;
    
3;
    
SendClientMessage(playerid, -1"Pontos inseridos!");
    return 
1;
}
CMD:life(playerid)
{
    if(
0)
    {
        
1;
        if(
>= 0)
        {
            
2;
            if(
>= 1)
            {
                
3;
                if(
3)
                {
                    for(new 
0MAX_PLAYERSi++)
                    {
                        new 
nome[MAX_PLAYER_NAME];
                        
GetPlayerName(playeridnomesizeof(nome));
                        
format(kksizeof(kk), "O Player %s deu vida para todos do servidor!"nome);
                        
SendClientMessageToAll(-1kk);
                        
SetPlayerHealth(i100);
                    }
                }
                else
                {
                    
SendClientMessage(playerid, -1"Vocк nгo possui pontos maiores que 3!");
                    
SendClientMessage(playerid, -1"Utilize '/queromais [motivo]' e agurade algum administrador te dar mais 3 pontos.");
                    
precisa[playerid] = true;
                }
            }
        }
    }
    else
    {
        
SendClientMessage(playerid, -1"Vocк precisa ter 0 pontos em A para utilizar estes comandos!");
    }
    return 
1;
}
CMD:queromais(playeridparams[])
{
    if(
precisa[playerid] == true)
    {
        new 
texto[80];
        if(
sscanf(params"s[80]"texto)) return SendClientMessage(playerid, -1"Utilize '/queromais [texto]' para enviar sua solicitaзгo de receber mais 3 pontos 'D'");
        
format(kksizeof(kk), "Solicitaзгo de %s para receber mais 3 pontos em 'D' - %s"Nome(playerid), texto);
        
MsgAdm(-1kk);
        
MsgAdm(-1"Responda com '/darz' ou '/darD'");
    }
    else
    {
        
SendClientMessage(playerid, -1"Vocк nгo precisa ou nгo solicitou.");
    }
    return 
1;
}
CMD:darz(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"Vocк nгo tem permissгo pra isso");
    {
        if(
deu[playerid] == false)
        {
            new 
idquantistring[120];
            if(
sscanf(params"ud"idquanti)) return SendClientMessage(playerid, -1"/darz -id- -quantidade-");
            if(
quanti || quanti 5) return SendClientMessage(playerid, -1"Quantidade vбlida de 0 б 5");
            
format(stringsizeof(string), "%s deu pontos Z para %s"Nome(playerid), Nome(id));
            
SendClientMessageToAll(-1string);
            
z[id] = quanti;
            
deu[playerid] = true;
        }
         else
          {
               
SendClientMessage(playerid, -1"Vocк nгo pode utilizar a funзгo mais de uma vez|somente quando morrer");
           }
       }
    return 
1;
}
CMD:darD(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"Vocк nгo tem permissгo pra isso");
    {
        if(
deu[playerid] == false)
        {
            new 
idquantistring[120];
            if(
sscanf(params"ud"idquanti)) return SendClientMessage(playerid, -1"/darD -id- -quantidade-");
            if(
quanti || quanti 5) return SendClientMessage(playerid, -1"Quantidade vбlida de 0 б 5");
            
format(stringsizeof(string), "%s deu pontos D para %s"Nome(playerid), Nome(id));
            
SendClientMessageToAll(-1string);
            
quanti;
            
deu[playerid] = true;
        }
         else
          {
               
SendClientMessage(playerid, -1"Vocк nгo pode utilizar a funзгo mais de uma vez|somente quando morrer");
           }
       }
    return 
1;
}
CMD:colete(playerid)
{
    if(
z[playerid] > 0)
    {
        
SetPlayerArmour(playerid100);
        
SendClientMessage(playerid, -1"Colete inserido!");
    }
    else
    {
        
SendClientMessage(playerid, -1"Vocк nгo tem pontos Z");
    }
    return 
1;
}
stock Nome(playerid)
{
    new 
pNome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpNomesizeof(pNome));
    return 
pNome;
}
stock MsgAdm(corstring[])
{
    for(new 
fx 0fx MAX_PLAYERSfx++)
    {
        if(
IsPlayerConnected(fx))
        {
            if(
IsPlayerAdmin(fx))
            {
                
SendClientMessage(fxcorstring);
            }
        }
    }

Reply
#2

Muito Bom.


Cara recomendo usar variaveis Locais quando for usar em mensagem igual vocк definiu no topo new kk vocк deveria usar na parte da mensagem pra evitar erros e claro usar o parametro
PHP код:
s[128
nas mensagens que pegam nicks ids etc.. para evitar queda do servidor .
Reply
#3

Quote:
Originally Posted by C4rtm4n
Посмотреть сообщение
Muito Bom.


Cara recomendo usar variaveis Locais quando for usar em mensagem igual vocк definiu no topo new kk vocк deveria usar na parte da mensagem pra evitar erros e claro usar o parametro
PHP код:
s[128
nas mensagens que pegam nicks ids etc.. para evitar queda do servidor .
Nгo й a primeira vez que me falam isso...
Mas ainda tenho dificuldade nessa parada das cйlulas, colocar a quantidade certa...
Precisa contar, fazer o que?
Me ajuda aн
Reply
#4

Quote:
Originally Posted by fxckshzt
Посмотреть сообщение
Nгo й a primeira vez que me falam isso...
Mas ainda tenho dificuldade nessa parada das cйlulas, colocar a quantidade certa...
Precisa contar, fazer o que?
Me ajuda aн
assim cara vou dar um exemplo


PHP код:
"Olб %s seja bem vindo ao servidor" 
conte cada letra e espaзo que tem na frase

deu 33 sу a frase agora some 33+25

33( da frase ao todo )
25( Do limite do nome )

33 +
25
58
no totsl deu 58 ai vocк cria a variavel e tal e na parte que vocк colocou 120 tu bota o 58 no caso o tanto de caracteres que tem na sua frase

use esse site

http://m.contarcaracteres.com

Se vocк ficar usando variaveis globais que armazena um certo valor vai chegar uma hora que nгo vai aparecer certa mensagem.
por isso vocк deve definir um tamanho em cada mensagem exemplo

PHP код:

 
new kk[10]
aqui a mensagem troque o 10 pelo numero de caracteres
isso й uma dica de otimizaзгo.
Reply
#5

Quote:
Originally Posted by C4rtm4n
Посмотреть сообщение
assim cara vou dar um exemplo


PHP код:
"Olб %s seja bem vindo ao servidor" 
conte cada letra e espaзo que tem na frase

deu 33 sу a frase agora some 33+25

33( da frase ao todo )
25( Do limite do nome )

33 +
25
58
no totsl deu 58 ai vocк cria a variavel e tal e na parte que vocк colocou 120 tu bota o 58 no caso o tanto de caracteres que tem na sua frase

use esse site

http://m.contarcaracteres.com

Se vocк ficar usando variaveis globais que armazena um certo valor vai chegar uma hora que nгo vai aparecer certa mensagem.
por isso vocк deve definir um tamanho em cada mensagem exemplo

PHP код:

 
new kk[10]
aqui a mensagem troque o 10 pelo numero de caracteres
isso й uma dica de otimizaзгo.
A mensagem "Olб %s seja bem vindo ao servidor" tem 33 caracteres. Somando com 25 (Com a soma do nome) deu 58...
Eu coloco logo 128 pra nгo faltar nada kkk, valeu mano!
Reply
#6

Quote:
Originally Posted by fxckshzt
Посмотреть сообщение
A mensagem "Olб %s seja bem vindo ao servidor" tem 33 caracteres. Somando com 25 (Com a soma do nome) deu 58...
Eu coloco logo 128 pra nгo faltar nada kkk, valeu mano!
Terб perda de memуria.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)