Estoy editando un sistema de clanes, necesito ayuda con estos comando, quiero guardar la posiciуn e interior.
El problema es cuando uso el comando /base no me lleva al interior guardado y me da este warning en la linea "SetPlayerInterior(playerid,dini_Int(gFileId(Playe rDat[playerid][GangID]),"Base_Interior"));" (354) warning 202: number of arguments does not match definition.
Код:
CMD:clanbase(playerid,params[]) //esto crear la base del clan
{
if(GetPlayerVirtualWorld(playerid) !=0 ) return GameTextForPlayer(playerid,"~r~(error)~n~lugar no admitido",2500,3);
new gangid = strval(params);
if(!GangManager[playerid] == 0 ) return SendClientMessage(playerid,LightRed,"[ERROR]:- No eres el lider del clan!");
if(sscanf(params,"i",gangid)) return ShowPlayerDialog(playerid,ERROR_DIALOG+9,DIALOG_STYLE_MSGBOX,"{EA0000}ERROR!","{FFFFFF}[USA]:- /clanbase [id clan]","Ok","");
if(!dini_Exists(gFileId(gangid))) return SendClientMessage(playerid,LightRed,"[ERROR]:- Esta ID no corresponde a tu clan!");
new Float:X,Float:Y,Float:Z,Float:Angle,Interior;
GetPlayerPos(playerid,X,Y,Z);
Interior = GetPlayerInterior(playerid);
GetPlayerFacingAngle(playerid,Angle);
dini_IntSet(gFileId(gangid),"GangHasABase",1);
dini_FloatSet(gFileId(gangid),"Base_X",X);
dini_FloatSet(gFileId(gangid),"Base_Y",Y);
dini_FloatSet(gFileId(gangid),"Base_Z",Z);
dini_Int(gFileId(gangid),"Base_Interior",Interior);
dini_FloatSet(gFileId(gangid),"Base_Angle",Angle);
new string[256];
format(string,sizeof(string),"[CLAN] %d(%s)'s Base clan creada en X:%f, Y:%f, Z:%f, Angle:%f, Interior:%i",gangid,dini_Get(gFileId(gangid),"GangName"),X,Y,Z,Angle,Interior);
SendMessageToGangMembers(PlayerDat[playerid][GangID],azulc,string);
return 1;
}
//
CMD:base(playerid,params[]) // para ir a la base
{ if(GetPlayerVirtualWorld(playerid) !=0 ) return GameTextForPlayer(playerid,"~r~(error)~n~lugar no admitido",2500,3);
if(PlayerDat[playerid][InGang] == 1)
{
if(dini_Int(gFileId(PlayerDat[playerid][GangID]),"GangHasABase") == 1)
{
SetPlayerPos(playerid,dini_Float(gFileId(PlayerDat[playerid][GangID]),"Base_X"),dini_Float(gFileId(PlayerDat[playerid][GangID]),"Base_Y"),dini_Float(gFileId(PlayerDat[playerid][GangID]),"Base_Z"));
SetPlayerInterior(playerid,dini_Int(gFileId(PlayerDat[playerid][GangID]),"Base_Interior"));
SetPlayerFacingAngle(playerid,dini_Float(gFileId(PlayerDat[playerid][GangID]),"Base_Angle"));
new string[256];
format(string,sizeof(string),"[CLAN] Estas en la base de tu clan!");
SendClientMessage(playerid,azulc,string);
return 1;
}
else return SendClientMessage(playerid,LightRed,"[ERROR]:- Tu clan no tiene base, para crear una base usa /clanbase!");
}
else return SendClientMessage(playerid,LightRed,"[ERROR]:- No tienes clan, si quieres crear uno usa /crearclan");
}
SetPlayerInterior(playerid,dini_Int(gFileId(Playe rDat[playerid][GangID]),"Base_Interior"));
El "Base_Interior" estarнa de mбs por eso te tira warning. Es asн:
y lo que quiero lograr es un comando que no solo guarde la posiciуn sino tambiйn el interior y cuando use el comando /base pueda teletransportarme a la coordenada e interior guardado con el comando /clanbase