17.06.2010, 21:12
(
Последний раз редактировалось Adoniiz; 30.08.2011 в 05:01.
)
Hola a todos, primero que nada un saludo hoy les traigo un tutorial. Y bueno vamos al grano
Algunas veces a ustedes al compilar les sale:
ese es el ejemplo del comando PM.
Para indexar aremos lo siguiente:
1) Para indexar hay que utilizar strtok
Si es para dcmd quedaria asi:
Ejemplo:
en strcmp quedaria asi:
Ejemplo:
Entonces como sale este error:
Aqui cambiaremos lo siguiente:
Bueno eso fue todo. Si no entendieron me mandan un pm o por msn y se los explico mejor
PD: Gracias a The_Chaoz que me explico.
Saludos
Algunas veces a ustedes al compilar les sale:
Quote:
X:\Rockstar Games\GTA San Andreas\XXXXXXXX\gamemodes\XXXXX.pwn(XXXX) : error 033: array must be indexed (variable "gMessage") |
Para indexar aremos lo siguiente:
1) Para indexar hay que utilizar strtok
Si es para dcmd quedaria asi:
Ejemplo:
pawn Код:
new tmp[256], Index;
tmp = strtok(params, Index);
Ejemplo:
Код:
new tmp[256], idx; tmp = strtok(cmdtext, idx);
Un ejemplo del comando pm (que a mi me salia ese error)
Bueno este es el comando de PM:pawn Код:
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
// PM Command
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 : Mal jugador ID");
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 puede Enviarse Pm a Usted Mismo");
}
return 1;
}
Quote:
X:\Rockstar Games\GTA San Andreas\XXXXXXXX\gamemodes\XXXXX.pwn(XXXX) : error 033: array must be indexed (variable "gMessage") |
pawn Код:
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256], idx; // Aqui le agregamos la idx
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
// PM Command
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); // el strrest por strtok
if(!strlen(gMessage)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Uso: /pm [ID] [Mensaje]");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Mal jugador ID");
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 puede Enviarse Pm a Usted Mismo");
}
return 1;
}
PD: Gracias a The_Chaoz que me explico.
Saludos