Hey, habe ein Problem mit teleports, wieso auch immer. Kann mir das selber momentan nicht erklären, denke mal dass es aber nur ein kleiner Fehler ist.
C
#define MAX_EAT 2
enum e_EatData
{
Float:eatX,
Float:eatY,
Float:eatZ,
Float:eatIntX,
Float:eatIntY,
Float:eatIntZ,
eatInterior,
eatType // 0 = BSN, 1 = Cluckin Bell, 2 = Well Stacked
}
new EAT[MAX_EAT][e_EatData] = {
//BSN
{811.982, -1616.02, 12.618, 363.2464,-74.7937,1001.5078, 10, 0},
{1199.13, -918.071, 42.3243, 363.2464,-74.7937,1001.5078, 10, 0}
};
// Beim Server Start (Pickup und Text erscheinen richtig)
for(new i=0;i<MAX_EAT;i++)
{
CreatePickup(1318, 1, EAT[i][eatX], EAT[i][eatY], EAT[i][eatZ]+0.5, 0);
format(eatString, sizeof(eatString), COLOR_HEX_YELLOW"%s\n"COLOR_HEX_WHITE"Drücke "COLOR_HEX_YELLOW"Enter"COLOR_HEX_WHITE" um das Lokal zu betreten.", GetLokalName(EAT[i][eatType]));
Create3DTextLabel(eatString, COLOR_ALPHA_WHITE, EAT[i][eatX], EAT[i][eatY], EAT[i][eatZ]+0.5, 10.0, 0, 0);
}
// Bei OnPlayerKeyStateChange, sobald "Enter" gedrückt wird
for(new i=0;i<MAX_EAT;i++)
{
if(IsPlayerInRangeOfPoint(playerid, 1.5, EAT[i][eatX], EAT[i][eatY], EAT[i][eatZ]))
{
if(IsPlayerInAnyVehicle(playerid))return 1;
SetPlayerInterior(playerid, EAT[i][eatInterior]);
SetPlayerVirtualWorld(playerid, i);
SetPlayerPos(playerid, EAT[i][eatIntX], EAT[i][eatIntY], EAT[i][eatIntZ]);
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid, 1.5, EAT[i][eatIntX], EAT[i][eatIntZ], EAT[i][eatIntY]) && GetPlayerVirtualWorld(playerid) == i)
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, EAT[i][eatX], EAT[i][eatY], EAT[i][eatZ]);
return 1;
}
}
Alles anzeigen
Das ist alles was ich erstmal von dem Code habe.
Das Problem ist folgendes:
Wenn ich zum Pickup gehe, und Enter drücke, komme ich in das Gebäude hinein.
Beim Verlassen passiert einfach garnichts.
Danke.