Nem tudtam tesztelni.
A logikai menet ez lenne igazából.
A tapasztalati pontot már a játékos bejelentkezésekor (login)már be kell tölteni az arra kijelölt változóra. (PlayerInfo[playerid][experience])
Ezután nem kell lekérni az adatot újból csak menteni de ezt se muszáj feltétlenül a parancsban.
Na mindegy, ha sokat foglalkozol majd ezzel a ***** akkor idõvel logikusabb megoldásokat próbálsz írni.
[pawn]/////////////////////////////////////[Xpad]///////////////////////////////////////
CMD:xpad(playerid,params[])
{
if(PlayerInfo[playerid][adminlevel] > 2)
{
new
addplayerid,
EXP;
if(sscanf(params, \"ui\", addplayerid, EXP)) SendClientMessage(playerid, COLOR_RED, \"HIBA: /xpad [iD] [EXP]\");
else if(addplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A megadott id-n nincs online játékos.\");
else
{
new
tmp[256],
getname[MAX_PLAYER_NAME];
GetPlayerName(addplayerid, getname, sizeof(getnamee)); // Név lekérése.
format(tmp, sizeof(tmp), \"/Registration/%s.ini\", getname); // Regisztrációs fájl elérési útjának meghatározása
PlayerInfo[addplayerid][experience] += EXP; // Tapasztalati pont növelése a játékosnak (addplayerid)
dini_IntSet(tmp, \"Experience | Tap pont\", PlayerInfo[addplayerid][experience]); // Adat mentése a regisztrációs fájlba
SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen beállítottad a tapasztalati pontjait.\"); // Üzenet a parancsot használó adminnak
SendClientMessage(addplayerid, COLOR_GREEN, \"Egy admin beállította a tapasztalati pontjaid!\"); // Üzenet annak akinek növelve lett a tapasztalati pontja
}
} else SendClientMessage(playerid, COLOR_RED, \"HIBA: Nem elég magas az adminszinted!\");
return 1;
}[/pawn]
Ismétlem, nem teszteltem, nem hoztam létre minden körülményt hogy tesztelni tudjam nem használok dini-t.