14.02.2019, 18:38
The problem I'm having is that I have an if and else but it calls both. As you can see in the output below, else is called a lot of times before it prints out what happens in the if statement (the playerpos, etc).
If the player doesn't actually own a house, it crashes GTA:SA for the player and console is spammed with even more elses.
It still outputs else called but the last part now does this:
5828 (5000 + HouseID)
827 is the last house id and the player doesn't own a house? What is going on?
Код:
for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { if (strcmp(AHouseData[HouseID][Owner], Name, false) == 0) { hLevel = AHouseData[HouseID][HouseLevel]; SetPlayerVirtualWorld(playerid, 5000 + HouseID); printf("SetPlayerVirtualWorld(%d, %d);", playerid, 5000 + HouseID); SetPlayerInterior(playerid, AHouseInteriors[hLevel][InteriorID]); printf("SetPlayerInterior(%d, %d);", playerid, AHouseInteriors[hLevel][InteriorID]); SetPlayerPos(playerid, AHouseInteriors[hLevel][IntX], AHouseInteriors[hLevel][IntY], AHouseInteriors[hLevel][IntZ]); printf("SetPlayerPos(%d, %f, %f, %f);", playerid, AHouseInteriors[hLevel][IntX], AHouseInteriors[hLevel][IntY], AHouseInteriors[hLevel][IntZ]); APlayerData[playerid][CurrentHouse] = HouseID; SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}Use {FFFF00}/housemenu{FFFF00} to change options for your house"); return 1; } else { printf("Else called"); }
Код:
Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called Else called SetPlayerInterior(0, 10); SetPlayerPos(0, 2260.760009, -1210.449951, 1049.020019);
It still outputs else called but the last part now does this:
Код:
SetPlayerVirtualWorld(0, 5828); SetPlayerInterior(0, 0); SetPlayerPos(0, 0.000000, 0.000000, 0.000000);
827 is the last house id and the player doesn't own a house? What is going on?