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]))
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".
else
{
SendClientMessage(playerid,0xFF0000FF,"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, "/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");
}
}
}
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);
}
}
}
}
}