Vielleicht kennt ihr ja meinen letzten Thread. Breadfish konnte mir da sehr helfen danke nochmals falls die Helfer das lesen!
Nun zum neuen Problem. Damit das individuelle Ganghaussystem fertig ist muss ich bestimmte Koordinaten speichern, um sie dann später mit IfIsPlayerInRangeOFPoint abzurufen. Ohne zwischendurch sich auszuloggen klappt die Funktion bis ins Detail. Nur ist das Problem obwohl ich meiner Meinung nach die Koordinaten richtig gespeichert hab, nähmlich genau so wie die Drogen oder Mats auch, klappt es einfach nicht das diese abegrufen werden und bei IsPlayerInRangeOFPoint einfach funktionieren.
Damit ihr das ganze verfolgen könnt, hier die Zeiln von Pawno(pDrugs immer als Beispielswert bei den die Abspeicherung klappt):
enum pInfo
{
pDrugs,
Float:pDx,
Float:pDy,
Float:pDz,
}
Das was jetzt folgt hab ich genau so auch für pDy und pDz gemacht!
Function OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
if (hFile)
{
format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pDx]);fwrite(hFile, var);
}
}
}
Function PlayerUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
if (hFile)
{
format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pDx]);fwrite(hFile, var);
}
}
}
}
Function OnPlayerLogin(playerid,password[])
{
if ( UserFile )
{
if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
{
while ( fread( UserFile , Data , sizeof( Data ) ) )
{
if( strcmp( key , "Drugs" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDrugs] = strval( val ); }
if( strcmp( key , "VerstecktesKokainX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMx] = strval( val ); }
}
}
}
}
Das ist dann die Funktion die trotz ausloggen funktionieren soll. Wie gesagt ohne auszuloggen funktioniert sie aber wenn man sich ausgeloggt hat kommt immer das "else" "Hier hast du nichts versteckt".
if(strcmp(cmdtext, "/dverstecken10" , true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
new location = PlayerInfo[playerid][pLocal];
if(location < 255)
{
if(PlayerInfo[playerid][pDrugs] > 9)
{
new Float:dx,Float:dy,Float:dz;
PlayerInfo[playerid][pDrugs] -= 10;
PlayerInfo[playerid][Versteck] += 10;
SendClientMessage(playerid,0xFF0000FF,"10 Gramm Kokain versteckt");
GetPlayerPos(playerid,dx,dy,dz);
PlayerInfo[playerid][pDx] = dx;
PlayerInfo[playerid][pDy] = dy;
PlayerInfo[playerid][pDz] = dz;
}
}
}
}
}
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 Kokain genommen");
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Du hast hier nicht genug Kokain");
}
}
}
else
{
SendClientMessage(playerid,0xFF0000FF,"Hier hast du nichts versteckt");
}
}
}