Hallo Leute,
ich habe ein Problem mit dieser Funktion. Ich will das man in einen Haus Mats/Drogen ablegen kann und auch nur in den Haus wo man sie abgelegt hat diese wieder aufnehmen kann. Ich habe bei den Befehl zum ablegen...
GetPlayerPos(playerid, dposX, dposY, dposZ);
...gesetzt damit die Position genommen wird. Dann habe ich diese definiert damit das auch abgespeichert werden kann mit...
new Float:dposX,Float:dposY,Float:dposZ;
PlayerInfo[playerid][pDx] = dposX;
PlayerInfo[playerid][pDy] = dposY;
PlayerInfo[playerid][pDz] = dposZ;
...und dann bei dem Befehl zum aufnehmen gesetzt das der Spieler an diesen Punkt sein muss
if(IsPlayerInRangeOfPoint(playerid,10, PlayerInfo[playerid][pDx],PlayerInfo[playerid][pDy],PlayerInfo[playerid][pDz]))
{
(Verschieden Funktionen die ohne IsPlayerInRangeOfPoint funktionierten nur das man seine Drogen/Mats in jeden Haus abholen konnte)
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Hier hast du nichts versteckt");
}
Das ganze habe ich von der Funktion abgeguckt bei der ein Spieler stirbt und wiederbelebt werden kann per Befehl.
Wenn ich jetzt aber die Drogen/Mats aufnehmen will kommt Ingame "Hier hast du nichts versteckt".
Ich bin schon seid Ewigkeiten dabei und bekomme es einfach nicht hin. Kann mir jemadn sagen wo der Fehler liegt?
Damit man sich das ganze genau angucken kann hier nochmal der ganze Befehl:
if(strcmp(cmdtext, "/dverstecken10" , true) == 0)
{
if(IsPlayerConnected(playerid))
{
new location = PlayerInfo[playerid][pLocal];
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if(location < 255)
{
if(PlayerInfo[playerid][pDrugs] > 9)
{
PlayerInfo[playerid][pDrugs] -= 10;
PlayerInfo[playerid][Versteck] += 10;
SendClientMessage(playerid,0xFF0000FF,"10 Gramm versteckt");
GetPlayerPos(playerid, dposX, dposY, dposZ);
}
}
}
}
}
if(strcmp(cmdtext, "/dnehmen10" , true) == 0)
{
if(IsPlayerConnected(playerid))
{
new location = PlayerInfo[playerid][pLocal];
if(IsPlayerInRangeOfPoint(playerid,10, PlayerInfo[playerid][pDx],PlayerInfo[playerid][pDy],PlayerInfo[playerid][pDz]))
{
if(location < 255)
{
if(PlayerInfo[playerid][Versteck] > 9)
{
PlayerInfo[playerid][pDrugs] += 10;
PlayerInfo[playerid][Versteck] -= 10;
SendClientMessage(playerid,0xFF0000FF,"10 Gramm genommen");
}
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Hier hast du nichts versteckt");
}
}
}