Pregunta Urgente! D: -
outlook2013 - 02.09.2012
Hola a todos amigos, me baje un Gm de por aqui y me tira unos errores, quisiera ayudarlo
https://sampforum.blast.hk/showthread.php?tid=351590
los errores me los da al Compilar el gm de Espaсol..
les dejo los errores..
PHP код:
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(271) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(293) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(315) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(339) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(361) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(383) : error 017: undefined symbol "IsPlayerNPC"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(410) : warning 202: number of arguments does not match definition
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(411) : error 017: undefined symbol "CreatePlayer3DTextLabel"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(413) : error 017: undefined symbol "DeletePlayer3DTextLabel"
C:UsersLeandroDesktopFR 2013pawnoincludestreamer.inc(431) : error 017: undefined symbol "UpdatePlayer3DTextLabelText"
C:UsersLeandroDesktopFR 2013pawnoincludesscanf2.inc(103) : error 017: undefined symbol "IsPlayerNPC"
../include/gl_common.inc(80) : error 021: symbol already defined: "strtok"
../include/gl_common.inc(95) : error 047: array sizes do not match, or destination array is too small
../include/gl_common.inc(139) : error 021: symbol already defined: "isNumeric"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24160) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24652) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24657) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24662) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24668) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24675) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24683) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24769) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24771) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24798) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24802) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(24809) : error 017: undefined symbol "ShowPlayerDialog"
C:UsersLeandroDesktopFR 2013gamemodesfreeroamES.pwn(25032) : error 017: undefined symbol "ShowPlayerDialog"
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Respuesta: Pregunta Urgente! D: -
Master[Pro] - 02.09.2012
Hola, esos errores son porque tienes los includes desactualizados, buscalos y descargatos e intregalos a los demas includes que se encuentran en la carpeta pawno > include.
Sobre los errores que te anuncian alli: symbol already defined: "strtok"
este error se debe a que algun include que tienes agregado ya tiene definido el strtok y tu en tu gm tambien lo tienes definido por lo que dentor del gm presiona las teclas "CTRL + F" y coloca para buscar: strtok y borralo por completo.
Te saldra algo asi:
strtok
{
//las funciones que posee este mismo
}
Eso debes borrarlo.
En cuanto al error isNumeric es porque al igual que el strtok ya lo tienes definido, por lo que tienes que hacer lo mismo que te dije arriba: buscar con CTR + F la palabra "isNumeric" y borrarla por completo.
En cuanto a los otros errores como te dije anteriormente son porque tienes los includes desactualizados o simplemente no los posees, te recomendaria buscar en algun sitio o este mismo todos los includes....Saludos!
Re: Pregunta Urgente! D: -
outlook2013 - 02.09.2012
no te entendi muy bien que hacer con lo de Strtok, te paso la linea de eso y me lo dises como debo hacer.. gracias
PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new rampastyle;
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
// PM Command
dcmd(duelo, 5, cmdtext);
dcmd(registro,8,cmdtext);
if(strcmp("/cambiar", cmd, true) == 0)
{
if(ocultado[playerid] == 0){TextDrawHideForPlayer(playerid, CMDS);ocultado[playerid] = 1;}
else if(ocultado[playerid] == 1){TextDrawShowForPlayer(playerid, CMDS);ocultado[playerid] = 0;}
return 1;
}
if(strcmp("/pm", cmd, true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"USO: /pm (id) (mensaje)");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"USO: /pm (id) (mensaje)");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : el jugador no estб conectado");
return 1;
}
if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,PM_INCOMING_COLOR,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("PM: %s",Message);
}
else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"No puedes enviarte mensajes a ti mismo");
}
return 1;
}
//Kick
if(strcmp("/kick", cmd, true) == 0)
{
if(IsPlayerAdmin(playerid)) {
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Use: /kick (id) [razуn]");
}
new id = strval(tmp);
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : el jugador estб desconectado");
return 1;
}
gMessage = strrest(cmdtext,idx);
GetPlayerName(id,iName,sizeof(iName));
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"Has sido expulsado del servidor.");
if(strlen(gMessage) > 0) {
format(Message,sizeof(Message),"Razуn: %s",gMessage);
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
}
format(Message,sizeof(Message),">> %s(%d) ha sido expulsado.",iName,id);
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);
Kick(id);
return 1;
} else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : No eres administrador");
return 1;
}
}
//Ban Command
if(strcmp("/ban", cmd, true) == 0)
{
if(IsPlayerAdmin(playerid)) {
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Use: /ban (id) [razуn]");
}
new id = strval(tmp);
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : El jugador no estб conectado");
return 1;
}
gMessage = strrest(cmdtext,idx);
GetPlayerName(id,iName,sizeof(iName));
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"Has sido expulsado permanentemente de este servidor.");
if(strlen(gMessage) > 0) {
format(Message,sizeof(Message),"Razуn: %s",gMessage);
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
}
format(Message,sizeof(Message),">> %s(%d) ha sido expulsado permanentemente (BAN).",iName,id);
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);
Ban(id);
return 1;
} else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : No eres administrador");
return 1;
}
}
Respuesta: Pregunta Urgente! D: -
Master[Pro] - 02.09.2012
Hola, no, no tienes que borrar nada de ese comando, lo que tienes que borrar es esto; tienes que buscarlo casi alfinal del gm (cerca de las ultimas lineas de tu gm)
Tienes que borrar lo siguiente: (esto no esta en el comando, esta abajo definido cerca en la ultima linea de tu gm)
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
En cuanto a los demas errores que tienes, como te dije es porque tienes los includes desactualizados. Descarga este archivo que tiene los includes actualizados:
http://www.solidfiles.com/d/91e0c870c1/ luego descomprime el rar y todo eso, te apareceran una serie de archivos con formato INC, esos archivos tu los copias y los pegas en la carpeta de tu servidor > Pawno > Includes, si te sale algo que tienes que mover y reemplazar, selecciona esa opcion: Mover y Reemplazar Saludos!
Respuesta: Pregunta Urgente! D: -
Bu11Sh0t - 03.09.2012
Favor de utilizar los codigos entre pawn][/pawn] Con el [ al inicio.
Trata borrando el
pawn Код:
strtok(const string[], &index)
{
//....
}
Y
pawn Код:
isNumeric(/*algo aqui*/const string[])
Y tambien agregando
#include <a_samp> al include de pawnoincludestreamer.inc (carpeta Pawno > Includes, o bien solo carpeta includes).