Ich lade meine Interiors aus der Datenbank und erstelle demnach einen Pickup für den Eingang des Interiors.
Ich habe es printen lassen und merkte, das OnPlayerPickUpPickup erst garnicht aufgerufen wird, aber wieso?
Die Pickups und 3DTextLabels werden erstellt und angezeigt.
public OnPlayerPickUpPickup(playerid, pickupid) {
for(new i = 0; i < sizeof(InteriorInfo); i++) {
if(pickupid == InteriorInfo[i][iPickup]) {
SetPlayerInterior(playerid, InteriorInfo[i][iInterior]);
SetPlayerVirtualWorld(playerid, InteriorInfo[i][iWorld]);
SetPlayerPos(playerid, InteriorInfo[i][iInteriorEingangX], InteriorInfo[i][iInteriorEingangY], InteriorInfo[i][iInteriorEingangZ]);
//SetPlayerFacingAngle(playerid, InteriorInfo[i][iInteriorEingangA]);
return 1;
}
}
return 1;
}
public LoadInteriors() {
new num_fields, num_rows;
cache_get_data(num_rows, num_fields, Database);
if(!num_rows) return 1;
new iname[128];
for(new i = 0; i < num_rows; i++) {
cache_get_field_content(i, "Name", iname, Database);
InteriorInfo[i][iName] = iname;
InteriorInfo[i][iWorld] = cache_get_field_content_int(i, "World", Database);
InteriorInfo[i][iInterior] = cache_get_field_content_int(i, "Interior", Database);
InteriorInfo[i][iInteriorEingangX] = cache_get_field_content_float(i, "InteriorEingangX", Database);
InteriorInfo[i][iInteriorEingangY] = cache_get_field_content_float(i, "InteriorEingangY", Database);
InteriorInfo[i][iInteriorEingangZ] = cache_get_field_content_float(i, "InteriorEingangZ", Database);
InteriorInfo[i][iEingangX] = cache_get_field_content_float(i, "EingangX", Database);
InteriorInfo[i][iEingangY] = cache_get_field_content_float(i, "EingangY", Database);
InteriorInfo[i][iEingangZ] = cache_get_field_content_float(i, "EingangZ", Database);
InteriorInfo[i][iAusgangX] = cache_get_field_content_float(i, "AusgangX", Database);
InteriorInfo[i][iAusgangY] = cache_get_field_content_float(i, "AusgangY", Database);
InteriorInfo[i][iAusgangZ] = cache_get_field_content_float(i, "AusgangZ", Database);
InteriorInfo[i][iAusgangA] = cache_get_field_content_float(i, "AusgangA", Database);
new String[256];
format(String, sizeof(String), "%s", InteriorInfo[i][iName]);
Create3DTextLabel(String, COLOR_YELLOW, InteriorInfo[i][iEingangX], InteriorInfo[i][iEingangY], InteriorInfo[i][iEingangZ], 40.0, 0, 0);
InteriorInfo[i][iPickup] = CreatePickup(1318, 0, InteriorInfo[i][iEingangX], InteriorInfo[i][iEingangY], InteriorInfo[i][iEingangZ], 0);
}
return 1;
}