SA-MP Forums Archive
[duda] pasar fs a gm - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [duda] pasar fs a gm (/showthread.php?tid=416107)



[duda] pasar fs a gm - Nicosm - 16.02.2013

bueno mi duda es como paso este fs a mi gm:

Quote:

// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define FILTERSCRIPT

enum pMueble
{
pArmario,
pTV,
pCama,
pInodoro
};
new PlayerInfo[MAX_PLAYERS][pMueble];
new Float:X,Float:Y,Float:Z;
new tv[MAX_PLAYERS];
new Arm[MAX_PLAYERS];
new Bed[MAX_PLAYERS];
new Toi[MAX_PLAYERS];
zcmd(cmueble, playerid, params[])
{
if(!sscanf(params, "s[64]", params[0]))
{
if(strcmp(params[0], "TV", true) == 0)
{
PlayerInfo[playerid][pTV] = 1;
SendClientMessage(playerid, -1, "Has comprado una TV");
}
else if(strcmp(params[0], "Armario", true) == 0)
{
PlayerInfo[playerid][pArmario] = 1;
SendClientMessage(playerid, -1, "Has comprado un Armario");
}
else if(strcmp(params[0], "Cama", true) == 0)
{
PlayerInfo[playerid][pCama] = 1;
SendClientMessage(playerid, -1, "Has comprado una Cama");
}
else if(strcmp(params[0], "Inodoro", true) == 0)
{
PlayerInfo[playerid][pInodoro] = 1;
SendClientMessage(playerid, -1, "Has comprado un Inodoro");
}
} else SendClientMessage(playerid, -1, "Utiliza: /cmueble <TV> | <Armario> | <Cama> | <Inodoro>");
return 1;
}
zcmd(colocarm, playerid, params[])
{
if(!sscanf(params, "s[64]", params[0]))
{
if(strcmp(params[0], "TV", true) == 0)
{
if(PlayerInfo[playerid][pTV] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu TV");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
tv[playerid] = CreateObject(1786,X,Y,Z-0.8,0,0,0,50.0);
EditObject(playerid, tv[playerid]);
PlayerInfo[playerid][pTV] = 0;
} else SendClientMessage(playerid, -1, "No tienes un televisor!");
}
else if(strcmp(params[0], "Armario", true) == 0)
{
if(PlayerInfo[playerid][pArmario] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu Armario");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
Arm[playerid] = CreateObject(2025, X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Arm[playerid]);
PlayerInfo[playerid][pArmario] = 0;

} else SendClientMessage(playerid, -1, "No tienes un armario!");
} else if(strcmp(params[0], "Cama", true) == 0)
{
if(PlayerInfo[playerid][pCama] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu cama");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
Bed[playerid] = CreateObject(1725, X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Bed[playerid]);
PlayerInfo[playerid][pCama] = 0;
} else SendClientMessage(playerid, -1, "No tienes una cama!");
}
else if(strcmp(params[0], "Inodoro", true) == 0)
{
if(PlayerInfo[playerid][pInodoro] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu inodoro");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn");
GetPlayerPos(playerid, X,Y,Z);
Toi[playerid] = CreateObject(2528,X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Toi[playerid]);
PlayerInfo[playerid][pInodoro] = 0;
} else SendClientMessage(playerid, -1, "no tenes un baсo -.-!");
}
} else SendClientMessage(playerid, -1, "Utiliza: /colocarm <TV> | <Armario> | <Cama> | <Inodoro>");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

saludos,gracias


Respuesta: [duda] pasar fs a gm - JustBored - 16.02.2013

Jй y pensar que usarнan mi FS. Fa que gil que soy metн 3 callbacks de mбs. Ah y se hace asн primero borrб los #include y el #define FILTERSCRIPT y las callbacks OnPlayerDisconnect OnPlayerSpawn y OnPlayerInteriorChange que estбn al pedo en ese FS. No me dн cuenta cuando copiй el code de pastebin. Despuйs copias desde el enum hasta el fin del cmd /colocarm y los pegбs en tu GM. Acordate de tener los includes zcmd y sscanf en tu GM sino no te servirб. Ah y agradecerнa que me dejes los creditos en tu GM. Si los pusiste te agradezco sino bueno hazlo.


Respuesta: [duda] pasar fs a gm - Nicosm - 16.02.2013

Si quйdate tranquilo quй respetare los creditos, nadie los respeta pero yo valoro el trabajo del otro ya quй no me gustaria quй me los robasen algъn dнa.. saludos y te aviso si me sirvio..
PD: Me encanto el sistema.
EDIT: Uso strcmp ya pase el cmd, tira todos estos errores , creo que de esta linea:
new PlayerInfo[MAX_PLAYERS][pMueble];
porque si la saco tira 4 errores.


Quote:

D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(1713) : error 021: symbol already defined: "PlayerInfo"
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2239) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2239) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2249) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2249) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2253) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2253) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2612) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2612) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2803) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2803) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2836) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2836) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2837) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2837) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2839) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2839) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2840) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2840) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2843) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2843) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2845) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2845) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2859) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2859) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2860) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2860) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2901) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2901) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2902) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2902) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2905) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2905) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2924) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2924) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2933) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2933) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2942) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2942) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2947) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2947) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2952) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2952) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2974) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2974) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2975) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2975) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2991) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2991) : error 032: array index out of bounds (variable "PlayerInfo")
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2992) : warning 213: tag mismatch
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(2992) : error 032: array index out of bounds (variable "PlayerInfo")

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


26 Errors.




Re: [duda] pasar fs a gm - digman - 16.02.2013

Tu gm tiene q usar ZCMD Y SSCANF2, en el caso que uses strcmp tendras q usar esto:

https://sampforum.blast.hk/showthread.php?tid=276063

o convertir todos los cmds q tenes a zcmd ....

en el caso q tengas zcmd y sscanf2 .... nomas copias desde:

Код:
enum pMueble
{
pArmario,
pTV,
pCama,
pInodoro
};
new PlayerInfo[MAX_PLAYERS][pMueble];
new Float:X,Float:Y,Float:Z;
new tv[MAX_PLAYERS];
new Arm[MAX_PLAYERS];
new Bed[MAX_PLAYERS];
new Toi[MAX_PLAYERS];
zcmd(cmueble, playerid, params[])
{
if(!sscanf(params, "s[64]", params[0]))
{
if(strcmp(params[0], "TV", true) == 0)
{
PlayerInfo[playerid][pTV] = 1;
SendClientMessage(playerid, -1, "Has comprado una TV");
}
else if(strcmp(params[0], "Armario", true) == 0)
{
PlayerInfo[playerid][pArmario] = 1;
SendClientMessage(playerid, -1, "Has comprado un Armario");
}
else if(strcmp(params[0], "Cama", true) == 0)
{
PlayerInfo[playerid][pCama] = 1;
SendClientMessage(playerid, -1, "Has comprado una Cama");
}
else if(strcmp(params[0], "Inodoro", true) == 0)
{
PlayerInfo[playerid][pInodoro] = 1;
SendClientMessage(playerid, -1, "Has comprado un Inodoro");
}
} else SendClientMessage(playerid, -1, "Utiliza: /cmueble <TV> | <Armario> | <Cama> | <Inodoro>");
return 1;
}
zcmd(colocarm, playerid, params[])
{
if(!sscanf(params, "s[64]", params[0]))
{
if(strcmp(params[0], "TV", true) == 0)
{
if(PlayerInfo[playerid][pTV] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu TV");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
tv[playerid] = CreateObject(1786,X,Y,Z-0.8,0,0,0,50.0);
EditObject(playerid, tv[playerid]);
PlayerInfo[playerid][pTV] = 0;
} else SendClientMessage(playerid, -1, "No tienes un televisor!");
}
else if(strcmp(params[0], "Armario", true) == 0)
{
if(PlayerInfo[playerid][pArmario] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu Armario");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
Arm[playerid] = CreateObject(2025, X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Arm[playerid]);
PlayerInfo[playerid][pArmario] = 0;

} else SendClientMessage(playerid, -1, "No tienes un armario!");
} else if(strcmp(params[0], "Cama", true) == 0)
{
if(PlayerInfo[playerid][pCama] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu cama");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn en la que estarб");
GetPlayerPos(playerid, X,Y,Z);
Bed[playerid] = CreateObject(1725, X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Bed[playerid]);
PlayerInfo[playerid][pCama] = 0;
} else SendClientMessage(playerid, -1, "No tienes una cama!");
}
else if(strcmp(params[0], "Inodoro", true) == 0)
{
if(PlayerInfo[playerid][pInodoro] == 1)
{
SendClientMessage(playerid, -1, "Colocaste tu inodoro");
SendClientMessage(playerid, -1, "Ahora elige la posiciуn");
GetPlayerPos(playerid, X,Y,Z);
Toi[playerid] = CreateObject(2528,X,Y,Z-0.7,0,0,0,50.0);
EditObject(playerid, Toi[playerid]);
PlayerInfo[playerid][pInodoro] = 0;
} else SendClientMessage(playerid, -1, "no tenes un baсo -.-!");
}
} else SendClientMessage(playerid, -1, "Utiliza: /colocarm <TV> | <Armario> | <Cama> | <Inodoro>");
return 1;
}
y listo....

pero si tienes la variable: PlayerInfo

de esta forma la tendras seguro (3dimenciones) : PlayerInfo[MAX_PLAYERES]["ESTOESIMPORTANTE"] y buscas lo q puse yo entre comilla pero a vos te dira otra cosa y si lo tienes seguro aparecera como esto:
peje1,
peje2,
peje3, y asi susesivamente y en el ultimo no tendra la coma ya q se cierra con ; y tendras q agregar y viste el q estaba antes el q no tenia la coma le agregas la coma y pones estos:

pArmario,
pTV,
pCama,
pInodoro

y listo lo tendras....


Respuesta: [duda] pasar fs a gm - JustBored - 16.02.2013

Los clasicos 26 errores. Pasб el code y te lo arreglo. Seguro le debe faltar un return o un corchete.


Respuesta: [duda] pasar fs a gm - Nicosm - 16.02.2013

no entendi aca dejo imagenes... (me tira 26 errores)








Respuesta: [duda] pasar fs a gm - JustBored - 17.02.2013

OnPlayerCommandText tiene que terminar retornando a 0. No a 1


Respuesta: [duda] pasar fs a gm - Nicosm - 17.02.2013

osea? pongo el return en 0 o que ?


Respuesta: [duda] pasar fs a gm - JustBored - 17.02.2013

Ah no ahora entendн. їCуmo es tu enum? osea porque mirб el primer error es este:
pawn Код:
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(1713) : error 021: symbol already defined: "PlayerInfo"
. Coso, yo el enum por costumbre lo puse por pInfo y vos ya lo debes de tener definido. En el enum de pInfo agregб
pawn Код:
pCama,
pArmario,
pTV,
pInodoro
y borrб el otro enum osea el que yo le puse al FS. Lo que pasa es que creo que vos ya tenes definido ese enumerador.


Respuesta: [duda] pasar fs a gm - pinpon - 17.02.2013

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Ah no ahora entendн. їCуmo es tu enum? osea porque mirб el primer error es este:
pawn Код:
D:\Usuarios\Desktop\Sudamerica Real\gamemodes\bk\SUDAMERICARP.pwn(1713) : error 021: symbol already defined: "PlayerInfo"
. Coso, yo el enum por costumbre lo puse por pInfo y vos ya lo debes de tener definido. En el enum de pInfo agregб
pawn Код:
pCama,
pArmario,
pTV,
pInodoro
y borrб el otro enum osea el que yo le puse al FS. Lo que pasa es que creo que vos ya tenes definido ese enumerador.
Ya tienes definido PlayerInfo,solo borra un Enum PlayerInfo ,y coloca los demas , Ejemplo:

pawn Код:
Enum Conchetumare
{
memeo,
chingatumadre,
};

new PlayerInfo[Max_Players] [Conchetumare];

Quote:

osea? pongo el return en 0 o que ?

Al final de OnPlayerCommandText siempre hay un return 0 o alguna mierda de mensaje,ah eso se refiere.