Guten abend user
Ich schreibe gerade ein interior system das per dini leuft
er zeigt mir die icons usw ordentlich an in der datei steht alles ordentlich drin...
wenn ich denn cmd zum betreten ein tippe portet er mich nicht an die gesetzte position sondern irgendwo in die pampa
der command:
if (strcmp(cmd, "/betreten", true) == 0)
{
for(new h = 0; h < sizeof(Intsystem); h++)
{
if(Intsystem[h][OnGang] == 0)
{
if(PlayerToPoint(5.0,playerid,Intsystem[h][EEnterx],Intsystem[h][EEntery],Intsystem[h][EEnterz]))
{
GivePlayerMoney(playerid,-Intsystem[h][Eintritt]);
Intsystem[h][Kasse] += Intsystem[h][Eintritt];
Intsystem[h][Eint] = dini_Int(string,"Eint");
SetPlayerInterior(playerid,Intsystem[h][Eint]);
Intsystem[h][EExitx] = dini_Int(string,"EExitx");
Intsystem[h][EExity] = dini_Int(string,"EExity");
Intsystem[h][EExitz] = dini_Int(string,"EExitz");
SetPlayerVw(playerid, h);
SetPlayerPos(playerid,Intsystem[h][EExitx],Intsystem[h][EExity],Intsystem[h][EExitz]);
}
}
else if(Intsystem[h][OnGang] == 1)
{
if(PlayerInfo[playerid][Fraktion]== Intsystem[h][GangID])
{
if(PlayerToPoint(5.0,playerid,Intsystem[h][EEnterx],Intsystem[h][EEntery],Intsystem[h][EEnterz]))
{
SetPlayerInterior(playerid,Intsystem[h][Eint]);
SetPlayerVw(playerid, h);
//SetPlayerInterior(playerid,Intsystem[h][EInterior]);
SetPlayerPos(playerid,Intsystem[h][EExitx],Intsystem[h][EExity],Intsystem[h][EExitz]);
SetPlayerInterior(playerid,Intsystem[h][Eint]);
}
}
}
}
return 1;
}
Die ladung:
public LoadInts()
{
new Interiorid[64];
for(new InteriorID = 0; InteriorID < sizeof(Intsystem); InteriorID++)
{
format(Interiorid, sizeof(Interiorid), "/ints/%d.ini", InteriorID);
if(dini_Exists(Interiorid))
{
Intsystem[InteriorID][EEnterx] = dini_Float(Interiorid, "EEnterx");
Intsystem[InteriorID][EEntery] = dini_Float(Interiorid, "EEntery");
Intsystem[InteriorID][EEnterz] = dini_Float(Interiorid, "EEnterz");
strmid(Intsystem[InteriorID][EnterText],dini_Get(Interiorid,"EnterText"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
Intsystem[InteriorID][EExitx] = dini_Float(Interiorid, "EExitx");
Intsystem[InteriorID][EExity] = dini_Float(Interiorid, "EExity");
Intsystem[InteriorID][EExitz] = dini_Float(Interiorid, "EExitz");
Intsystem[InteriorID][Eint] = dini_Int(Interiorid, "Eint");
Intsystem[InteriorID][GangID] = dini_Int(Interiorid, "GangID");
Intsystem[InteriorID][OnGang]= dini_Int(Interiorid, "OnGang");
Intsystem[InteriorID][Kasse]= dini_Int(Interiorid, "Kasse");
Intsystem[InteriorID][Eintritt]= dini_Int(Interiorid, "Eintritt");
new string[256];
format(string, sizeof(string), "ID:%d\n%s\nEintritt: %s",InteriorID,Intsystem[InteriorID][EnterText],Intsystem[InteriorID][Eintritt]);
Int3d = Create3DTextLabel(string,COLOR_ORANGE,Intsystem[InteriorID][EEnterx], Intsystem[InteriorID][EEntery],Intsystem[InteriorID][EEnterz]+1,25,0,1);
CreatePickup(1239, 2, Intsystem[InteriorID][EEnterx], Intsystem[InteriorID][EEntery], Intsystem[InteriorID][EEnterz]);
}
}
return 0;
}
//edit
// ich habs mal so probiert passiert aber nix.....
if(strcmp(cmd, "/enter",true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new h = 0; h < sizeof(EnterExitSys); h++)
{
if (PlayerToPoint(3, playerid,EnterExitSys[h][EEnterx], EnterExitSys[h][EEntery], EnterExitSys[h][EEnterz]))
{
GivePlayerMoney(playerid,-EnterExitSys[h][Eintritt]);
//EnterExitSys[h][Kasse] += EnterExitSys[h][Eintritt];
SetPlayerInterior(playerid,EnterExitSys[h][Eint]);
SetPlayerVirtualWorld(playerid, h);
SetPlayerPos(playerid,EnterExitSys[h][EExitx],EnterExitSys[h][EExity],EnterExitSys[h][EExitz]);
}
}
}
return 1;
}
//edit fehler entfernt
mfg fußboden