[Pedido]Bug ao setar -
Nake01 - 10.04.2011
Olha sу quando eu entro no server e talz crio conta e logo, se algum adm me setar por ex: de Exercito lv 4 quando eu boto na lista dos exercitos online aparece eu de lv 0 na lista no caso se eu criar a conta e logar e dps sair e abrir o pawno e editar lб o exercito aparece lv 4 e funfa os comandos..
Код:
if(strcmp(cmd, "/setexc", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pEXC] = dini_Int(udb_encode(sendername), "levelexc");
PlayerInfo[giveplayerid][pEXC] = dini_Int(udb_encode(giveplayer), "levelexc");
giveplayerid = strval(tmp);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 10)
{
SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setexc [id do player] [cargo]");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 10)
{
SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setexc [id do player] [cargo]");
return 1;
}
PlayerInfo[playerid][pEXC] = dini_Int(udb_encode(sendername), "levelexc");
levelexc[playerid] = strval(tmp);
if(levelexc[playerid] < 0)
{
SendClientMessage(playerid, COLOR_CYAN, "Level de EXC invбlido!");
return 1;
}
if(levelexc[playerid] > 4)
{
SendClientMessage(playerid, COLOR_CYAN, "Level de EXC invбlido!");
return 1;
}
if(levelexc[playerid] == PlayerInfo[giveplayerid][pEXC])
{
format(string, sizeof(string), "Este player jб й um EXC!", levelexc[playerid]);
SendClientMessage(playerid, COLOR_CYAN, string);
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 10 || PlayerInfo[playerid][pEXC] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
if(logged[giveplayerid] == 0)
{
SendClientMessage(playerid, COLOR_CYAN, "O player tem que estar logado para poder receber o level de EXC!");
return 1;
}
else
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
dini_IntSet(udb_encode(giveplayer), "levelexc", levelexc[playerid]);
format(string, sizeof(string), "ADMIN: Vocк deu para %s um cargo no EXERCITO!", giveplayer);
SendClientMessage(playerid, COLOR_CYAN, string);
format(string, sizeof(string), "ADMIN: Vocк ganhou um emprego no EXERCITO! Empregado por: %s.", sendername);
SendClientMessage(giveplayerid, COLOR_CYAN, string);
PlayerInfo[giveplayerid][pEXC] = dini_Int(udb_encode(giveplayer), "levelexc");
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /setexc para dar par %s level %d de EXERCITO.", PlayerName, giveplayer, level[playerid]);
}
}
else
{
format(string, sizeof(string), "%d nгo й o nъmero de ID de um player ativo!", giveplayerid);
SendClientMessage(playerid, COLOR_CYAN, string);
}
}
else
{
SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, COLOR_CYAN, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
Re: [Pedido]Bug ao setar - rjjj - 10.04.2011
Pelo que parece, basta fazer isto

.
Embaixo dessa linha:
pawn Код:
printf("[Command] %s usou /setexc para dar par %s level %d de EXERCITO.", PlayerName, giveplayer, level[playerid]);
Coloque:
pawn Код:
PlayerInfo[giveplayerid][pEXC] = levelexc[playerid];
Sу isso

.
Espero ter ajudado

.
Re: [Pedido]Bug ao setar -
Nake01 - 10.04.2011
nгo resolveu mano

ta aparecendo lv 0 ainda
Re: [Pedido]Bug ao setar - rjjj - 10.04.2011
Poste seu comando de ver os membros do Exйrcito online, entгo

.
O problema com certeza й que a variбvel que define se um jogador й parte do exйrcito nгo estб sendo "setada", durante o comando

.
Se vocк souber, tambйm seria bom explicar esta linha:
pawn Код:
PlayerInfo[giveplayerid][pEXC] = dini_Int(udb_encode(giveplayer), "levelexc");
Espero ter ajudado

.
Re: [Pedido]Bug ao setar -
Nake01 - 10.04.2011
Код:
if(!strcmp(cmdtext, "/excs", true))
{
SendClientMessage(playerid, COLOR_RED, "|_____MEMBROS DO EXERCITO______|");
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(logged[i] == 1)
{
if(PlayerInfo[i][pEXC] >= 1)
{
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(str, 256, "Membro: %s | [Level %d] ", pname, PlayerInfo[i][pBOPE]);
SendClientMessage(playerid, COLOR_CYAN, str);
count++;
}
}
}
}
if(count == 0)
{
SendClientMessage(playerid, COLOR_CYAN, "Nгo tem nenhum membro do EXERCITO on-line agora!");
}
return 1;
}
Re: [Pedido]Bug ao setar -
Shelby - 10.04.2011
Код:
if(PlayerInfo[i][pEXC] >= 1)
{
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(str, 256, "Membro: %s | [Level %d] ", pname, PlayerInfo[i][pBOPE]);
SendClientMessage(playerid, COLOR_CYAN, str);
count++;
}
Troque por:
Re: [Pedido]Bug ao setar -
Nake01 - 12.04.2011
nem deu jeito '-' mesma coisa !