Hallo ihr lieben, ich hab seit neustem ein Problem was ich einfach nicht von selbst beheben kann. Vielleicht liegt es auch daran das ich Tage nur noch am Scripten bin und einen zu viel hab
Ich wollte gerne mehrere 24/7 Eingangs-Coords in einem Enum speichern und bei OnPlayerKeyStateChange abfragen ob ein User in der nähe ist, und ihn dann in ein 24/7 porten.
Dann fiel mir auf: "Shit, ich muss ja den Spieler beim verlassen des 24/7's an die Stelle wo er es betreten hat hinporten." ....
Also dachte ich mir ich speicher vor dem Betreten (SetPlayerPos) die aktuellen Koordinaten in ein PVarFloat und wenn er es wieder verlassen will porte ich ihn zu diesen Koords.
Auf nem anderem Script hatte ich das schon mal gemacht, aber hier geht es einfach nicht mehr. Ich kann sie betreten, so wie es sein soll außer das verlassen, es geht komplett nicht.
Es passiert keim Drücken der Entertaste, gar nichts.
Hier die Codes:
Eingänge (Enum)
enum eShop
{
Float:enterx,
Float:entery,
Float:enterz,
vworld
}
new Shop[][eShop] = {
{2194.4937,1991.1366,12.2969,721},
{1693.0635,2208.5046,11.0692,782},
{1600.0396,2222.0349,11.0625,724}
};
OnPlayerKeyStateChange (Eingang & Ausgang abfragen)
//Betreten
for(new i=0; i<sizeof(Shop); i++)
{
if(IsPlayerInRangeOfPoint(playerid,7.2,Shop[i][enterx],Shop[i][entery],Shop[i][enterz]))
{
if(newkeys & KEY_SECONDARY_ATTACK)
{
new Float:ppx,Float:ppy,Float:ppz;
GetPlayerPos(playerid,ppx,ppy,ppz);
SetPVarFloat(playerid,"ShopX",ppx);
SetPVarFloat(playerid,"ShopY",ppy);
SetPVarFloat(playerid,"ShopZ",ppz);
SetPlayerPos(playerid,-25.132598,-139.066986,1003.546875);
SetPlayerInterior(playerid,16);
SetPlayerVirtualWorld(playerid,Shop[i][vworld]);
SendClientMessage(playerid,blau,"Willkommen im Supermarkt! /sellfish - Verlassen mit /exit");
}
}
}
//Verlassen
if(IsPlayerInRangeOfPoint(playerid,6.7,25.132598,-139.066986,1003.546875))
{
if(newkeys & KEY_SECONDARY_ATTACK)
{
SetPlayerPos(playerid,GetPVarFloat(playerid,"ShopX"),GetPVarFloat(playerid,"ShopY"),GetPVarFloat(playerid,"ShopZ"));
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
}
}
Kann mir da vielleicht jemand helfen?
Mfg, Michi.