Szerző Téma: Pozíció mentés  (Megtekintve 860 alkalommal)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Pozíció mentés
« Dátum: 2014. Augusztus 19. - 00:03:23 »
0 Show voters
Segítség!(M1A1et azt írtam, mert õ tudja, hogy mirõl van szó, és nagyon jól magyaráz!)
http://sampforum.hu/index.php?topic=54739.0 Ebbe a témába már írtam egy kérdést, és azt kellene valahogy beleírni, csak tényleg nemtudom, hogyan.
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == regisztracio)
{
 if(response)
 {
    new file[128];
    new string[128];
    GetPlayerName(playerid, nev, sizeof(nev));
    if(strlen(inputtext) == 0)
{
      format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
      ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
      return 0;
}
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(!fexist(file))
   {
      dini_Create(file);
      dini_IntSet(file, \"Antibug\",0);
      dini_IntSet(file, \"Jelszo\",udb_hash(inputtext));
      dini_IntSet(file,\"Szint\", 0);
      dini_IntSet(file,\"Penz\", 0);
      dini_IntSet(file,\"AdminSzint\", 0);
      dini_IntSet(file,\"Tulaj\", 0);
      dini_IntSet(file,\"AdminSzolgalat\", 0);
      dini_IntSet(file,\"Skin\", 230);
      format(string, sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
      ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
      PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
      printf(\"%s regisztrált a szerverre!\",nev);
   }
   else
   {
      format(string, sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
      ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
   }
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
    new file[128];
    new string[128];
            GetPlayerName(playerid, nev, sizeof(nev));
   if(strlen(inputtext) == 0)
   {
       format(string, sizeof string, \"Bejelentkezés \\n\\nÜdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
      ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
      return 0;
   }
   format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
   if(fexist(file))
   {
             new jelszo = dini_Int(file, \"Jelszo\");
          if(udb_hash(inputtext) == jelszo)
      {
         Belepve[playerid] = 1;
         ResetPlayerMoney(playerid);
         JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\");
         JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
         JatekosInfo[playerid][AdminSzint] = dini_Int(file,\"AdminSzint\"); //A JatekosInfo[Playerid][AdminSzint] legyen egyenlõ a kiolvasott értékkel, amit úgy adunk meg, hogy dini_Int
         //dini_Int -> kiolvas egy számot, paramétere az, hogy honann olvassa ki, nekünk jelen esetben a (file), szóval amit meghatároztunk már; /karakterek /[játékosnév].ini, innen melyik sort vegye fel, ami nálunk jelen esetben a (AdminSzint)
         JatekosInfo[playerid][Tulaj] = dini_Int(file,\"Tulaj\");
         JatekosInfo[playerid][skin] = dini_Int(file,\"Skin\");
         SpawnPlayer(playerid);
         SetPlayerSkin(playerid,JatekosInfo[playerid][skin]);
         JatekosInfo[playerid][AdminSzolgalat] = dini_Int(file,\"AdminSzolgalat\");
         JatekosInfo[playerid][Poz] = dini_Int(file,\"Poz\");
         tMentes[playerid] = SetTimerEx(\"Mentes\", 10000 , true,\"i\",playerid);
         TextDrawShowForPlayer(playerid,infovonal[playerid]);
         new szoveg[128];
         format(szoveg,sizeof(szoveg),\"Nev: %s | Szint: %d | Adminszint: %d\",nev,JatekosInfo[playerid][szint], JatekosInfo[playerid] [AdminSzint]);
         TextDrawSetString(infovonal[playerid],szoveg);
         TextDrawShowForPlayer(playerid, Box[playerid]);
         TextDrawShowForPlayer(playerid, Ft[playerid]);
         tPenzSzamlalo[playerid] = SetTimerEx(\"PenzSzamlalo\",1000,true,\"i\",playerid);
      }
               else
      {
          SendClientMessage(playerid, COLOR_LIGHTRED, \"Rossz jelszó!\");
           printf(\"%s bejelentkezése sikertelen volt.\", nev);
           Kick(playerid);
      }
   }
}
else
{
    Kick(playerid);
}
}
return 1;
}

 
Ugye azt beleírni hogy az alapo pozíció 1482.8942,-1740.5924,13.5469 legyen, de tényleg nemtudom hogy oldjam meg. Nem is tudom, hogy hogy mentse le a pozíciót, és bejelentkezésnél töltse be és oda rakja a játékost.
« Utoljára szerkesztve: 2014. Augusztus 19. - 18:31:07 írta krist »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Pozíció mentés
« Válasz #1 Dátum: 2014. Augusztus 19. - 14:47:01 »
0 Show voters
[mod]Változtasd meg a téma címét! 24 ó.[/mod]

Pozíció mentés
« Válasz #2 Dátum: 2014. Augusztus 19. - 15:02:14 »
+1 Show voters
Helló. Ebbe a hangsúly az elmentésen van. A kiírás a fájlba az a játékos lekapcsolódásakor történik, szóval az OnPlayerDisconnect funkció alá kell ezt behelyezned:
 
new Poz[128], nev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z;

 
Szóval. Ha eddig megvagy akkor jön a második lépés.
A második lépésben lekéred az illetõ nevét, és lementessz a nevével egy fájlt.
 
GetPlayerName(playerid, nev, sizeof(nev));
format(Poz, sizeof(Poz), \"\\\\Poz\\\\%s.ini\", nev);

 
A harmadik lépésben megnézeted vele, hogy létezik e a fájl vagy sem. Abban az esetben ha nem létezik, akkor létrehozatod vele a fájlt és lemented a pozíciókat.
 
if(!dini_Exists(Poz))
dini_Create(Poz);
GetPlayerPos(playerid, x, y, z);
dini_FloatSet(Poz, \"posX\", x);
dini_FloatSet(Poz, \"posY\", y);
dini_FloatSet(Poz, \"posZ\", z);

 
A negyedik lépés már az OnPlayerSpawn funkcióban zajlik, amikor pedig betöltöd a lementett adatokat.
Lekéreted vele az adatokat, majd betöltöd. Ez a következõ képpen zajlik:
 
new Poz[128], nev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z;
GetPlayerName(playerid, nev, sizeof(nev));
format(Poz, sizeof(Poz), \"\\\\Poz\\\\%s.ini\", nev);

 
Most lekérted az adatokat. Most jön az ötödik lépés, amikor pedig betöltöd azokat.
 
x = dini_Float(Poz, \"posX\");
y = dini_Float(Poz, \"posY\");
z = dini_Float(Poz, \"posZ\");
SetPlayerPos(playerid, x, y, z);

 
Lényegében ez így fog kinézni:
 

//OnPlayerDisconnect...
new Poz[128], nev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z;
GetPlayerName(playerid, nev, sizeof(nev));
format(Poz, sizeof(Poz), \"\\\\Poz\\\\%s.ini\", nev);
if(!dini_Exists(Poz))
dini_Create(Poz);
GetPlayerPos(playerid, x, y, z);
dini_FloatSet(Poz, \"posX\", x);
dini_FloatSet(Poz, \"posY\", y);
dini_FloatSet(Poz, \"posZ\", z);

 

//OnPlayerSpawn...
new Poz[128], nev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z;
GetPlayerName(playerid, nev, sizeof(nev));
format(Poz, sizeof(Poz), \"\\\\Poz\\\\%s.ini\", nev);
x = dini_Float(Poz, \"posX\");
y = dini_Float(Poz, \"posY\");
z = dini_Float(Poz, \"posZ\");
SetPlayerPos(playerid, x, y, z);

 
Most jön az utolsó, egyben a hatodik lépés, amikor létrehozod a szerver könyvtárában a Poz mappát, ahova pedig ezeket a pozíciókat fogja menteni.
Ezzel végeztünk is. Ha jól gondolom, akkor neked semmi szükséged a belépési funkcióban bármi betöltést használni. Egyszerûen csinálsz egy publicot, hogy abban az esetben, hogyha Belepve[playerid] = 1;
akkor töltse be az OnPlayerSpawn funkciót és ezzel már meg is oldottad. Remélem segítettem. Nem próbáltam ki a dolgokat amit írtam, de elméletileg mûködnie kell. Ha bármi hiba van benne, vagy esetleg másban kellene segíteni akkor írj egy privát üzenetet. Helló! :)
« Utoljára szerkesztve: 2014. Augusztus 19. - 15:53:28 írta Zalakaka45 »

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Pozíció mentés
« Válasz #3 Dátum: 2014. Augusztus 19. - 18:32:14 »
0 Show voters
Köszönöm szépen! Köszönöm, hogy ennyi idõt rááldoztál! Nagyra becsülendõ ez! :)
Értelmezem, megtanulom, beíírom a kódot, és megnézem jólesz-e :)

Dupla hozzászólás automatikusan összefûzve. ( 2014. Augusztus 19. - 18:37:17 )

Üm, annyi a probléma, hogy nekem már van ilyen [playerid].ini-s cucc, és bejelentkezési rendszer. A többihez szeretném beírni, és azt hogyan csináljam?
Script:



Kód: (pawn) [Kijelölés]
//INKLÚDÁLÁSOK
#include <a_samp>
#include <zcmd>
#include <sscanf>
#include <dini>
#include <dudb>
#define regisztracio 0
#define bejelentkezes 1
//* Glovális Változók
new nev [MAX_PLAYER_NAME];
new Belepve [MAX_PLAYERS];
new Text:infovonal[MAX_PLAYERS];
new Text:Box[MAX_PLAYERS];
new Text:Ft[MAX_PLAYERS];
 
//Idõzítõk
forward Mentes(playerid);
new tMentes[MAX_PLAYERS];
forward Rablas(playerid);
new tRablas[MAX_PLAYERS];
forward ObjectBetoltes(playerid);
new tObjectBetoltes[MAX_PLAYERS];
forward Frissites(playerid);
new tFrissites[MAX_PLAYERS];
forward PenzSzamlalo(playerid);
new tPenzSzamlalo[MAX_PLAYERS];
forward KickTimer(playerid);
forward AdminnakUzenet(const string[],level);
//Rövidítések
#define MSG SendClientMessage
 

#pragma unused ret_memcpy // Azért kell ide ez, mert enélkül ha csak simán include-oljuk a dini-t, akkor errort írna ki enélkül a parancs nélkül
//SZÍNEK
#define VKEK 0x0ae9f5AA
#define SPIROS 0xc90000AA
#define ZOLD 0x07d700AA
#define FEHER -1
#define NARANCSPIROS 0xff2b00AA
#define KEK 0x0022ffAA
//-------------SeeRPG------------------
#define COLOR_INVISIBLE 0xFFFFFF00
#define COLOR_PIROS 0xFF0000FF
#define COLOR_PINK 0xFF80FFC7
#define COLOR_SKEK 0x2641FEAA
#define COLOR_LIGHTBROWN 0x8B4513FF
#define COLOR_ORANGE 0xFF8C00AA
#define COLOR_BLACK 0x000000AA
#define FEKETE 0x000000AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_OOC 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED2 0xAA3333AA
#define COLOR_RED 0xAA0000AA
#define HIBA 0xAA0000AA
#define COLOR_BLUE 0x4661FEAA
#define COLOR_DBLUE 0x2641FEAA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_ALLDEPT 0xFF8282AA
#define COLOR_NEWS 0xFFA500AA
enum JatekosAdatok
{
Szint,
Penz,
AdminSzint,
Tulaj,
AdminSzolgalat,
Skin,
Poz
}
new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
 
 

main()
{
print(\"\\n----------------------------------\");
print(\" A modot készítette: KrisT \");
print(\"----------------------------------\\n\");
}
public ObjectBetoltes(playerid)
{
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,-1,\"Objectek betöltve!\");
}
 
stock ObjectBetoltese(playerid,ido)
{
TogglePlayerControllable(playerid,false);
tObjectBetoltes[playerid] = SetTimerEx(\"ObjectBetoltes\",ido,false,\"i\",playerid);
GameTextForPlayer(playerid, \"Objectek betoltese...\", ido, 0);
}
 
public OnGameModeInit()
{
// Don\'t use these lines if it\'s a filterscript
SetGameModeText(\"KrisT script\");
/*
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(286, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(115, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(299, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(140, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(202, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);*/
CreateObject(3261, 1447.4, -1717.7001, 13, 0, 0, 0);
CreateObject(3261, 1447.3999, -1711.5, 13, 0, 0, 0);
CreateObject(3261, 1447.4004, -1714.5996, 13, 0, 0, 0);
CreateObject(3261, 1447.4004, -1714.5996, 13, 0, 0, 0);
AddStaticVehicleEx(411,1277.6000000,-1379.4000000,13.0000000,297.0000000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1278.1000000,-1382.8000000,13.0000000,296.9990000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.6000000,-1368.9000000,13.1000000,297.0000000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.5000000,-1376.2000000,13.1000000,296.9990000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.6000000,-1372.9000000,13.1000000,296.9990000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.4000000,-1365.7000000,13.1000000,296.9990000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.6000000,-1358.0000000,13.1000000,296.9990000,-1,-1,15); //Infernus
AddStaticVehicleEx(411,1277.4000000,-1362.0000000,13.1000000,296.9990000,-1,-1,15); //Infernus
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
/*
SetPlayerPos(playerid, -1978.7549, 146.7001, 36.9623);
SetPlayerCameraPos(playerid, -1973.9270,146.6892,36.9623);
SetPlayerCameraLookAt(playerid, -1978.7549, 146.7001, 36.9623); */
new file[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
new string[256];
if(!fexist(file))
{
format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
}
if(fexist(file))
{
format(string, sizeof string, \"Üdv %s! \\nKérjük jelentkezz be! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Bejelentkezés\", \"Kilépés\");
}
return 1;
}
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid,nev,sizeof(nev));
printf(\"%s belépett a szerverre!\",nev);
new uzenet[256];
GetPlayerName(playerid,nev,sizeof(nev));
format(uzenet,sizeof(uzenet),\"Üdv a KrisT-RPG szerveren, kedves %s! Jó játékos kívánunk!\",nev);
SendClientMessage(playerid,COLOR_GREEN, uzenet);
infovonal[playerid] = TextDrawCreate(0.0,427.0, \"x\");
TextDrawUseBox(infovonal[playerid], 1);
TextDrawColor(infovonal[playerid],-1);
TextDrawBoxColor(infovonal[playerid], 0x000000AA);
TextDrawSetOutline(infovonal[playerid],1);
TextDrawBackgroundColor(infovonal[playerid], 0x000000FF);
TextDrawFont(infovonal[playerid], 2);
Ft[playerid] = TextDrawCreate(500.000000, 77.000000, \"00000000 Ft\");
TextDrawBackgroundColor(Ft[playerid], 0x12900BBF);
TextDrawFont(Ft[playerid], 3);
TextDrawLetterSize(Ft[playerid], 0.539999, 2.299999);
TextDrawColor(Ft[playerid], -1);
TextDrawSetOutline(Ft[playerid], 1);
TextDrawSetProportional(Ft[playerid], 1);
Box[playerid] = TextDrawCreate( 497.000000, 78.000000, \"~n~\" );
TextDrawColor( Box[playerid], -1 );
TextDrawSetShadow( Box[playerid], 1 );
TextDrawFont( Box[playerid], 1 );
TextDrawSetOutline( Box[playerid], 0 );
TextDrawUseBox( Box[playerid], 1 );
TextDrawBoxColor( Box[playerid], 255 );
TextDrawTextSize( Box[playerid], 609.000000, 0.000000 );
TextDrawLetterSize( Box[playerid], 0.479999, 2.139999 );
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);//ha van olyan fájl, ami az õ nevét viseli
if(fexist(file) && Belepve[playerid]== 1)//és a játékos be volt lépve
{
    dini_IntSet(file,\"Szint\",JatekosInfo[playerid][szint]);
    dini_IntSet(file,\"Penz\",JatekosInfo[playerid][Penz]);
    dini_IntSet(file,\"AdminSzint\",JatekosInfo[playerid][AdminSzint]); //elmentjük neki ezt az értéket, a \"file\" fájlba, az \"AdminSzint\" sort, alakítsa át(dini_IntSet), és az értéke legyen \"AdminSzint\"
    dini_IntSet(file,\"Tulaj\",JatekosInfo[playerid][Tulaj]);
    dini_IntSet(file,\"AdminSzolgalat\",JatekosInfo[playerid][AdminSzolgalat]);
    dini_IntSet(file,\"Skin\",JatekosInfo[playerid][skin]);
    dini_IntSet(file,\"Poz\",JatekosInfo[playerid][Poz]);
}
Belepve[playerid]=0;
JatekosInfo[playerid][szint]= 0;
JatekosInfo[playerid][Penz]= 0;
JatekosInfo[playerid][AdminSzint]= 0;
JatekosInfo[playerid][Tulaj] = 0;
JatekosInfo[playerid][AdminSzolgalat] = 0;
JatekosInfo[playerid][skin] = 0;
JatekosInfo[playerid][Poz] = 0;
printf(\"%s kilépett.\",nev);
KillTimer(tMentes[playerid]);
KillTimer(tFrissites[playerid]);
TextDrawHideForPlayer(playerid, infovonal[playerid]);
TextDrawHideForPlayer(playerid, Box[playerid]);
TextDrawHideForPlayer(playerid, Ft[playerid]);
return 1;
}
 
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid,1482.8942,-1740.5924,13.5469);
SetPlayerFacingAngle(playerid,359.3687);
ObjectBetoltese(playerid,5000);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == regisztracio)
{
 if(response)
 {
    new file[128];
    new string[128];
    GetPlayerName(playerid, nev, sizeof(nev));
    if(strlen(inputtext) == 0)
{
format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
return 0;
}
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"Antibug\",0);
dini_IntSet(file, \"Jelszo\",udb_hash(inputtext));
dini_IntSet(file,\"Szint\", 0);
dini_IntSet(file,\"Penz\", 0);
dini_IntSet(file,\"AdminSzint\", 0);
dini_IntSet(file,\"Tulaj\", 0);
dini_IntSet(file,\"AdminSzolgalat\", 0);
dini_IntSet(file,\"Skin\", 230);
format(string, sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
printf(\"%s regisztrált a szerverre!\",nev);
}
else
{
format(string, sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
}
}
}
if(dialogid == bejelentkezes)
{
if(response)
{
    new file[128];
    new string[128];
            GetPlayerName(playerid, nev, sizeof(nev));
if(strlen(inputtext) == 0)
{
    format(string, sizeof string, \"Bejelentkezés \\n\\nÜdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavadat!\", nev);
ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, \"Bejelentkezés\", string, \"Belépés\", \"Kilépés\");
return 0;
}
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(fexist(file))
{
    new jelszo = dini_Int(file, \"Jelszo\");
        if(udb_hash(inputtext) == jelszo)
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\");
JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
JatekosInfo[playerid][AdminSzint] = dini_Int(file,\"AdminSzint\"); //A JatekosInfo[Playerid][AdminSzint] legyen egyenlõ a kiolvasott értékkel, amit úgy adunk meg, hogy dini_Int
//dini_Int -> kiolvas egy számot, paramétere az, hogy honann olvassa ki, nekünk jelen esetben a (file), szóval amit meghatároztunk már; /karakterek /[játékosnév].ini, innen melyik sort vegye fel, ami nálunk jelen esetben a (AdminSzint)
JatekosInfo[playerid][Tulaj] = dini_Int(file,\"Tulaj\");
JatekosInfo[playerid][skin] = dini_Int(file,\"Skin\");
SpawnPlayer(playerid);
SetPlayerSkin(playerid,JatekosInfo[playerid][skin]);
JatekosInfo[playerid][AdminSzolgalat] = dini_Int(file,\"AdminSzolgalat\");
JatekosInfo[playerid][Poz] = dini_Int(file,\"Poz\");
tMentes[playerid] = SetTimerEx(\"Mentes\", 10000 , true,\"i\",playerid);
TextDrawShowForPlayer(playerid,infovonal[playerid]);
new szoveg[128];
format(szoveg,sizeof(szoveg),\"Nev: %s | Szint: %d | Adminszint: %d\",nev,JatekosInfo[playerid][szint], JatekosInfo[playerid] [AdminSzint]);
TextDrawSetString(infovonal[playerid],szoveg);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawShowForPlayer(playerid, Ft[playerid]);
tPenzSzamlalo[playerid] = SetTimerEx(\"PenzSzamlalo\",1000,true,\"i\",playerid);
}
    else
{
    SendClientMessage(playerid, COLOR_LIGHTRED, \"Rossz jelszó!\");
  printf(\"%s bejelentkezése sikertelen volt.\", nev);
  Kick(playerid);
}
}
}
else
{
    Kick(playerid);
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
CMD:full(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
{
new uzenet[256];
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
GivePlayerWeapon(playerid,31 , 5000);
GivePlayerWeapon(playerid,27 , 300);
GivePlayerWeapon(playerid, 24, 5000);
GivePlayerWeapon( playerid,4, 1);
GivePlayerWeapon( playerid,16, 600);
GivePlayerWeapon(playerid, 29, 5000);
    GivePlayerWeapon(playerid, 46, 1);
format(uzenet,sizeof(uzenet),\"Sikeresen fullos lettél, kedves %s!\",nev);
SendClientMessage(playerid,COLOR_YELLOW,uzenet);
printf(\"%s használta a /full parancsot!\",nev);
}
return 1;
}
 
CMD:jetpack(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][Tulaj] >= 1)
    {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
}
else MSG(playerid,COLOR_RED,\"Nem vagy tulaj!\");
return 1;
}
CMD:setskin(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(JatekosInfo[playerid][AdminSzint] >= 2)
    {
        new id;
        new skinid;
if(skinid >= 0 && skinid <= 299)
{
    if(sscanf(params,\"ui\",id,skinid)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /setskin [Név/ID] [skinID]\");
    {
new juzenet[128];
new uzenet[128];
new jatekosnev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
GetPlayerName(id,jatekosnev,sizeof(jatekosnev));
SetPlayerSkin(id,skinid);
format(juzenet,sizeof(juzenet),\"%s átállította a skinedet erre: %d\",nev,skinid);
SendClientMessage(id,COLOR_LIGHTBLUE,juzenet);
format(uzenet,sizeof(uzenet),\"Megváltoztttad %s kinjét erre: %d!\",jatekosnev,skinid);
SendClientMessage(playerid,COLOR_YELLOW,uzenet);
printf(\"%s megváltoztatta %s skinjét erre: %d\");
    }
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"A skinIDnek 0-299 között kell lennie!\");
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
}
return 1;
}
CMD:veh(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 3)
{
new carid, Float:x ,Float:y ,Float:z ,color1 ,color2;
if(IsPlayerConnected(playerid))
{
    if(sscanf(params, \"idd\" ,carid,color1,color2)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /veh [CarID] [color1] [color2]\");
    {
        if(carid <= 611 && carid >= 400)
        {
GetPlayerPos(playerid, x, y, z);
CreateVehicle(carid, x, y+2, z+3, 95.0, color1, color2, 1000);
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Sikeresen lekértél egy jármûvet!\");
        }
        else SendClientMessage(playerid,COLOR_LIGHTRED,\"A CarID-nek 400-611 között kell lennie!\");
    }
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
}
SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
}
return 1;
}
CMD:szinek(playerid,params[])
{
SendClientMessage(playerid,COLOR_INVISIBLE,\"[color INVISIBLE]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_RED,\"[RED]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_RED2,\"[RED2]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_OOC,\"[OOC]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_NEWS,\"[NEWS]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_YELLOW,\"[YELLOW2]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_YELLOW2,\"[YELLOW]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_LIGHTRED,\"[LIGHTRED]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"[LIGHTBLUE]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_GREEN,\"[GREEN]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_LIGHTGREEN,\"[LIGHTGREEN]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_PINK,\"[PINK]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_ORANGE,\"[ORANGE]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
SendClientMessage(playerid,COLOR_WHITE,\"[WHITE]Szín kipróbálás, ezért írok még kcisit többet, remélem ennyi elég lesz\");
return 1;
}
CMD:fly(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
new Float:px, Float:py, Float:pz, Float:pa;
GetPlayerFacingAngle(playerid,pa);
if(pa >= 0.0 && pa <= 22.5) //n1
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px, py+30, pz+5);
}
if(pa >= 332.5 && pa < 0.0) //n2
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px, py+30, pz+5);
}
if(pa >= 22.5 && pa <= 67.5) //nw
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px-15, py+15, pz+5);
}
if(pa >= 67.5 && pa <= 112.5) //w
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px-30, py, pz+5);
}
if(pa >= 112.5 && pa <= 157.5) //sw
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px-15, py-15, pz+5);
}
if(pa >= 157.5 && pa <= 202.5) //s
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px, py-30, pz+5);
}
if(pa >= 202.5 && pa <= 247.5)//se
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px+15, py-15, pz+5);
}
if(pa >= 247.5 && pa <= 292.5)//e
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px+30, py, pz+5);
}
if(pa >= 292.5 && pa <= 332.5)//e
{
GetPlayerPos(playerid, px, py, pz);
SetPlayerPos(playerid, px+15, py+15, pz+5);
}
}
}
CMD:fort(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,176.9886,1930.4204,18.1089);
SetPlayerFacingAngle(playerid,178.1582);
}
return 1;
}
CMD:lsrepter(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,1843.5206,-2446.7009,13.5547);
SetPlayerFacingAngle(playerid,179.2773);
}
return 1;
}
CMD:sfvh(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-2756.7065,375.6516,4.3346);
SetPlayerFacingAngle(playerid,270.4052);
}
return 1;
}
CMD:chilliad(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
{
SetPlayerPos(playerid,-2327.9277,-1620.5352,483.7113);
SetPlayerFacingAngle(playerid,215.1733);
}
return 1;
}
CMD:sfbank(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-1940.7286,566.7631,35.2447);
SetPlayerFacingAngle(playerid,483.7113);
}
return 1;
}
CMD:golf(playerid,params[])
{
if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
{
SetPlayerPos(playerid,-2399.0149,-253.0222,39.7869);
SetPlayerFacingAngle(playerid,85.3730);
}
return 1;
}
CMD:torony(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-2718.0725,-320.5886,57.4873);
SetPlayerFacingAngle(playerid,39.1247);
}
return 1;
}
CMD:csillagtorony(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,1543.0530,-1353.7250,329.4732);
SetPlayerFacingAngle(playerid,275.4208);
}
return 1;
}
CMD:sfpd(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-2437.3223,505.6678,29.9338);
SetPlayerFacingAngle(playerid,203.4365);
}
return 1;
}
CMD:groove(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,2493.6963,-1666.8113,13.3438);
SetPlayerFacingAngle(playerid,88.1420);
}
return 1;
}
CMD:sfhajo1(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-2326.9414,1542.4506,17.3281);
SetPlayerFacingAngle(playerid,84.7590);
}
return 1;
}
CMD:ugrajto(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-667.4808,2306.1943,135.9253);
SetPlayerFacingAngle(playerid,89.7752);
}
return 1;
}
CMD:sfbankteto(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-1942.8513,536.6186,209.8273);
SetPlayerFacingAngle(playerid,1.5097);
}
return 1;
}
CMD:sfrepter(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-1740.7242,-579.9893,16.3359);
SetPlayerFacingAngle(playerid,90.1074);
}
return 1;
}
CMD:feldob(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
new Float:x, Float:y, Float:z;
GetPlayerPos (playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+500);
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
return 1;
}
CMD:jizzy(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,-2626.9663,1396.6753,7.1016);
SetPlayerFacingAngle(playerid,181.5330);
}
return 1;
}
CMD:teleport(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SendClientMessage(playerid,COLOR_BLUE,\"[setRPG] teleportok: /jizzy, /chilliad, /lsvh, /sfvh, /sfbank, /lsrepter, /fort, /groove, /sfhajo1, /sfpd\");
SendClientMessage(playerid,COLOR_BLUE,\"[setRPG] teleportok: /torony, /csillagtorony, /golf, /ugrajto, /sfbankteto, /sfrepter\");
}
return 1;
}
public Mentes(playerid)
{
new file[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(fexist(file) && Belepve[playerid] == 1)
{
    dini_IntSet(file,\"Szint\",JatekosInfo[playerid][szint]);
    dini_IntSet(file,\"Penz\",JatekosInfo[playerid][Penz]);
    dini_IntSet(file,\"AdminSzint\",JatekosInfo[playerid][AdminSzint]);
    dini_IntSet(file,\"Tulaj\",JatekosInfo[playerid][Tulaj]);
    dini_IntSet(file,\"Skin\",JatekosInfo[playerid][skin]);
    dini_IntSet(file,\"Poz\",JatekosInfo[playerid][Poz]);
}
}
CMD:rablas(playerid)
{
if(Belepve[playerid] == 1)
{
    if(IsPlayerInRangeOfPoint(playerid, 2 , 1481.0852,-1771.3201,18.7958))
    {
        TogglePlayerControllable(playerid,false);
        SendClientMessage(playerid,COLOR_LIGHTGREEN,\"Elkezdted kirabolni a Városházát!\");
        tRablas[playerid] = SetTimerEx(\"Rablas\",60000,false,\"i\",playerid);
       
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy a városháza bejárata elõtt!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
}
public Rablas(playerid)
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Sikeresen kiraboltad a Városházát!\");
TogglePlayerControllable(playerid,true);
GetPlayerName(playerid,nev,sizeof(nev));
printf(\"%s kirabolta a városházát!\",nev);
JatekosInfo[playerid][Penz] += 150000;
}
CMD:lsvh(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
    {
SetPlayerPos(playerid,1482.8942,-1740.5924,13.5469);
SetPlayerFacingAngle(playerid,359.3687);
ObjectBetoltese(playerid,5000);
}
return 1;
}
public Frissites(playerid)
{
GetPlayerName(playerid,nev,sizeof(nev));
new szoveg[128];
format(szoveg,sizeof(szoveg),\"Nev: %s -- Szint: %d -- AdminSzint: %d \",nev,JatekosInfo[playerid][szint], JatekosInfo[playerid][AdminSzint]);
TextDrawSetString(infovonal[playerid],szoveg);
}
public PenzSzamlalo(playerid)
{
    new penzstring[128];
    new Float:penz0 = floatabs(JatekosInfo[playerid][Penz]);
    new penz = floatround(penz0,floatround_round);
if(JatekosInfo[playerid][Penz] < 0 && JatekosInfo[playerid][Penz] > -10)
{
format(penzstring, sizeof(penzstring), \"0000000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-100 < JatekosInfo[playerid][Penz] <= -10)
{
format(penzstring, sizeof(penzstring), \"000000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-1000 < JatekosInfo[playerid][Penz] <= -100)
{
format(penzstring, sizeof(penzstring), \"00000%iFt\",penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-10000 < JatekosInfo[playerid][Penz] <= -1000)
{
format(penzstring, sizeof(penzstring), \"0000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-100000 < JatekosInfo[playerid][Penz] <= -10000)
{
format(penzstring, sizeof(penzstring), \"000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-1000000 < JatekosInfo[playerid][Penz] <= -100000)
{
format(penzstring, sizeof(penzstring), \"00%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-10000000 < JatekosInfo[playerid][Penz] <= -1000000)
{
format(penzstring, sizeof(penzstring), \"0%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(-999999999 < JatekosInfo[playerid][Penz] <= -10000000)
{
format(penzstring, sizeof(penzstring), \"%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid], HIBA);
TextDrawBackgroundColor(Ft[playerid], FEKETE);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(JatekosInfo[playerid][Penz] < 10 && JatekosInfo[playerid][Penz] >= 0)
{
format(penzstring, sizeof(penzstring), \"0000000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(10 <= JatekosInfo[playerid][Penz] < 100)
{
format(penzstring, sizeof(penzstring), \"000000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
TextDrawShowForPlayer(playerid, Box[playerid]);
}
if(100 <= JatekosInfo[playerid][Penz] < 1000)
{
format(penzstring, sizeof(penzstring), \"00000%iFt\",penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
if(1000 <= JatekosInfo[playerid][Penz] < 10000)
{
format(penzstring, sizeof(penzstring), \"0000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
if(10000 <= JatekosInfo[playerid][Penz] < 100000)
{
format(penzstring, sizeof(penzstring), \"000%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
if(100000 <= JatekosInfo[playerid][Penz] < 1000000)
{
format(penzstring, sizeof(penzstring), \"00%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
if(1000000 <= JatekosInfo[playerid][Penz] < 10000000)
{
format(penzstring, sizeof(penzstring), \"0%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
if(10000000 <= JatekosInfo[playerid][Penz] < 999999999)
{
format(penzstring, sizeof(penzstring), \"%iFt\", penz);
TextDrawSetString(Ft[playerid], penzstring);
TextDrawShowForPlayer(playerid, Ft[playerid]);
TextDrawShowForPlayer(playerid, Box[playerid]);
TextDrawColor(Ft[playerid],-1);
TextDrawBackgroundColor(Ft[playerid], ZOLD);
}
return 1;
}
CMD:help(playerid)
{
SendClientMessage(playerid,COLOR_YELLOW,\"Parancsok: /rablas, /szinek\");
}
CMD:makeadmin(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 4 || JatekosInfo[playerid][Tulaj] == 1)
    {
        new id,szint;
        if(sscanf(params,\"ui\",id,szint))return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használat: /makeadmin [Player ID] [szint]\");
        if(szint < 0 || szint > 4) return SendClientMessage(playerid,COLOR_LIGHTRED,\"A szintnek 0 és 4 között kell lennie!\");
        JatekosInfo[id][AdminSzint] = szint;
        new neve[MAX_PLAYER_NAME];
        GetPlayerName(playerid,nev,sizeof(nev));
        GetPlayerName(id,neve,sizeof(neve));
        new string[128];
        format(string,sizeof(string),\"%s kinevezett %d-s szintû adminná!\",nev,szint);
        SendClientMessage(id,COLOR_LIGHTBLUE,string);
        format(string,sizeof(string),\"Kinevezted %s-t %d-s szintû adminná!\",neve,szint);
        SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
        format(string,sizeof(string),\"%s kinevezte %s-t %d-s szintû adminná! Gratulálunk!\",nev,neve,szint);
        SendClientMessageToAll(COLOR_ORANGE,string);
        printf(\"%s kinevezte %s-t %d-s szintû adminná!\",nev,neve,szint);
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy rcon/4-es szintû admin!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:ah(playerid,params[])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
SendClientMessage(playerid,COLOR_YELLOW,\"Admin(1): /ah, /fly, /kick, /asay, /asayn, /onduty, /offduty, /pm\");
if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 2)
{
    SendClientMessage(playerid,COLOR_YELLOW,\"Admin(2): /teleport és parancsai, /setskin, /goto, /gethere\");
   
                if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 3)
                {
                    MSG(playerid,COLOR_YELLOW,\"Admin(3): /full, /giveweapon, /sethp, /setarmor /veh\");
                   
      if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 4)
      {
          MSG(playerid,COLOR_YELLOW,\"Admin(4): /makeadmin\");
         
          if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][Tulaj] == 1)
          {
              MSG(playerid,COLOR_YELLOW,\"Admin(Tulaj): /maketulaj, /jetpack\");
          }
      }
                }
}
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy Admin!\");
return 1;
}
CMD:setarmor(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(JatekosInfo[playerid][AdminSzint] >= 3)
{
new id;
new armormennyiseg;
if(armormennyiseg >= 0 && armormennyiseg <= 100)
{
if(sscanf(params,\"ui\",id,armormennyiseg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /setarmor [Játékos neve/id] [armor mennyisége]\");
{
new uzenet[256];
new jatekosneve[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
GetPlayerName(id,jatekosneve,sizeof(jatekosneve));
SetPlayerArmour(id,armormennyiseg);
format(uzenet,sizeof(uzenet),\"Megváltoztattad %s Armorját %d -ra/re\",jatekosneve,armormennyiseg);
SendClientMessage(playerid,COLOR_LIGHTBLUE,uzenet);
printf(\"%s megáltoztatta %s Armorját %d -ra/re\",nev,jatekosneve,armormennyiseg);
}
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Az Armor menyniségnénk 0-100 között kell lenni\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}
CMD:kick(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
{
    new id,indok[128];
    if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /kick [playerid] [indok]\");
    if(IsPlayerConnected(id))
    {
        new neve[MAX_PLAYER_NAME];
      GetPlayerName(playerid,nev,sizeof(nev));
        GetPlayerName(id,neve,sizeof(neve));
        new tulajhiba[128];
        if(JatekosInfo[id][Tulaj] <= JatekosInfo[playerid][Tulaj])
        {
        new hibauzenet[128];
        if(JatekosInfo[id][AdminSzint] <= JatekosInfo[playerid][AdminSzint])
        {
        new uzenet[256];
        format(uzenet,sizeof(uzenet),\"%s ki lett rúgva %s álltal. Oka: %s\",neve,nev,indok);
        SendClientMessageToAll(COLOR_LIGHTRED,uzenet);
        printf(uzenet);
        UjKick(id);
}
else MSG(playerid,COLOR_LIGHTRED,\"Nagyobb admint akarsz bannolni?\");
format(hibauzenet,sizeof(hibauzenet),\"%s ki akart kickelni egy nagyobb admint: %s-t, de blokkolva lett a kick!\",nev,id);
printf(hibauzenet);
}
else MSG(playerid,COLOR_LIGHTRED,\"Egy tulajt akarsz kickelni?!\");
format(tulajhiba,sizeof(tulajhiba),\"%s ki akart kickelni egy Tulajt: %s-t, de blokkolva lett a kick!\",nev,id);
printf(tulajhiba);
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nincs ilyen játékos!\");
   
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
}
else SendClientMessage(playerid, COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}
stock UjKick(playerid)
{
SetTimerEx(\"KickTimer\",1000,false,\"u\",playerid);
}
public KickTimer(playerid)
{
Kick(playerid);
}
CMD:asayn(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
        new szoveg[256];
if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /asayn [szöveg]\");
{
        new string[300];
        GetPlayerName(playerid,nev,sizeof(nev));
        format(string,sizeof(string),\"*Admin %s: %s\",nev,szoveg);
        SendClientMessageToAll(COLOR_PIROS,string);
        printf(string);
        }
       
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
   
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}
CMD:maketulaj(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][Tulaj] >= 1)
    {
        new id,szint;
        if(sscanf(params,\"ui\",id,szint))return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használat: /maketulaj [Player ID]\");
        if(szint < 0 || szint > 1) return SendClientMessage(playerid,COLOR_LIGHTRED,\"A szintnek 0-nak vagy 1-nek kell lennie!\");
        JatekosInfo[id][Tulaj] = szint;
        new neve[MAX_PLAYER_NAME];
        GetPlayerName(playerid,nev,sizeof(nev));
        GetPlayerName(id,neve,sizeof(neve));
        new string[128];
        format(string,sizeof(string),\"%s kinevezett %d-s szintû Tulajdonossá!(0-nem tulaj, 1- tulaj)\",nev,szint);
        SendClientMessage(id,COLOR_LIGHTBLUE,string);
        format(string,sizeof(string),\"Kinevezted %s-t %d-s szintû Tulajdonossá!\",neve,szint);
        SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
        format(string,sizeof(string),\"%s kinevezte %s-t %d-s szintû Tulajdonosnak!!\",nev,neve,szint);
        SendClientMessageToAll(COLOR_ORANGE,string);
        printf(\"%s kinevezte %s-t %d-s szintû Tulajdonossá!(0-nem tulaj, 1-tulaj)\",nev,neve,szint);
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy rcon/tulajdonos!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:asay(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
        new szoveg[256];
if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /asay [szöveg]\");
{
        new string[300];
        format(string,sizeof(string),\"*Admin: %s\",szoveg);
        SendClientMessageToAll(COLOR_PIROS,string);
        printf(string);
}
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}
CMD:sethp(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(JatekosInfo[playerid][AdminSzint] >= 3)
{
new id;
new hpmennyiseg;
if(hpmennyiseg >= 0 && hpmennyiseg <= 100)
{
if(sscanf(params,\"ui\",id,hpmennyiseg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /sethp [Játékos neve/id] [armor mennyisége]\");
{
new uzenet[256];
new jatekosneve[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
GetPlayerName(id,jatekosneve,sizeof(jatekosneve));
SetPlayerHealth(id,hpmennyiseg);
format(uzenet,sizeof(uzenet),\"Megváltoztattad %s Armorját %d -ra/re\",jatekosneve,hpmennyiseg);
SendClientMessage(playerid,COLOR_LIGHTBLUE,uzenet);
printf(\"%s megáltoztatta %s Armorját %d -ra/re\",nev,jatekosneve,hpmennyiseg);
}
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"A HP menyniségnénk 0-100 között kell lenni\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}
CMD:giveweapon(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
    {
        if(JatekosInfo[playerid][AdminSzint] >= 3)
        {
            new id;
            new fegyverid;
            new loszer;
            if(sscanf(params, \"uii\",id,fegyverid,loszer)) return MSG(playerid,COLOR_LIGHTRED,\"Használata: /giveweapon [név/id] [fegyverid] [lõszer]\");
            {
                if(IsPlayerConnected(id))
            {
                if(fegyverid >= 1 && fegyverid <= 46)
                {
                    if(loszer >= 1 && loszer <= 5000)
{
    new jatekosnev[MAX_PLAYER_NAME];
    new uzenet[128];
    new juzenet[128];
    new string[128];
    GetPlayerName(playerid,nev,sizeof(nev));
    GetPlayerName(id,jatekosnev,sizeof(jatekosnev));
    GivePlayerWeapon(id, fegyverid, loszer);
format(uzenet,sizeof(uzenet),\"Adtál egy fegyvert %s játékosnak %d -s fegyvert %d lõszerrel!\",jatekosnev,fegyverid,loszer);
SendClientMessage(playerid,COLOR_LIGHTBLUE,uzenet);
format(juzenet,sizeof(juzenet),\"%s adott neked egy %d-s IDjû fegyver %d lõszerrel!\",nev,fegyverid,loszer);
SendClientMessage(id,COLOR_RED2,juzenet);
printf(\"%s adott %s játékosnak egy %d-s idjû fegyvert %ddb lõszerrel!\",nev,jatekosnev,fegyverid,loszer);
format(string,sizeof(string),\"%s fegyvert adott neki: %s | fegyver: %d | lõszer: %d\",nev,jatekosnev,fegyverid,loszer);
AdminnakUzenet(string,1);
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"A lõszernek 1-5000 között kell lennie!\");
                }
                else SendClientMessage(playerid,COLOR_LIGHTRED,\"A fegyverIDnek 1-46 között kell lennie!\");
            }
            else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nincs ilyen játékos!\");
}
        }
        else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
    return 1;
}
CMD:onduty(playerid)
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(JatekosInfo[playerid][AdminSzint] >= 1)
{
if(JatekosInfo[playerid][AdminSzolgalat] == 0)
{
new ondutyszoveg[128];
format(ondutyszoveg,sizeof(ondutyszoveg),\"[%d]%s adminszolgálatba lépett, így írhatsz neki, felkeresheted (/pm %d) | Megölni tilos!\", playerid, nev, playerid);
SendClientMessageToAll(COLOR_LIGHTBLUE,ondutyszoveg);
printf(\"%s Adminszolgálatba lépett!\",nev);
JatekosInfo[playerid][AdminSzolgalat] = 1;
}
else MSG(playerid,COLOR_LIGHTRED,\"Már AdminSzolgálatban vagy!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
}
else SendClientMessage(playerid, COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:pm(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    new id;
new pmszoveg[128];
  if(sscanf(params,\"us\",id,pmszoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /pm [id] [szöveg]\");
{
    if(JatekosInfo[id][AdminSzint] >= 1)
    {
        if(JatekosInfo[id][AdminSzolgalat] == 1)
        {
        new uzenet[128];
        new uzenet2[128];
        new jatekosnev[MAX_PLAYER_NAME];
        GetPlayerName(id,jatekosnev,sizeof(jatekosnev));
        GetPlayerName(playerid,nev,sizeof(nev));
        format(uzenet,sizeof(uzenet),\"[%d]%s üzeni: %s\",playerid,nev,pmszoveg);
        SendClientMessage(id,COLOR_LIGHTBLUE,uzenet);
        printf(\"%s PMet küldött neki: %s szöveg: %s\",nev,jatekosnev,pmszoveg);
        format(uzenet2,sizeof(uzenet2),\"Üzeneted elküldve neki: %s | Üzenet: %s\",jatekosnev,pmszoveg);
        SendClientMessage(playerid,COLOR_LIGHTBLUE,uzenet2);
}
else MSG(playerid,COLOR_LIGHTRED,\"Õ nincs AdminSzolgálatban!\");
    }
else MSG(playerid,COLOR_LIGHTRED,\"Csak Adminnak írhatsz!\");
}
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:offduty(playerid)
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(JatekosInfo[playerid][AdminSzint] >= 1)
{
if(JatekosInfo[playerid][AdminSzolgalat] == 1)
{
new offdutyszoveg[128];
format(offdutyszoveg,sizeof(offdutyszoveg),\"[%d]%s már nincs AdminSzolgálatban! Felkeresheted IC!\", playerid, nev);
SendClientMessageToAll(COLOR_LIGHTRED,offdutyszoveg);
printf(\"%s kilépett az AdminSzolgálatból!\",nev);
JatekosInfo[playerid][AdminSzolgalat] = 0;
}
else MSG(playerid,COLOR_LIGHTRED,\"Nem vagy adminszolgálatban!\");
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
}
else SendClientMessage(playerid, COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:goto(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(JatekosInfo[playerid][AdminSzint] >= 2)
    {
        new id;
        new jatekosnev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float: z;
        if(sscanf(params,\"u\",id)) return MSG(playerid,COLOR_LIGHTRED,\"Használata: /goto [id]\");
        {
            GetPlayerName(id,jatekosnev,sizeof(jatekosnev));
            GetPlayerName(playerid,nev,sizeof(nev));
            GetPlayerPos(id, x , y , z );
            SetPlayerPos(playerid, x+1, y , z);
            SendClientMessage(playerid,COLOR_OOC,\"Sikeres teleportálás!\");
            printf(\"%s odateleportált %s -hoz/hez!\",nev,jatekosnev);
        }
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
   
}
else MSG(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
CMD:gethere(playerid,params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
    if(JatekosInfo[playerid][AdminSzint] >= 2)
    {
        new id;
        new jatekosnev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float: z;
new uzenet[128];
        if(sscanf(params,\"u\",id)) return MSG(playerid,COLOR_LIGHTRED,\"Használata: /gethere [id]\");
        {
            GetPlayerName(id,jatekosnev,sizeof(jatekosnev));
            GetPlayerName(playerid,nev,sizeof(nev));
            GetPlayerPos(playerid, x , y , z );
            SetPlayerPos(id, x+1, y , z);
            format(uzenet,sizeof(uzenet),\"%s magához teleportált!\",nev);
            SendClientMessage(id,COLOR_OOC,uzenet);
            printf(\"%s megához teleportálta %s játékost!\",nev,jatekosnev);
        }
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem elegendõ az adminszinted ehhez a parancshoz, vagy nem vagy admin!\");
}
else MSG(playerid,COLOR_LIGHTRED,\"Nem vagy bejelentkezve!\");
return 1;
}
public AdminnakUzenet(const string[],level)
{
for(new i = 0; i< MAX_PLAYERS; i++)
{
    if(Belepve[i] == 1)
    {
        if(JatekosInfo[i][AdminSzint] >= level)
        {
            SendClientMessage(i, COLOR_YELLOW, string);
            printf(string);
        }
}
}
return 1;
}
 
 


« Utoljára szerkesztve: 2014. Augusztus 19. - 18:37:17 írta krist »

Nem elérhető M1A1

Pozíció mentés
« Válasz #4 Dátum: 2014. Augusztus 19. - 22:15:53 »
0 Show voters
Azt elfelejtettem írni, hogy általában azt is le szokták menteni, hogy a játékos merre néz kilépéskor (facing angle).
Elõször is módosítod az enumodat:



enum JatekosAdatok
{
        Szint,
        Penz,
        AdminSzint,
        Tulaj,
        AdminSzolgalat,
        Skin,
        Poz
       
}

 
Hozzáírod:
 
enum JatekosAdatok
{
        Szint,
        Penz,
        AdminSzint,
        Tulaj,
        AdminSzolgalat,
        Skin,
        Float:SpawnPozX,
        Float:SpawnPozY,
        Float:SpawnPozZ,
        Float:SpawnFacingAngle
}

 
 
Majd módosítod az OnPlayerDisconnect (ez a callback automatikusan lefut, mikor a játékos lecsatlakozik) callback-et:



public OnPlayerDisconnect(playerid, reason)
{
        new file[128];
        GetPlayerName(playerid,nev,sizeof(nev));
        format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);//ha van olyan fájl, ami az õ nevét viseli
        if(fexist(file) && Belepve[playerid]== 1)//és a játékos be volt lépve
        {
            dini_IntSet(file,\"Szint\",JatekosInfo[playerid][szint]);
            dini_IntSet(file,\"Penz\",JatekosInfo[playerid][Penz]);
            dini_IntSet(file,\"AdminSzint\",JatekosInfo[playerid][AdminSzint]); //elmentjük neki ezt az értéket, a \"file\" fájlba, az \"AdminSzint\" sort, alakítsa át(dini_IntSet), és az értéke legyen \"AdminSzint\"
            dini_IntSet(file,\"Tulaj\",JatekosInfo[playerid][Tulaj]);
            dini_IntSet(file,\"AdminSzolgalat\",JatekosInfo[playerid][AdminSzolgalat]);
            dini_IntSet(file,\"Skin\",JatekosInfo[playerid][skin]);
            dini_IntSet(file,\"Poz\",JatekosInfo[playerid][Poz]);
        }
...

 
Valami ilyesmire:
 
public OnPlayerDisconnect(playerid, reason)
{
        new file[128];
        GetPlayerName(playerid,nev,sizeof(nev));
        format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);//ha van olyan fájl, ami az õ nevét viseli
        if(fexist(file) && Belepve[playerid]== 1)//és a játékos be volt lépve
        {
            dini_IntSet(file,\"Szint\",JatekosInfo[playerid][szint]);
            dini_IntSet(file,\"Penz\",JatekosInfo[playerid][Penz]);
            dini_IntSet(file,\"AdminSzint\",JatekosInfo[playerid][AdminSzint]); //elmentjük neki ezt az értéket, a \"file\" fájlba, az \"AdminSzint\" sort, alakítsa át(dini_IntSet), és az értéke legyen \"AdminSzint\"
            dini_IntSet(file,\"Tulaj\",JatekosInfo[playerid][Tulaj]);
            dini_IntSet(file,\"AdminSzolgalat\",JatekosInfo[playerid][AdminSzolgalat]);
            dini_IntSet(file,\"Skin\",JatekosInfo[playerid][skin]);
           
            //Lekérjük a játékos jelenlegi pozícióját
            new Float:x, Float:y, Float:z, Float:facingAngle;
            GetPlayerPos(playerid, x, y, z);
            GetPlayerFacingAngle(playerid, facingAngle);
            //Kiírjuk a pozíciót
            dini_FloatSet(file, \"PozX\", x);
            dini_FloatSet(file, \"PozY\", y);
            dini_FloatSet(file, \"PozZ\", z);
            dini_FloatSet(file, \"FacingAngle\", facingAngle);
        }
...

 
 
Módosítod az OnPlayerSpawn (ez a callback akkor fut le, ha a játékos spawnol) callback-et:



public OnPlayerSpawn(playerid)
{
        SetPlayerPos(playerid,1482.8942,-1740.5924,13.5469);
        SetPlayerFacingAngle(playerid,359.3687);
        ObjectBetoltese(playerid,5000);
        return 1;
}

 
Kb. ilyenre:
 
public OnPlayerSpawn(playerid)
{
        SetPlayerPos(playerid, JatekosInfo[playerid][spawnPozX], JatekosInfo[playerid][spawnPozY], JatekosInfo[playerid][spawnPozZ]);
        SetPlayerFacingAngle(playerid, JatekosInfo[playerid][spawnFacingAngle]);
        ObjectBetoltese(playerid,5000);
        return 1;
}

 
 
Módosítod a regisztráció utáni elsõ adat-megadást:



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if (dialogid == regisztracio)
        {
         if(response)
         {
            new file[128];
            new string[128];
            GetPlayerName(playerid, nev, sizeof(nev));
            if(strlen(inputtext) == 0)
                {
                                format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
                                ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
                                return 0;
                }
                format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
                if(!fexist(file))
                        {
                                dini_Create(file);
                                dini_IntSet(file, \"Antibug\",0);
                                dini_IntSet(file, \"Jelszo\",udb_hash(inputtext));
                                dini_IntSet(file,\"Szint\", 0);
                                dini_IntSet(file,\"Penz\", 0);
                                dini_IntSet(file,\"AdminSzint\", 0);
                                dini_IntSet(file,\"Tulaj\", 0);
                                dini_IntSet(file,\"AdminSzolgalat\", 0);
                                dini_IntSet(file,\"Skin\", 230);
...

 
Ilyesmire:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if (dialogid == regisztracio)
        {
         if(response)
         {
            new file[128];
            new string[128];
            GetPlayerName(playerid, nev, sizeof(nev));
            if(strlen(inputtext) == 0)
                {
                                format(string, sizeof string, \"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszavadat!\", nev);
                                ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, \"Regisztráció\", string, \"Regisztráció\", \"Kilépés\");
                                return 0;
                }
                format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
                if(!fexist(file))
                        {
                                dini_Create(file);
                                dini_IntSet(file, \"Antibug\",0);
                                dini_IntSet(file, \"Jelszo\",udb_hash(inputtext));
                                dini_IntSet(file,\"Szint\", 0);
                                dini_IntSet(file,\"Penz\", 0);
                                dini_IntSet(file,\"AdminSzint\", 0);
                                dini_IntSet(file,\"Tulaj\", 0);
                                dini_IntSet(file,\"AdminSzolgalat\", 0);
                                dini_IntSet(file,\"Skin\", 230);
                                //Alap pozíció
                                dini_FloatSet(file, \"PosX\",  1482.8942);
                                dini_FloatSet(file, \"PosY\", -1740.5924);
                                dini_FloatSet(file, \"PosZ\", 13.5469);
                                dini_FloatSet(file, \"FacingAngle\", 359.3687);
...

 
 
Ezután módosítod az adatok betöltését:



        if(dialogid == bejelentkezes)
        {
                if(response)
                {
                        ...
                        if(udb_hash(inputtext) == jelszo)
                                {
                                        Belepve[playerid] = 1;
                                        ResetPlayerMoney(playerid);
                                       
                                        ...
                                        JatekosInfo[playerid][Poz] = dini_Int(file,\"Poz\");

 
Ilyesmire:
 
        if(dialogid == bejelentkezes)
        {
                if(response)
                {
                        ...
                        if(udb_hash(inputtext) == jelszo)
                                {
                                        Belepve[playerid] = 1;
                                        ResetPlayerMoney(playerid);
                                       
                                        ...
                                        JatekosInfo[playerid][spawnPozX] = dini_Float(file, \"PozX\");
                                        JatekosInfo[playerid][spawnPozY] = dini_Float(file, \"PozY\");
                                        JatekosInfo[playerid][spawnPozZ] = dini_Float(file, \"PozZ\");
                                        JatekosInfo[playerid][spawnFacingAngle] = dini_Float(file, \"FacingAngle\");
                                        ...

 
 
Nem teszteltem, lehet hogy valamit elírtam, ezért elnézést! Remélem sikerülni fog :)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Pozíció mentés
« Válasz #5 Dátum: 2014. Augusztus 20. - 00:35:24 »
0 Show voters
M1A1! Istenkirály vagy! Nagyon szépen köszönöm. Már mióta itt próbálgatom, és sehogysem jöttem rá! Nagyon szépen köszönöm!  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal