SA-MP Forums Archive
house problem - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: house problem (/showthread.php?tid=462905)



house problem - caoraivoso3 - 09.09.2013

well i am doing a house script but when i use /entrar i cannot enter



CMD:entrar(playerid,params[])
{

new pName[24];
for(new i = 0; i < MAX_CASAS;i++)
{
if(!IsPlayerInRangeOfPoint(playerid,8.0,CInfo[i][entradax],CInfo[entraday][entraday],CInfo[i][entradaz])) continue;
GetPlayerName(playerid,pName,24);//Storing the players name
if(CInfo[i][nomedacasa] == 1 && strcmp(CInfo[i][nomedacasa],pName) == 0)//String comparing between the players name and the house owners name, to check if they match.
SetPVarInt(playerid,"PlayersInteriorHouse",GetPlay erInterior(playerid));//Storing, so later we can reset it back
SetPVarInt(playerid,"PlayerVirtualWorldHouse",GetP layerVirtualWorld(playerid));//Storing, so later we can reset it back
SetPlayerInterior(playerid,12);//Setting the players interior.
SetPlayerPos(playerid,446.7281,507.0475,1001.4195) ;//Setting the players position.
SetPlayerVirtualWorld(playerid,CInfo[i][vw]);//Preventing players from different houses, finding each other.
return 1;
}
SendClientMessage(playerid,-1,"You aren't near a house!");
return 1;
}

can you help? it always saying "you arent near a house" but i am really close.
thanks if you helped me


Re: house problem - Konstantinos - 09.09.2013

You send the message even if they are in range or not.

pawn Код:
CMD:entrar(playerid,params[])
{
   
    new pName[24], bool: inrange = false;
    for(new i = 0; i < MAX_CASAS;i++)
    {
        if(!IsPlayerInRangeOfPoint(playerid,8.0,CInfo[i][entradax],CInfo[entraday][entraday],CInfo[i][entradaz])) continue;
        GetPlayerName(playerid,pName,24);//Storing the players name
        if(CInfo[i][nomedacasa] == 1 && strcmp(CInfo[i][nomedacasa],pName) == 0)//String comparing between the players name and the house owners name, to check if they match.
        {
            SetPVarInt(playerid,"PlayersInteriorHouse",GetPlay erInterior(playerid));//Storing, so later we can reset it back
            SetPVarInt(playerid,"PlayerVirtualWorldHouse",GetP layerVirtualWorld(playerid));//Storing, so later we can reset it back
            SetPlayerInterior(playerid,12);//Setting the players interior.
            SetPlayerPos(playerid,446.7281,507.0475,1001.4195) ;//Setting the players position.
            SetPlayerVirtualWorld(playerid,CInfo[i][vw]);//Preventing players from different houses, finding each other.
            inrange = true;
        }
    }
    if(!inrange) SendClientMessage(playerid,-1,"You aren't near a house!");
    return 1;
}
EDIT:
pawn Код:
if(CInfo[i][nomedacasa] == 1 && strcmp(CInfo[i][nomedacasa],pName) == 0)
[I]CInfo[nomedacasa] is integer or string? It should store the owner's name, shouldn't it? But you're checking if it's equal to 1 too.