Hallo habe ein Problem und zwar wollte ein Enter/Exit System mit einer Schleife laufen lassen,
so alles soweit so gut.. die Teleports klappen.. jedoch wenn ich mich in ein Interior Porte setzt es mich in eine VirtualWorld
und wenn ich wieder raus porte, werde ich in eine Virtual World gesetz wo ich nichts mehr sehe, sprich Fahrzeuge, 3D Labels
Code:
new binfo[][enterexit] = {
{-2027.8751,-40.8133,38.8047,2215.454833,-1147.475585,1025.796875,15}, //NBH Drinnen
{2215.454833,-1147.475585,1025.796875,-2027.8751,-40.8133,38.8047,0} //NBH Draußen
};
for(new i=0; i<sizeof(binfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,2,binfo[i][e_x],binfo[i][e_y],binfo[i][e_z]))continue;
SetPlayerPos(playerid,binfo[i][e_ix],binfo[i][e_iy],binfo[i][e_iz]);
SetPlayerInterior(playerid,binfo[i][e_interior]);
SetPlayerVirtualWorld(playerid,i); // Hier wird er beim Eintreten ja in eine VirtualWorld gesetzt oder?
return 1;
}
// Das alles läuft unter der Taste "N" ab..
Jetzt wollte ich fragen was ich machen muss, damit beim exit keine VirtualWorld bzw "0" gesetzt wird
Kompletter Code von OnPlayerKeyStateChange
{
if(newkeys & KEY_NO)
{
if(IsPlayerInRangeOfPoint(playerid,0.5,-2023.4572,-46.0295,35.3635))
{
ShowPlayerDialog(playerid,DIALOG_ROLLER,DIALOG_STYLE_LIST,"Rollerverleih","Faggio (50$)","Mieten","Abbrechen");
for(new i=0; i<sizeof(binfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid,2,binfo[i][e_x],binfo[i][e_y],binfo[i][e_z]))continue;
SetPlayerPos(playerid,binfo[i][e_ix],binfo[i][e_iy],binfo[i][e_iz]);
SetPlayerInterior(playerid,binfo[i][e_interior]);
SetPlayerVirtualWorld(playerid,i);
return 1;
}
}
return 1;
}