#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
new levelfile[50];
#define Szint_1 1
#define Szint_2 2
#define Szint_3 3
CMD:setlevel(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new PID, level, name[MAX_PLAYER_NAME];
if(sscanf(params, \"ui\", PID, level)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /Setlevel <ID/Név> <Szint>\");
if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID/Név!\");
if(playerid == PID) return SendClientMessage(playerid, 0xFF0000AA, \"Magadnak nem adhatsz szintet!\");
if(level < 0 || level > 3) return SendClientMessage(playerid, 0xFF0000AA, \"A szint csak 1-3 között lehet!\");
SetPVarInt(PID, \"Rotakapa\", level);
GetPlayerName(PID, name, MAX_PLAYER_NAME);
format(levelfile, sizeof(levelfile), \"/levelfl/%s.ini\", name);
if(!dini_Exists(levelfile))
{
dini_Create(levelfile);
dini_IntSet(levelfile, \"Szint\", level);
}
}
else SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy RCON admin!\");
return 1;
}
public OnPlayerSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(levelfile, sizeof(levelfile), \"/levelfl/%s.ini\", name);
if(dini_Exists(levelfile))
{
new Szint;
Szint = dini_Int(levelfile, \"Szint\");
if(Szint == 1) return SetPVarInt(playerid, \"Rotakapa\", Szint_1);
if(Szint == 2) return SetPVarInt(playerid, \"Rotakapa\", Szint_2);
if(Szint == 3) return SetPVarInt(playerid, \"Rotakapa\", Szint_3);
}
return 1;
}
ajánlom neked ezt: http://sampforum.hu/index.php?topic=3075.msg36705#msg36705
a dini megismeréséhez..
csináltam egy példa scriptet
#include <a_samp>
#include <dini>
new file[MAX_PLAYERS][128];
new name[24];
new szint[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid,name,24); //lekérdezzük a nevét
format(file[playerid,128,\"%s.ini\",name); // megformázzuk a fájlt
if(!dini_Exists(file[playerid])) return dini_Create(file[playerid]); //ha nincs még olyan fájl a nevével, akkor létrehozzuk
szint[playerid] = dini_Int(file[playerid],\"Szint\"); //beállítjuk
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
GetPlayerName(playerid,name,24); //lekérdezzük, majd elmentjük egy változóban a játékos nevét
format(file[playerid],128,\"%s.ini\",name); //megformázzuk a fájlnak a nevét
dini_SetInt(file[playerid],\"Szint\",szint[playerid]); //átállítjuk a fájlban a szint értékét a játékos jelenlegi szintjére, majd késöbb ezt olvastatjuk be.
return 1;
}
E: lassu voltam :D
Koszi szepen.Atnezem :P
danix99
a tiedet picivel jobban ertem
kossz
Dupla hozzászólás automatikusan összefûzve. ( 2012. április 27. - 21:25:56 )
---------------------------------------------------------------------------------------------
Am itt van egy kicsi hiba.
D:\\sampserver\\filterscripts\\dini.pwn(20) : error 017: undefined symbol \"dini_SetInt\"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
itt nem SetInt hanem IntSet
Hiba nincs benne.
Tokeletesen mukodik koszonom Tema megoldva