SA-MP Forums Archive
[AJUDA] Porfavor me ajudem com isso й bem simples - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Porfavor me ajudem com isso й bem simples (/showthread.php?tid=260579)



[AJUDA] Porfavor me ajudem com isso й bem simples - Rodrigo. - 09.06.2011

Tipo galera eu tava tentando criar um sistema de avisos pro meu server de drift, se o player nгo obedecer as regras um adm digita /aviso [id] [motivo] e o player й avisado, depois de 3 avisos ele й kickado, mais ta dando error:


Код:
C:\Documents and Settings\Admin\Desktop\Drift Dominio\GM DDO\gamemodes\[GM]Drift.pwn(751) : error 017: undefined symbol "cmd"
C:\Documents and Settings\Admin\Desktop\Drift Dominio\GM DDO\gamemodes\[GM]Drift.pwn(1732) : warning 203: symbol is never used: "VehicleName"
C:\Documents and Settings\Admin\Desktop\Drift Dominio\GM DDO\gamemodes\[GM]Drift.pwn(1732) : warning 203: symbol is never used: "ret_memcpy"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
codigo:
Код:
if(strcmp(cmd, "/aviso", true) == 0) {
new idx;
new string[256];
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /aviso [id] [motivo]");
return 1;
}
plid = strval(tmp);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
if(IsPlayerConnected(plid)){
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "{FFFF00}[{E60000} ERRO {FFFF00}]{FFFFFF} Vocк sу pode avisar com uma razгo apropriada!");
}else{
aviso[plid]+=1;
if(aviso[plid]>= 3){
format(string, sizeof(string), "* [ Zй_Ninguem(bot) ] kickou o jogador %s (Motivo: limite de avisos)",pname);
SendClientMessageToAll(tcadm, string);
SetPlayerPos(plid, 831.9581,-1102.1510,24.2969);
GameTextForPlayer(plid,"~r~kickado~w~!", 2500, 3);
Kick(plid);
}
format(string, sizeof(string), "* O Administrador %s avisou o jogador: %s. (Motivo: %s - (%d/3)", aname,pname,result,aviso[plid]);
SendClientMessageToAll(tcadm, string);
}
}else{
format(string, sizeof(string), "{FFFF00}[{E60000} ERRO {FFFF00}]{FFFFFF} ID %d nгo й valido.", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
Ja coloquei new cmd; new cmd [256]; e mesmo assim da esse erro .Serб que vocкs poderiam me ajudar? Obrigado pela atenзгo.


Re: [AJUDA] Porfavor me ajudem com isso й bem simples - The Knight - 09.06.2011

  • VehicleName
Vocк criou alguma variбvel com "vehicleName" e ela nгo estб a ser usada, procure e apague.
  • ret_memcpy
Vocк estб a usar algum include (Dini ou dudb) que nгo estб a precisar, procure e apague.
  • cmd
Altere o "cmd" pelo parametro original do public, "cmdtext".



Re: [AJUDA] Porfavor me ajudem com isso й bem simples - TheGarfield - 09.06.2011

pawn Код:
#pragma unused ret_memcpy
new VehicleName[MAX_VEHICLE_NAME];

new cmd[256], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/aviso", true) == 0) {
new string[256];
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(IsPlayerAdmin(playerid)){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /aviso [id] [motivo]");
return 1;
}
plid = strval(tmp);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
if(IsPlayerConnected(plid)){
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "{FFFF00}[{E60000} ERRO {FFFF00}]{FFFFFF} Vocк sу pode avisar com uma razгo apropriada!");
}else{
aviso[plid]+=1;
if(aviso[plid]>= 3){
format(string, sizeof(string), "* [ Zй_Ninguem(bot) ] kickou o jogador %s (Motivo: limite de avisos)",pname);
SendClientMessageToAll(tcadm, string);
SetPlayerPos(plid, 831.9581,-1102.1510,24.2969);
GameTextForPlayer(plid,"~r~kickado~w~!", 2500, 3);
Kick(plid);
}
format(string, sizeof(string), "* O Administrador %s avisou o jogador: %s. (Motivo: %s - (%d/3)", aname,pname,result,aviso[plid]);
SendClientMessageToAll(tcadm, string);
}
}else{
format(string, sizeof(string), "{FFFF00}[{E60000} ERRO {FFFF00}]{FFFFFF} ID %d nгo й valido.", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
....


Re: [AJUDA] Porfavor me ajudem com isso й bem simples - The Knight - 09.06.2011

@TheGarfield
A variбvel "VehicleName" jб estava criada, porйm nгo estava a ter utilidade nenhuma porque nгo estava a ser usada.



Re: [AJUDA] Porfavor me ajudem com isso й bem simples - Rodrigo. - 09.06.2011

Obrigado Garfield e The Knight consegui aqui *----* vlws mesmo