Problem, while entering interior.
#1

So, if i make a new house and if i want to enter to interior, then SAMP probaly freezez. Screen flashes with very-very big lag. But if i restart gamemode and then if i want to enter to interior, then it all works. When i looked into MySQL database, then my Player position was "1158510000 -997313000 114946000".
Creating a house CMD
pawn Код:
CMD:teemaja(playerid, params[])
{
new mHind, meX, meY, meZ, mint, mvw = random(9999), aadress[24],Float:fenX, Float:fenY, Float:fenZ, string[80],query[400];
mysql_store_result();
new id = mysql_insert_id()+1;
mysql_free_result();
if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, V_PUNANE, NOTADMIN);
if(sscanf(params,"ifffis[24]", mHind, meX, meY, meZ, mint, aadress)) return SendClientMessage(playerid, V_PUNANE, "KASUTA: /teemaja [Hind][VдljumineX][VдljumineY][VдljumineZ][Interior][Aadress]");
GetPlayerPos(playerid, fenX, fenY, fenZ);
if(mint > 99) return SendClientMessage(playerid, V_PUNANE, "Maja interiццr vali valikus 1-99");
if(strlen(aadress) > 24) return SendClientMessage(playerid, V_PUNANE, "Maja aadress vali vahemikus 1-24 tдhemдrki");
format(string, sizeof(string), "[MЬЬA]\n%s\nHind:%i",aadress, mHind);
format(query, sizeof(query), "INSERT INTO housedata (HouseID, Price, EnterX, EnterY, EnterZ, ExitX, ExitY, ExitZ, Interior, World, Text, Owner, Owned, Locked) VALUES(%i, %i, %f, %f, %f, %f, %f, %f, %i, %i, '%s', 'None', 0, 0)", id, mHind, fenX, fenY, fenZ, meX, meY, meZ, mint, mvw, aadress);
mysql_query(query);
hInfo[id][Label] = Create3DTextLabel(string, COLOR_LIGHTORANGE,fenX,fenY, fenZ, 35.0, 0, 0);
hInfo[id][Pickup] = CreatePickup(1273,23, fenX, fenY, fenZ, -1);
hInfo[id][mID] = id;
hInfo[id][Price] = mHind;
hInfo[id][EnterX] = fenX;
hInfo[id][EnterY] = fenY;
hInfo[id][EnterZ] = fenZ;
hInfo[id][ExitX] = meX;
hInfo[id][ExitY] = meY;
hInfo[id][ExitZ] = meZ;
hInfo[id][mInterior] = mint;
hInfo[id][World] = mvw;
hInfo[id][Text] = aadress;
return 1;
}
Here is OnPlayerKeyStateChange function

pawn Код:
for(new i = 1; i < MAX_HOUSES; i++)
        {
        if(IsPlayerInRangeOfPoint(playerid,3.0, hInfo[i][EnterX], hInfo[i][EnterY], hInfo[i][EnterZ]))
        {
        if(hInfo[i][Locked] == 1) return SendClientMessage(playerid, V_PUNANE, "Maja on lukustatud");
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        PlayerInfo[playerid][pLastX] = x;
        PlayerInfo[playerid][pLastY] = y;
        PlayerInfo[playerid][pLastZ] = z;
        SetPlayerPos(playerid, hInfo[i][ExitX], hInfo[i][ExitY], hInfo[i][ExitZ]);
        SetPlayerInterior(playerid, hInfo[i][mInterior]);
        SetPlayerVirtualWorld(playerid,hInfo[i][World]);
Reply
#2

Eh not sure but you fucked up on Interior Cordinates.
Reply
#3

No, i have entered right cordinates and i told, if i restart the gamemode then i can enter to interior so thats not the problem.
Reply
#4

Freeze problem is beacaused by very high cordinates, but i have no idea, why they are set so high.
Reply
#5

meX, meY, and meZ should be Float:meX, Float:meY and Float:meZ.
Reply
#6

Thanks a lot, you made my day dude.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)