19.01.2013, 02:29
Olб estou um erro horrivel, estava testando meu sistema de X1, mas tem um problema. e й neste CMD:
O problema й, quando o ID 0 desafia alguйm, e o player aceita o desafio, em vez de ir o ID 0 vs Outro ID, vai ID 0 vs ID 0, e isso apenas acontece com o mesmo, pois testei com outros IDs como, 1,2,3,4,5 etc...
Se alguйm pudesse me ajudar ficaria grato.
OPS: Caso possa nгo ser nesse CMD tem esse tambйm:
pawn Код:
if(strcmp(cmd, "/desafiar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new para1;
para1 = strval(tmp);
tmp = strtok(cmdtext, idx);
para1 = ReturnUser(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "*ESCREVA: /desafiar [id] [quantia]");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (ProxDetectorS(5.0, playerid, para1))
{
if(PlayerToPoint(25.0,playerid,1378.3489,-1753.1702,14.1406))
{
if (para1 == playerid)
{
SendClientMessage(playerid, COLOR_WHITE, "Vocк nгo pode desafiar a si mesmo.");
return 1;
}
new valor;
tmp = strtok(cmdtext, idx);
valor = strval(tmp);
moneys = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "*ESCREVA: /desafiar [id] [quantia]");
return 1;
}
if(valor > GetPlayerMoney(playerid) || valor > GetPlayerMoney(giveplayerid))
{
SendClientMessage(playerid,COLOR_GREY,"Vocк ou o Adversario nгo possuiem esta quantia.");
return 1;
}
if(moneys < 10000) { SendClientMessage(playerid, COLOR_GREY, " Seu contrato nгo pode ser menor que 10000"); return 1; }
if(desafiando == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "*ERRO: Jб hб um desafio em andamento, ou alguйm jб desafiou outra pessoa. Tente mais tarde.");
return 1;
}
SendClientMessage(playerid,COLOR_GRAD2,"Vocк desafiou o player!");
format(string, sizeof(string), "*CENTRAL-x1: %s te desafiou para um X1 no valor de $%d! Caso aceite digite: /aceitarx1 ou /recusarx1",PlayerName(playerid),valor);
SendClientMessage(para1, COLOR_YELLOW,string);
desafiante = playerid; desafiado = giveplayerid;
PlayerInfo[para1][pValorx1] = valor;
PlayerInfo[playerid][pValorx1] = valor;
NikoInfo[playerid][desafianter] = 1;
NikoInfo[para1][desafiador] = 1;
desafiando = 1;
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "O Jogador nгo estб perto de vocк.");
}
}
}
return 1;
}
}
Se alguйm pudesse me ajudar ficaria grato.
OPS: Caso possa nгo ser nesse CMD tem esse tambйm:
pawn Код:
if(strcmp(cmd, "/aceitarx1", true) == 0)
{
if(NikoInfo[playerid][desafiador] == 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo foi desafiado por ninguйm!");
return 1;
}
if(x1acontecendo == 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Jб hб um X1 acontecendo neste exato momento!");
return 1;
}
format(string,sizeof(string),"*CENTRAL-x1: %s e %s resolveram decidir as diferenзas no x1! Para assistir ao x1 vб na Central de x1!",PlayerName(desafiante),PlayerName(desafiado));
SendClientMessageToAll(COLOR_ZOMBIE,string);
SetPlayerPos(desafiante,3027.5464,-2427.8391,1.2203);
SetPlayerPos(desafiado,2995.6516,-2424.5979,1.2203);
IsPlayerInx1[desafiante] = 1; IsPlayerInx1[desafiado] = 1;
x1rolando = 1;
SetPlayerHealth(desafiante,100);
SetPlayerArmour(desafiante,100);
ResetPlayerWeapons(desafiante);
GivePlayerWeapon(desafiante,24,99999);
SetPlayerHealth(desafiado,100);
SetPlayerArmour(desafiado,100);
ResetPlayerWeapons(desafiado);
GivePlayerWeapon(desafiado,24,99999);
SetTimer("TempoX1", 180000, false);
PlayerInfo[desafiante][pValorx1] = 0;
PlayerInfo[desafiado][pValorx1] = 0;
NikoInfo[desafiante][desafianter] = 0;
NikoInfo[playerid][desafiador] = 0;
desafiando = 0;
x1acontecendo = 1;
}