[Ajuda] Como colocar o /vida so 1 vez por Spawn??
#1

o Comando que ta na minha GM

if(!strcmp(cmdtext, "/vida", true))
{
if(ccolete[playerid] == 1){SendClientMessage(playerid, 0xFF6F28AA, "{FF0000}[INFO]{FFFFFF}Vocк so pode comprar um Colete por Spawn");return 1;}
if(GetPlayerMoney(playerid) < 100)
return SendClientMessage(playerid, 0xFFF000AA, "Vocк nгo tem dinheiro suficiente!");

new
pname[MAX_PLAYER_NAME], string89[128];

GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "{00BFFF}%s {00FF7F}Comprou VIDA {FFFF00}( /VIDA )", pname);
SendClientMessageToAll(0xFFFFFF, string89);
GivePlayerMoney(playerid, -100);
SetPlayerHealth(playerid, 100.0);

return true;


e TMB a mensagem que mostra que comprou a vida nao aparece Me ajudem
Reply
#2

Este comando estб todo errado, tente assim.

PHP код:
new bool:Ja_Usou_Comando[MAX_PLAYERS];

CMD:vida(playerid) {
    new 
nomeCelulas[58];
    if(
Ja_Usou_Comando[playerid]) return SendClientMessage(playerid, -1"Vocк jб usou o comando.");
    if(
GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, -1"Vocк nгo tem dinheiro suficiente.");
    
GetPlayerName(playeridnomesizeof(nome));
    
format(Celulassizeof(Celulas), "O jogador %s comprou vida. (/vida)"nome);
    
SendClientMessageToAll(-1Celulas);
    
GivePlayerMoney(playerid, -100);
    
SetPlayerHealth(playerid100.0);
    
Ja_Usou_Comando[playerid] = true;
    return 
1;

Reply
#3

Quote:
Originally Posted by xCR7
Посмотреть сообщение
Este comando estб todo errado, tente assim.

PHP код:
new bool:Ja_Usou_Comando[MAX_PLAYERS];
CMD:vida(playerid) {
    new 
nomeCelulas[58];
    if(
Ja_Usou_Comando[playerid]) return SendClientMessage(playerid, -1"Vocк jб usou o comando.");
    if(
GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, -1"Vocк nгo tem dinheiro suficiente.");
    
GetPlayerName(playeridnomesizeof(nome));
    
format(Celulassizeof(Celulas), "O jogador %s comprou vida. (/vida)"nome);
    
SendClientMessageToAll(-1Celulas);
    
GivePlayerMoney(playerid, -100);
    
SetPlayerHealth(playerid100.0);
    
Ja_Usou_Comando[playerid] = true;
    return 
1;


TA DANDO ERRO "_"
Reply
#4

Qual erro?
Reply
#5

Quote:
Originally Posted by J4S0N
Посмотреть сообщение
TA DANDO ERRO "_"
qual erro ?
Reply
#6

Deve ser pq vc fizeram em zcmd e ele usa strcmp, ele n deve estar usando a include.

Usa a variavel que eles criaram, caso vc queira que use o cmd a cada spawn do player, seta false para a variavel no onplayerdeath.
Reply
#7

Provavelmente na variбvel nome que estб ocorrendo o erro.
Reply
#8

O erro estб onde o Jonathan falou, use new nome[MAX_PLAYER_NAME];
Reply
#9

Eu testei desse jeito e pegou aqui.
Reply
#10

1° Fassa uma variavel para poder verificar se o player spawnou.
PHP код:
new bool:Spawnou[MAX_PLAYERS]; 
Logo dps vamos usar a variavel.
Quando o player se conecta ele ainda nao spawna, entao vamos
fazer com que a variavel reconheзa isso.
PHP код:
public OnPlayerConnect(playerid)
{
    
Spawnou[playerid] = false;
    return 
1;

public que rever se o jogador spawnou!
PHP код:
public OnPlayerSpawn(playerid)
{
    
Spawnou[playerid] = true;
       return 
1;

//------------------------------------------------
Quando o player morrer fбra com que a variavel
fique false ou seja " O Player Nгo Spawnou Ainda".
PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    
Spawnou[playerid] = false;
     return 
1;

O Comando ficarб assim:
PHP код:
if(!strcmp(cmdtext"/vida"true))
{
    new 
nomeCelulas[58];
    if(
Spawnou[playerid] == true) return SendClientMessage(playerid, -1"Vocк sу pode usar o comando a cada spawn.");
    if(
GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, -1"Vocк nгo tem dinheiro suficiente.");
    
GetPlayerName(playeridnomesizeof(nome));
    
format(Celulassizeof(Celulas), "O jogador %s comprou vida. (/vida)"nome);
    
SendClientMessageToAll(-1Celulas);
    
GivePlayerMoney(playerid, -100);
    
SetPlayerHealth(playerid100.0);
    return 
1;

Abraзos,
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)