Ajuda nesses comandos? -
maluco88 - 10.09.2012
tipow Esses comandos estгo com mesmo erro, quando eu falo neles pode ser uma frase mas aparece sу uma palavra.
Код:
if(strcmp(cmd, "/aovivo", true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pREPORTER] = dini_Int(udb_encode(sendername), "levelreporter");
if (!strlen(tmp) && PlayerInfo[playerid][pREPORTER] >= 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Uso correto: /aovivo [texto]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pREPORTER] >= 1)
{
format(string, sizeof(string), "Aovivo com o repуrter %s: %s", sendername, tmp);
SendClientMessageToAll(COLOR_ORANGE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /aovivo com a menssagem: %s", PlayerName, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк nгo й reporter!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
Код:
if(strcmp(cmd, "/m", true) == 0 || strcmp(cmd, "/megaphone", true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pGDE] = dini_Int(udb_encode(sendername), "levelgde");
if (!strlen(tmp) && PlayerInfo[playerid][pGDE] >= 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Uso correto: /m [mensagem]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pGDE] >= 1 || PlayerInfo[playerid][pBOPE] >= 1 || PlayerInfo[playerid][pPMLV] >= 1 || PlayerInfo[playerid][pPMSF] >= 1 || PlayerInfo[playerid][pChoque] >= 1 || PlayerInfo[playerid][pRodoviaria] >= 1)
{
for(new i=0; i <= MAX_PLAYERS; i++)
if(GetDistanceBetweenPlayers(playerid, i) <= 50)
{
format(string, sizeof(string), "Polнcial %s: %s", sendername, tmp);
SendClientMessage(i,COLOR_YELLOW,string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /m com a menssagem: %s", PlayerName, tmp);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк nгo й um oficial!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
Код:
if(strcmp(cmd, "/aovivor", true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pREPORTER] = dini_Int(udb_encode(sendername), "levelreporter");
if (!strlen(tmp) && PlayerInfo[playerid][pREPORTER] >= 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Uso correto: /aovivor [resposta do player]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pREPORTER] >= 2)
{
format(string, sizeof(string), "Entrevista ao vivo, player entrevistado respondeu ao Repуrter %s: %s", sendername, tmp);
SendClientMessageToAll(COLOR_ORANGE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /aovivor com a menssagem: %s", PlayerName, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк nгo й reporter!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
Код:
if(strcmp(cmd, "/cnn", true) == 0)
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 9)
{
SendClientMessage(playerid, 0x0000FFAA, "/cnn ~b~ azul ~g~ verde ~y~ amarelo ~p~ rosa [Ex: ~g~ oi (oi verde)]");
}
if(logged[playerid] == 1)
{
if(cnn[playerid] == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 2 || PlayerInfo[playerid][pORG] >= 1 )
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(striing, sizeof(striing), "~g~%s~b~: ~w~%s", sendername, tmp);
GameTextForAll(striing, 5000, 3);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /cnn com a menssagem: %s", PlayerName, tmp);
return 1;
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "O CNN esta BLOQUEADO.");
}
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
Код:
if(strcmp(cmd, "/ann", true) == 0)
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 9)
{
SendClientMessage(playerid, 0x0000FFAA, "Uso correto: /ann [menssagem]");
}
if(logged[playerid] == 1)
{
if(ann[playerid] == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
format(striing, sizeof(striing), "~w~%s", tmp);
GameTextForAll(striing, 5000, 3);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s usou /announce com a menssagem: %s", PlayerName, tmp);
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "O ANN esta BLOQUEADO.");
}
}
else
{
SendClientMessage(playerid, 0xFF8080AA, "Vocк tem que estar logado para usar este comando!");
}
return 1;
}
tipo postei todos mas se me ajudarem a resolver um acredito que o mesmo erro em todos

Vlw pela atenзгo.
Re: Ajuda nesses comandos? -
R3S1D3NT1 - 10.09.2012
Poste os erros '-' ou pelo que entedir aumente a string dele
Re: Ajuda nesses comandos? -
maluco88 - 10.09.2012
Quote:
Originally Posted by R3S1D3NT1
Poste os erros '-' ou pelo que entedir aumente a string dele
|
nao APARECE ERRO '=' SENDO Q SO DA PRA DIGITA UMA PALAVRA.
Re: Ajuda nesses comandos? -
maluco88 - 11.09.2012
ajuda ai :/
Re: Ajuda nesses comandos? -
Spectro_BR - 11.09.2012
poste os warnings...
Re: Ajuda nesses comandos? -
Coreia - 11.09.2012
pawn Код:
new string[256];//aumente o numero max de letras
ve ae
Re: Ajuda nesses comandos? -
Douglas_prt - 11.09.2012
Quote:
Originally Posted by Coreia
pawn Код:
new string[256];//aumente o numero max de letras
ve ae
|
Talvez seja isso...
Re: Ajuda nesses comandos? -
maluco88 - 11.09.2012
nгo funfo '-'
Re: Ajuda nesses comandos? -
maluco88 - 12.09.2012
ninguйm sabe?
Re: Ajuda nesses comandos? - rjjj - 12.09.2012
Em todos eles, troque

:
pawn Код:
tmp = strtok(cmdtext, idx);
Por:
pawn Код:
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) idx++;
new offset = idx;
while ((idx < length) && ((idx - offset) < (sizeof(tmp) - 1))) tmp[idx - offset] = cmdtext[idx], idx++;
tmp[idx - offset] = EOS;
Espero ter ajudado

.