[AYUDA]guardar interior
#1

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.

Aqui los comandos:

Код:
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");
}
De ante mano gracias
Reply
#2

Aquн hay algo mal:
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н:
SetPlayerInterior(playerid, 0);
https://sampwiki.blast.hk/wiki/Function:SetPlayerInterior
Reply
#3

No creo que esa sea la soluciуn, mi problema en si es que no se usar dini :c

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)