public OnPlayerPickUpPickup(playerid, pickupid) { new string[128]; for(new haI = 0; haI < MAX_HOUSES; haI++) { if(pickupid == HousePickup[haI]) { format(string, sizeof(string), "This is test and house id is: %d", haI); SendClientMessage(playerid, COLOR_GREEN, string); } } return 1; }
You can't allocate IDs, just store them. When you create a pickup for a house, remember the ID it returns and compare that instead.
|
stock LoadHouses() { new Str[255], hID, Float:intX, Float:intY, Float:intZ, Float:exitX, Float:exitY, Float:exitZ, hOwner[24], hWorld, hPrice, hIntID, hLocked; mysql_query("SELECT * FROM `houses`"); mysql_store_result(); new haI = 1; if(mysql_num_rows() > 0) { while(mysql_fetch_row(Str)) { sscanf(Str, "p<|>iffffffs[24]iiii", hID, intX, intY, intZ, exitX, exitY, exitZ, hOwner, hWorld, hPrice, hIntID, hLocked); HousePickup[hID] = CreatePickup(1273, 1, exitX, exitY, exitZ); iHos[haI][haID] = haI; iHos[haI][haIntX] = intX; iHos[haI][haIntY] = intY; iHos[haI][haIntZ] = intZ; iHos[haI][haExitX] = exitX; iHos[haI][haExitY] = exitY; iHos[haI][haExitZ] = exitZ; iHos[haI][haIntID] = hIntID; iHos[haI][haPrice] = hPrice; iHos[haI][haLocked] = hLocked; iHos[haI][haWorld] = hWorld; format(iHos[haI][haOwner], 24, "%s", hOwner); haI++; hTotal++; } } mysql_free_result(); printf("** %i\t<->\tHouses Loaded from\t<->\tMySQL\t\t **", hTotal); new FormatBuffer[255]; format(FormatBuffer,sizeof(FormatBuffer),"ID: %i", HousePickup[hID]); print(FormatBuffer); return 1; }