Guten Abend liebe Brotfische,
ich habe nun ein Autohaus erstellt und lese die Autos mit diesem Public aus:
public OnPlayerCarsLoad(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,DB);
if(!num_rows)return 1;
for(new i=0; i<num_rows; i++)
{
new id=getFreeCarID();
cInfo[id][model]=cache_get_field_content_int(i,"model",DB);
cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",DB);
cInfo[id][c_x]=cache_get_field_content_float(i,"x",DB);
cInfo[id][c_y]=cache_get_field_content_float(i,"y",DB);
cInfo[id][c_z]=cache_get_field_content_float(i,"z",DB);
cInfo[id][c_r]=cache_get_field_content_float(i,"r",DB);
cInfo[id][db_id]=cache_get_field_content_int(i,"nr",DB);
cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
myowncar[cInfo[i][id_x]]=idx[playerid];//<<<<<< Hier
}
return 1;
}
Ihr seht, dass ich dort eine Variable "myowncar" erstellt habe, die ich natürlich auch oben im Script definiert habe.
Diese sollte eigentlich die idx von dem Spieler des jeweiligem Fahrzeug speichern, sodass ich bei meinem /lock - Befehl abfragen kann, ob es sein eigenes Auto ist.
Dann habe ich hier noch die "getFreeCarID()" Funktion:
getFreeCarID()
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)return i;
}
return 0;
}
Hier der /lock - Befehl:
ocmd:lock(playerid, params[])
{
for(new i=0; i<MAX_VEHICLES; i++)
{
new Float:vposx, Float:vposy, Float:vposz;
GetVehiclePos(i, vposx, vposy, vposz);
if(IsPlayerInRangeOfPoint(playerid, 3,vposx, vposy, vposz))
{
if(myowncar[i]==idx[playerid])
{
if(Lock[i] == true)
{
GameTextForPlayer(playerid, "~n~~n~~g~Fahrzeug aufgeschlossen", 2200, 5);
Lock[i] = false;
UnLockCar(i);
PlaySoundEx(playerid, 1147);//Hupe
return 1;
}
else
{
GameTextForPlayer(playerid, "~n~~n~~r~Fahrzeug abgeschlossen", 2200, 5);
Lock[i] = true;
LockCar(i);
PlaySoundEx(playerid, 1147);//Hupe
return 1;
}
}
else
{
SendClientMessage(playerid, LILA, "[Info:] Du hast keine Schlüssel.");
return 1;
}
}
}
return 1;
}
Dort frage ich ab, ob es sein eigenes Auto ist oder nicht.
Und hier befindet sich auch der Fehler bzw. oben bei "public OnPlayerCarsLoad(playerid)" da es dort in die Variable "myowncar" eingespeichert wird.
Es funktioniert nicht immer, nur wenn man alleine auf dem Server ist.
Wo befindet sich das Problem?
Ich hoffe ihr könnt mir helfen.
Mit freundlichen Grüßen,
Scriter4.0