#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)
{
a = 5;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
deu[playerid] = false;
return 1;
}
CMD:pts(playerid)
{
a = a + 5;
b = 1;
c = 2;
d = 3;
SendClientMessage(playerid, -1, "Pontos inseridos!");
return 1;
}
CMD:life(playerid)
{
if(a > 0)
{
b = 1;
if(b >= 0)
{
c = 2;
if(c >= 1)
{
d = 3;
if(d > 3)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(kk, sizeof(kk), "O Player %s deu vida para todos do servidor!", nome);
SendClientMessageToAll(-1, kk);
SetPlayerHealth(i, 100);
}
}
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(playerid, params[])
{
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(kk, sizeof(kk), "Solicitaзгo de %s para receber mais 3 pontos em 'D' - %s", Nome(playerid), texto);
MsgAdm(-1, kk);
MsgAdm(-1, "Responda com '/darz' ou '/darD'");
}
else
{
SendClientMessage(playerid, -1, "Vocк nгo precisa ou nгo solicitou.");
}
return 1;
}
CMD:darz(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permissгo pra isso");
{
if(deu[playerid] == false)
{
new id, quanti, string[120];
if(sscanf(params, "ud", id, quanti)) return SendClientMessage(playerid, -1, "/darz -id- -quantidade-");
if(quanti < 0 || quanti > 5) return SendClientMessage(playerid, -1, "Quantidade vбlida de 0 б 5");
format(string, sizeof(string), "%s deu pontos Z para %s", Nome(playerid), Nome(id));
SendClientMessageToAll(-1, string);
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(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permissгo pra isso");
{
if(deu[playerid] == false)
{
new id, quanti, string[120];
if(sscanf(params, "ud", id, quanti)) return SendClientMessage(playerid, -1, "/darD -id- -quantidade-");
if(quanti < 0 || quanti > 5) return SendClientMessage(playerid, -1, "Quantidade vбlida de 0 б 5");
format(string, sizeof(string), "%s deu pontos D para %s", Nome(playerid), Nome(id));
SendClientMessageToAll(-1, string);
d = 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(playerid, 100);
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(playerid, pNome, sizeof(pNome));
return pNome;
}
stock MsgAdm(cor, string[])
{
for(new fx = 0; fx < MAX_PLAYERS; fx++)
{
if(IsPlayerConnected(fx))
{
if(IsPlayerAdmin(fx))
{
SendClientMessage(fx, cor, string);
}
}
}
}
s[128]
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 код:
|
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н |
"Olб %s seja bem vindo ao servidor"
new kk[10]
aqui a mensagem troque o 10 pelo numero de caracteres.
assim cara vou dar um exemplo
PHP код:
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 код:
|
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! |