Sziasztok, a mai nap folyamán elkezdtem megirni egy ajtó rendszer szerűségét, ismét dini-ben dolgozom, csupán lenne egy problémám a betöltéssel kapcsolatban szerintem azzal van a baj.
Lerakja, a /ajto parancsal a Labelt- és a pickupot, ésha újrainditom a szervert, akkor nem teszi ugyanezt.
enum Ajto
{
a_id,
Float:a_x,
Float:a_y,
Float:a_z
}
new ajtokszama;
new aInfo[500][Ajto];
CMD:ajto(playerid)
{
new s[128],s2[128],file[128],Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
format(file,128,\"/Szerver/Ajtok/%d.ini\",ajtokszama);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"AjtoID\", ajtokszama);
dini_FloatSet(file, \"AjtoX\", X);
dini_FloatSet(file, \"AjtoY\", Y);
dini_FloatSet(file, \"AjtoZ\", Z);
format(s,128,\"Létrehoztál egy új ajtót ! ID : %d \",ajtokszama);
SendClientMessage(playerid, -1, s);
format(s2,128,\"Ajtó | ID : %d\", ajtokszama);
Create3DTextLabel(s2, 0xff0000FF, X, Y, Z, 20.0, 0, 0);
CreatePickup(1242, 2,X,Y,Z, -1);
ajtokszama++;
}
return 1;
}
public OnGameModeInit()
{
new s[128];
format(s,128, \"/Szerver/Ajtoszam.ini\");
ajtokszama = dini_Int(s, \"Ajtokszama\");
for(new i = 0; i<=ajtokszama; i++)
{
new fajl[128],s2[128];
format(fajl,128,\"/Szerver/Ajtok/%d.ini\",i);
aInfo[a_id] = dini_Int(fajl, \"AjtoID\");
aInfo[a_x] = dini_Float(fajl, \"AjtoX\");
aInfo[a_y] = dini_Float(fajl, \"AjtoZ\");
aInfo[a_z] = dini_Float(fajl, \"AjtoY\");
format(s2,128,\"Ajtó | ID : %d\",i);
Create3DTextLabel(s2, 0xff0000FF, aInfo[a_x], aInfo[a_y], aInfo[a_z], 20.0, 0, 0);
CreatePickup(1242, 2, aInfo[a_x], aInfo[a_y], aInfo[a_z], -1);
printf(\"[AJTÓ INFORMÁCIÓ] : A(z) ID : %d Ajtó sikeresen betöltve ! \",i);
}
SetGameModeText(\"Blank Script\");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
new s[128];
format(s,128, \"/Szerver/Ajtoszam.ini\");
if(fexist(s))
{
dini_IntSet(s,\"Ajtokszama\", ajtokszama);
}
else if(!fexist(s))
{
dini_Create(s);
dini_IntSet(s,\"Ajtokszama\", ajtokszama);
}
return 1;
}
Köszönöm a segitséget!