Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - Johnies00

Oldalak: [1] 2 3
1
Üdv :)

Azért nyitottam meg a témát mert nem csak reakciótesztnél használhatók a funkciók.  :)


Kezdjünk is bele..


Szkript elején létrehozunk egy bool változót amivel majd szabályozzuk hogy ha valaki beírta a megfelelõ karaktereket akkor a többi játékos ne kapja meg a nyereményt.

 
new bool:reakcio;

 
Létrehozunk egy tömböt, amibe írunk egy pár lehetõséget.
 
new karakterek[][] =
{
\"kutya\", \"macska\", \"krokodil\", \"viziló\", \"sas\"
};

 
Létrehozunk egy sima sztring változót amiben majd tároljuk az épp aktuális szót/karaktereket.
 
new szoveg[20];

 
Létrehozunk egy parancsot, amivel elindítunk egy reakciótesztet (idõzítõbe is meg lehet írni természetesen)
 
CMD:reakcioteszt(playerid)
{
new str[128];
    new rand = random(sizeof(karakterek));
format(szoveg, 100, karakterek[rand]);
format(str, 128, \"Reakció teszt! Szöveg: %s\", szoveg);
SendClientMessageToAll(-1, str);
reakcio = true;
return 1;
}

 
Mi mit jelent:
 
new str[128];

 
Létrehozunk egy változót amit majd a szöveg kiírására használunk.
 
new rand = random(sizeof(karakterek));

 


Létrehozunk egy \'rand\' nevû változót, amiben tárolunk egy szöveget/karaktert a \'karakterek\' tömbbõl véletlenszerûen

 
format(szoveg, 20, karakterek[rand]);

 
Formázzuk a \'szoveg\' nevû változót és a karakterek tömbbõl véletlenszerûen tároljuk benne a szöveget/karaktert.
 
format(str, 128, \"Reakció teszt! Szöveg: %s\", szoveg);

 


Formázzuk a \'str\' változónkat és tároljuk benne az adott szöveget, a \'szoveg\' változóval együtt. (Így fog kinézni: Reakció teszt! Szöveg: krokodil)

 
SendClientMessageToAll(-1, str);

 
Elküldjük minden játékosnak a szöveget.
 
reakcio = true;

 
A bool változónk értékét true-ra(igazra) állítjuk
Most jöhet maga a szöveg/karakter beírása. :)
 
public OnPlayerText(playerid, text[])
{
if(reakcio == true)
{
if(!strcmp(text, szoveg, true))
{
    new str[128];
   new pName[24];
   GetPlayerName(playerid, pName, 24);
   format(str, 128, \"%s megnyerte a reakciótesztet, nyereménye: 5000$\", pName);
   SendClientMessageToAll(-1, str);
   GivePlayerMoney(playerid, 5000);
   reakcio = false;
   return 0;
}
}
return 1;
}

 
Magyarázat:
 
if(reakcio == true)

 
Ha a \'reakcio\' változó értéke true(igaz) [tehát beírtuk a parancsot]
 
if(!strcmp(text, szoveg, true))

 
Ha a beírt szöveg, és a \'szoveg\' változó értéke megyegyezik (ezt ugye a parancsba elmentettük)
 
new str[128];

 
Létrehozunk egy változót amit majd a szöveg kiírására használunk
 
new pName[24];

 
Létrehozunk egy változót a nevünknek.
 
GetPlayerName(playerid, pName, 24);

 
Elmentjük a nevünket a pName változóba (ezután használhatjuk bárhol)
 
format(str, 128, \"%s megnyerte a reakciótesztet, nyereménye: 5000$\", pName);

 
Formázzuk az \'str\' változót és tároljuk benne a szöveget a nevünkkel együtt.
 
SendClientMessageToAll(-1, str);

 
Kiírjuk minden játékosnak a szöveget.
 
GivePlayerMoney(playerid, 5000);

 
Adunk a játékosnak 5000$-t.
 
reakcio = false;

 
A \'reakcio\' változó értékét átállítjuk false-ra(hamisra)

Tehát a játékos csak akkor kap pénzt ha a változó értéke true(igaz), és miután 1 valaki beírta a parancsot megkapja a pénzt és a változó értéke false(hamis) lesz.


Remélem érthetõ a dolog, nem csak erre hanem sok más egyéb dologra is használható. ^^

2
Segítségkérés / Érdekes problematika
« Dátum: 2012. December 01. - 16:12:03 »
Egy sima TextDrawCreate-nél megadom a 2 koordinátát, de nincs sehol a TD.. ha ugyan azt adom meg mint a másik td-nél van akkor ott van (csak épp egybefolynak..) Mi okozhatja?

3
SA-MP: Szerverfejlesztés / Állítható visszaszámláló szkript by DaWee
« Dátum: 2012. November 30. - 15:14:13 »
A téma neve elmond mindent  :D

Módban állítható a minimum és a maximum érték.


Letöltés: http://www.solidfiles.com/d/5c07d5b5af/
 

#include < a_samp >
#include < sscanf2 >
#include < zcmd >
new szamlalo;
new bool:aktiv[MAX_PLAYERS];
new counttimer[MAX_PLAYERS];
new Float:X, Float:Y, Float:Z;
new str[128];
main() { }
CMD:count(playerid, params[])
{
new count, string[80], pName[24];
GetPlayerName(playerid, pName, 24);
GetPlayerPos(playerid, X, Y, Z);
if(sscanf(params, \"i\", count)) return SendClientMessage(playerid, 0xeda023AA, \">> /count [3-10] <<\");
if(count > 10 || count < 3) return SendClientMessage(playerid, 0xeb1717AA, \"A visszaszámlálási idõ csak 3 és 10 között lehet!\");
if(aktiv[playerid] == true) return SendClientMessage(playerid, 0xeb1717AA, \"Már folyamatban van egy visszaszámlálás a közeledben..!\");
for(new p = 0; p < MAX_PLAYERS; p++)
{
    if(IsPlayerInRangeOfPoint(p, 15, X, Y, Z))
    {
        aktiv[p] = true;
        szamlalo = count;
   counttimer[p] = SetTimerEx(\"szamlalas\", 1000, true, \"i\", p);
   TogglePlayerControllable(p, 0);
   format(str, 128, \"~g~%d\", szamlalo);
   format(string, 80, \"%s elindított egy %d másodperces visszaszámlálást.\", pName, count);
   SendClientMessage(p, 0x17e0ebAA, string);
   GameTextForPlayer(p, str, 1500, 4);
   PlayerPlaySound(playerid, 1056, 0, 0, 0);
   --szamlalo;
}
}
return 1;
}
       
       
       
forward szamlalas(playerid);
public szamlalas(playerid)
{
format(str, 128, \"~g~%d\", szamlalo);
if(szamlalo == 0)
{
GameTextForPlayer(playerid, \"~w~GO-GO-GO\", 1500, 4);
KillTimer(counttimer[playerid]);
szamlalo = -1;
aktiv[playerid] = false;
TogglePlayerControllable(playerid, 1);
PlayerPlaySound(playerid, 1057, 0, 0, 0);
    } else {
   GameTextForPlayer(playerid, str, 1500, 4);
--szamlalo;
PlayerPlaySound(playerid, 1056, 0, 0, 0);
}
}
       

4
SA-MP: Szerverfejlesztés / Munka Szkript by DaWee
« Dátum: 2012. November 28. - 21:01:48 »
Üdv, próbáltam összehozni egy olyan szkriptet aminek hasznát vehetitek, így elkészítettem az elsõ munkaszkriptem.  :D
Munkák: Rendõr, Mentõs, Taxis, Pizzafutár, Úttisztító, Autószerelõ
 

Parancsok:


/sokkol - Lefagyasztja a játékost 3 másodpercre


/lecsuk - Játékos bezárása a börtönbe (textdraw mutatása arról hogy hány másodperc van még hátra)


/gyogyit - Feltölti a játékos életét (nem tudtam hogy tudnám \"különlegessé\" tenni..ötleteket várok.^^)


/javit - Megjavítja a játékos jármûvét (szintén)


/pizza - Pizza kiszállítás


/uttisztitas - Megjelenõ CP-ken kell haladni


/szallit - Utas szállítás

Letöltés: http://www.solidfiles.com/d/b18a0a679e/
 

#include < a_samp >
#include < sscanf2 >
#include < zcmd >
#include < fixchars >
#define RENDOR 0
#define MENTO 1
#define UTTISZTITO 2
#define PIZZAFUTAR 3
#define AUTOSZERELO 4
#define TAXI 5
#define NINCS 6
#define PIROS 0xeb1717AA
#define KEK 0x17e0ebAA
#define ZOLD 0x17eb29AA
#define NARANCS 0xeda023AA
#define BARNA 0x822d2dAA
#define SARGA 0xe6e03aAA
new munka[MAX_PLAYERS];
#define MUNKAK 1234
main() { }
new Float:rendelesek[5][3] =
{
    {2484.2205,920.6072,10.7105},
    {2486.9875,1531.7740,10.7085},
    {1015.4446,1841.9604,10.6994},
    {1344.9720,2596.9402,10.4032},
    {2614.3760,2212.8931,10.3949}
};
new Float:utasfelvetel[22][3] =
{
    {2160.3320,2055.4702,10.5661},
    {2159.6953,1957.0100,10.5673},
    {2132.7607,1810.3250,10.5675},
    {2079.7021,1619.3785,10.5694},
    {2080.7549,1455.5938,10.5675},
    {2079.9414,1294.9775,10.5674},
    {2079.6921,1135.5769,10.5677},
    {2080.3665,1002.0613,10.5646},
    {2035.4452,913.5845,8.4233},
    {2034.9277,1016.3568,10.5671},
    {2034.3649,1177.5657,10.5672},
    {2033.9302,1353.3966,10.5670},
    {2034.4137,1620.3201,10.5668},
    {2082.8086,1799.7281,10.5676},
    {2029.4786,1915.2919,12.0698},
    {2114.8093,2037.2749,10.5602},
    {1939.4149,2107.6467,10.4895},
    {1873.4940,2055.2214,10.5670},
    {1623.8896,2045.3334,10.4712},
    {1610.8477,2153.2747,10.5670},
    {1733.3638,2210.6692,10.5669},
    {1651.9015,2265.7212,10.5672}
};
new Float:utasletetel[11][3] =
{
    {2061.7883,2651.5706,10.5657},
    {2061.1472,2734.6421,10.5671},
    {1986.2473,2734.1816,10.5674},
    {1821.3400,2720.2749,10.5672},
    {1627.8623,2740.3684,10.5672},
    {1499.7968,2803.2471,10.5667},
    {1629.5864,2829.2522,10.5673},
    {1726.3871,2706.6992,10.5674},
    {1773.7991,2706.4480,10.5674},
    {1946.9113,2735.6951,10.5655},
    {2145.4028,2766.4771,10.5644}
};
enum jarmuvek
{
autoszerelo[3],
mento[3],
pizzafutar[2],
taxi[3],
uttisztito[3],
rendor[4]
};
new kocsik[jarmuvek];
new cp[MAX_PLAYERS];
new bool:frakckocsiban[MAX_PLAYERS];
new bool:pizzacp[MAX_PLAYERS];
new bool:szallitas[MAX_PLAYERS];
new pizzatimer[MAX_PLAYERS];
new utasszallitas[MAX_PLAYERS];
 
new bortonido[MAX_PLAYERS];
new leteltido[MAX_PLAYERS];
new bortonszamlalo[MAX_PLAYERS];
new bool:bortonben[MAX_PLAYERS];
new Text:bortontd[MAX_PLAYERS];
public OnFilterScriptInit()
{
print(\"Munka Szkript betöltve! by: DaWee\");
//Kocsik
kocsik[autoszerelo][0] = AddStaticVehicle(525,2393.0107,1015.2910,10.7069,125.2092,0,0); // autószerelõkocsi
kocsik[autoszerelo][1] = AddStaticVehicle(525,2393.3523,1008.0689,10.7019,128.7392,0,0); // autószerelõkocsi
kocsik[autoszerelo][2] = AddStaticVehicle(525,2393.4407,1000.3688,10.7105,129.8539,0,0); // autószerelõkocsi
kocsik[mento][0] = AddStaticVehicle(416,1594.7666,1849.8314,10.9688,178.0924,1,6); // mentõ
kocsik[mento][1] = AddStaticVehicle(416,1601.1036,1849.5844,10.9693,179.7100,1,6); // mentõ
kocsik[mento][2] = AddStaticVehicle(416,1607.6207,1849.4182,10.9697,180.1315,1,6); // mentõ
kocsik[pizzafutar][0] = AddStaticVehicle(448,2086.0764,2205.1519,10.4185,358.5762,3,3); // pizzafutár
kocsik[pizzafutar][1] = AddStaticVehicle(448,2083.1633,2205.2156,10.4195,357.6584,3,3); // pizzafutár
kocsik[taxi][0] = AddStaticVehicle(420,1527.8209,2214.5715,10.6004,359.8884,6,6); // taxi
kocsik[taxi][1] = AddStaticVehicle(420,1534.5490,2214.2957,10.5979,359.7014,6,6); // taxi
kocsik[taxi][2] = AddStaticVehicle(420,1541.2281,2214.2615,10.5990,1.1591,6,6); // taxi
kocsik[uttisztito][0] = AddStaticVehicle(574,1671.3323,988.5707,10.5455,179.4893,2,2); // úttisztító
kocsik[uttisztito][1] = AddStaticVehicle(574,1677.7534,988.5708,10.5455,179.4019,2,2); // úttisztító
kocsik[uttisztito][2] = AddStaticVehicle(574,1665.0098,988.6097,10.5455,178.6767,2,2); // úttisztító
kocsik[rendor][0] = AddStaticVehicle(598,2296.1941,2427.6025,10.5677,155.5798,103,0); // rendõr
kocsik[rendor][1] = AddStaticVehicle(598,2281.6145,2425.2021,10.5680,206.2945,103,0); // rendõr
kocsik[rendor][2] = AddStaticVehicle(598,2273.6096,2425.1809,10.5714,198.7128,103,0); // rendõr
kocsik[rendor][3] = AddStaticVehicle(598,2301.2061,2425.7881,10.5649,149.2544,103,0); // rendõr
return 1;
}
public OnFilterScriptExit()
{
DestroyVehicle(kocsik[autoszerelo][0]);
DestroyVehicle(kocsik[autoszerelo][1]);
DestroyVehicle(kocsik[autoszerelo][2]);
DestroyVehicle(kocsik[mento][0]);
DestroyVehicle(kocsik[mento][1]);
DestroyVehicle(kocsik[mento][2]);
DestroyVehicle(kocsik[pizzafutar][0]);
DestroyVehicle(kocsik[pizzafutar][1]);
DestroyVehicle(kocsik[taxi][0]);
DestroyVehicle(kocsik[taxi][1]);
DestroyVehicle(kocsik[taxi][2]);
DestroyVehicle(kocsik[uttisztito][0]);
DestroyVehicle(kocsik[uttisztito][1]);
DestroyVehicle(kocsik[uttisztito][2]);
DestroyVehicle(kocsik[rendor][0]);
DestroyVehicle(kocsik[rendor][1]);
DestroyVehicle(kocsik[rendor][2]);
DestroyVehicle(kocsik[rendor][3]);
return 1;
}
public OnPlayerConnect(playerid)
{
munka[playerid] = NINCS;
frakckocsiban[playerid] = false;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(munka[playerid] == RENDOR)
{
SetPlayerPos(playerid, 2289.1575,2427.6248,10.8203);
SetPlayerSkin(playerid, 283);
}
else if(munka[playerid] == MENTO)
{
    SetPlayerPos(playerid, 1604.5712,1824.0358,10.8203);
    SetPlayerSkin(playerid, 276);
}
else if(munka[playerid] == UTTISZTITO)
{
    SetPlayerPos(playerid, 1656.1990,994.3511,10.8203);
    SetPlayerSkin(playerid, 144);
}
else if(munka[playerid] == TAXI)
{
    SetPlayerPos(playerid, 1530.8282,2208.0488,11.2393);
    SetPlayerSkin(playerid, 255);
}
else if(munka[playerid] == AUTOSZERELO)
{
    SetPlayerPos(playerid, 2393.4819,988.5132,10.8203);
    SetPlayerSkin(playerid, 50);
}
else if(munka[playerid] == PIZZAFUTAR)
{
    SetPlayerPos(playerid, 2083.1091,2220.4846,10.8203);
    SetPlayerSkin(playerid, 155);
}
return 1;
}
CMD:parancsok(playerid)
{
if(munka[playerid] == NINCS) return SendClientMessage(playerid, PIROS, \"Nincs munkád.. /job\");
if(munka[playerid] == RENDOR)
{
    SendClientMessage(playerid, ZOLD, \"/sokkol /lecsuk\");
}
if(munka[playerid] == MENTO)
{
        SendClientMessage(playerid, ZOLD, \"/gyogyit\");
}
if(munka[playerid] == UTTISZTITO)
{
        SendClientMessage(playerid, ZOLD, \"/tisztit\");
}
if(munka[playerid] == PIZZAFUTAR)
{
        SendClientMessage(playerid, ZOLD, \"/pizza\");
}
if(munka[playerid] == AUTOSZERELO)
{
        SendClientMessage(playerid, ZOLD, \"/javit\");
}
if(munka[playerid] == TAXI)
{
        SendClientMessage(playerid, ZOLD, \"/szallit\");
}
return 1;
}
CMD:job(playerid)
{
if(munka[playerid] != NINCS) return SendClientMessage(playerid, PIROS, \"Már van munkád..Kilépéshez /qjob\");
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_LIST, \"Választható munkák\", \"Rendõr\\nMentõs\\nÚttisztító\\nPizzafutár\\nAutószerelõ\\nTaxis\", \"Választ\", \"Kilép\");
return 1;
}
CMD:qjob(playerid)
{
if(munka[playerid] != NINCS)
{
munka[playerid] = NINCS;
SpawnPlayer(playerid);
SendClientMessage(playerid, NARANCS, \"Kiléptél a munkádból. /job munkavállaláshoz\");
} else {
SendClientMessage(playerid, PIROS, \"Nincs munkád..\");
}
return 1;
}
 
CMD:sokkol(playerid, params[])
{
munka[playerid] = RENDOR;
new giveplayerid;
new giveplayername[24];
new str[128];
new Float:givepos[3], Float:pos[3];
if(munka[playerid] != RENDOR) return SendClientMessage(playerid, PIROS, \"Nem vagy rendõr!\");
if(sscanf(params, \"u\", giveplayerid)) return 1;
GetPlayerPos(giveplayerid, givepos[0], givepos[1], givepos[2]);
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerName(giveplayerid, giveplayername, 24);
if(giveplayerid == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem tudod sokkolni!\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID!\");
if(!IsPlayerInRangeOfPoint(playerid, 2, givepos[0], givepos[1], givepos[2])) return SendClientMessage(playerid, PIROS, \"Nincs a közeledben a játékos!\");
TogglePlayerControllable(giveplayerid, 0);
SetTimerEx(\"sokk\", 3000, false, \"i\", giveplayerid);
SendClientMessage(giveplayerid, KEK, \"Lesokkoltak 3 másodpercre.\");
format(str, 128, \"Lesokkoltad %s-t.\", giveplayername);
SendClientMessage(playerid, KEK, str);
return 1;
}
forward sokk(playerid);
public sokk(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
CMD:lecsuk(playerid, params[])
{
new giveplayerid;
new giveplayername[24];
new str[128];
new ido;
new Float:givepos[3];
if(munka[playerid] != RENDOR) return SendClientMessage(playerid, PIROS, \"Nem vagy rendõr!\");
if(sscanf(params, \"ui\", giveplayerid, ido)) return 1;
GetPlayerName(giveplayerid, giveplayername, 24);
GetPlayerPos(giveplayerid, givepos[0], givepos[1], givepos[2]);
//if(giveplayerid == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem csukhatod le!\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID!\");
if(!IsPlayerInRangeOfPoint(playerid, 4, 2292.7271,2468.4524,10.8203)) return SendClientMessage(playerid, PIROS, \"Nem vagy a rendõrségnél! (Térképen jelezve!)\"), SetPlayerCheckpoint(playerid, 2292.7271,2468.4524,10.8203, 4);
if(!IsPlayerInRangeOfPoint(playerid, 3, givepos[0], givepos[1], givepos[2])) return SendClientMessage(playerid, PIROS, \"Nincs közeledben a játékos!\");
    SetPlayerPos(giveplayerid, 264.7567,77.5803,1001.0391);
SetPlayerInterior(giveplayerid, 6);
SetPlayerVirtualWorld(giveplayerid, 1);
SetTimerEx(\"borton\", ido*60000, false, \"i\", giveplayerid);
format(str, 128, \"Lecsuktad %s-t %d percre.\", giveplayername, ido);
SendClientMessage(playerid, KEK, str);
format(str, 128, \"Lecsuktak %d percre.\", ido);
SendClientMessage(giveplayerid, KEK, str);
bortonben[giveplayerid] = true;
bortontd[giveplayerid] = TextDrawCreate(390, 100, \" \");
    TextDrawFont(bortontd[giveplayerid], 1);
TextDrawColor(bortontd[giveplayerid], 0xFFFFFFAA);
TextDrawUseBox(bortontd[giveplayerid], 1);
TextDrawBoxColor(bortontd[giveplayerid], 0x000000FF);
    TextDrawShowForPlayer(giveplayerid, bortontd[giveplayerid]);
    bortonszamlalo[giveplayerid] = SetTimerEx(\"jailcount\", 1000, true, \"i\", giveplayerid);
bortonido[giveplayerid] = ido*60000;
leteltido[giveplayerid] = 0;
return 1;
}
forward borton(playerid);
public borton(playerid)
{
    SetPlayerPos(playerid, 2288.0120,2427.6833,10.8203);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SendClientMessage(playerid, NARANCS, \"Letöltötted a büntetésed.\");
KillTimer(bortonszamlalo[playerid]);
bortonido[playerid] = 0;
leteltido[playerid] = 0;
TextDrawDestroy(bortontd[playerid]);
bortonben[playerid] = false;
return 1;
}
forward jailcount(playerid);
public jailcount(playerid)
{
    leteltido[playerid] = leteltido[playerid]+1000;
}
CMD:gyogyit(playerid, params[])
{
new giveplayerid;
new giveplayername[24];
new str[128];
new Float:givepos[3];
if(munka[playerid] != MENTO) return SendClientMessage(playerid, PIROS, \"Nem vagy mentõs!\");
if(sscanf(params, \"u\", giveplayerid)) return 1;
GetPlayerPos(giveplayerid, givepos[0], givepos[1], givepos[2]);
GetPlayerName(giveplayerid, giveplayername, 24);
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID!\");
if(!IsPlayerInRangeOfPoint(playerid, 2, givepos[0], givepos[1], givepos[2])) return SendClientMessage(playerid, PIROS, \"Nincs a közeledben a játékos!\");
SetPlayerHealth(giveplayerid, 100);
format(str, 128, \"Meggógyítottad %s-t.\", giveplayername);
SendClientMessage(playerid, KEK, str);
SendClientMessage(giveplayerid, KEK, \"Feltöltötték az életed.\");
return 1;
}
CMD:tisztit(playerid)
{
if(munka[playerid] != UTTISZTITO) return SendClientMessage(playerid, PIROS, \"Nem vagy úttisztító!\");
if(GetPlayerVehicleID(playerid) != kocsik[uttisztito][0] && GetPlayerVehicleID(playerid) != kocsik[uttisztito][1] && GetPlayerVehicleID(playerid) != kocsik[uttisztito][2]) return SendClientMessage(playerid, PIROS, \"Úttisztító autóban kell ülnöd!\");
SetPlayerRaceCheckpoint(playerid, 0, 1668.2045,944.8555,10.7660, 1577.9547,932.7616,10.7853, 3);
SendClientMessage(playerid, ZOLD, \"Úttisztítás elkezdve! Menj végig a Checkpointokon hogy megkapd a fizetést.\");
cp[playerid] = 0;
frakckocsiban[playerid] = true;
return 1;
}
CMD:javit(playerid, params[])
{
new giveplayerid;
new giveplayername[24];
new str[128];
new Float:givepos[3];
if(munka[playerid] != AUTOSZERELO) return SendClientMessage(playerid, PIROS, \"Nem vagy autószerelõ!\");
if(sscanf(params, \"u\", giveplayerid)) return 1;
GetPlayerName(giveplayerid, giveplayername, 24);
GetPlayerPos(giveplayerid, givepos[0], givepos[1], givepos[2]);
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID!\");
if(!IsPlayerInRangeOfPoint(playerid, 4, givepos[0], givepos[1], givepos[2])) return SendClientMessage(playerid, PIROS, \"Nincs közeledben a játékos!\");
if(!IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, PIROS, \"A játékos nem ül jármûben!\");
RepairVehicle(GetPlayerVehicleID(giveplayerid));
format(str, 128, \"Megjavítottad %s jármûvét!\", giveplayername);
SendClientMessage(playerid, KEK, str);
SendClientMessage(giveplayerid, KEK, \"Megjavították a jármûvedet!\");
return 1;
}
CMD:pizza(playerid)
{
    if(GetPlayerVehicleID(playerid) != kocsik[pizzafutar][0] && GetPlayerVehicleID(playerid) != kocsik[pizzafutar][1]) return SendClientMessage(playerid, PIROS, \"Szálj fel egy pizzás motorra.\");
if(munka[playerid] != PIZZAFUTAR) return SendClientMessage(playerid, PIROS, \"Nem vagy pizzafutár!\");
if(szallitas[playerid] == true) return SendClientMessage(playerid, PIROS, \"Már vittél ki pizzát az elmúlt 5 percben, próbáld meg késõbb!\");
new rnd = random(sizeof(rendelesek));
SetPlayerCheckpoint(playerid, rendelesek[rnd][0], rendelesek[rnd][1], rendelesek[rnd][2], 3);
SendClientMessage(playerid, ZOLD, \"Elfogadtál egy megrendelést..Menj és vidd ki a pizzát!\");
pizzatimer[playerid] = SetTimer(\"pizzarendeles\", 5*60000, false);
szallitas[playerid] = true;
pizzacp[playerid] = true;
frakckocsiban[playerid] = true;
return 1;
}
CMD:szallit(playerid)
{
new rnd = random(sizeof(utasfelvetel));
if(munka[playerid] != TAXI) return SendClientMessage(playerid, PIROS, \"Nem vagy taxis!\");
if(GetPlayerVehicleID(playerid) != kocsik[taxi][0] && GetPlayerVehicleID(playerid) != kocsik[taxi][1] && GetPlayerVehicleID(playerid) != kocsik[taxi][2]) return SendClientMessage(playerid, PIROS, \"Nem ülsz taxiban!\");
SetPlayerCheckpoint(playerid, utasfelvetel[rnd][0], utasfelvetel[rnd][1], utasfelvetel[rnd][2], 3);
SendClientMessage(playerid, ZOLD, \"Fogadtál egy hívást, menj és vedd fel az utast!\");
frakckocsiban[playerid] = true;
utasszallitas[playerid] = 1;
return 1;
}
forward pizzarendeles(playerid);
public pizzarendeles(playerid)
{
szallitas[playerid] = false;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
    new bevetel = randomex(30000, 40000);
new str[128];
switch(cp[playerid])
{
    case 0: SetPlayerRaceCheckpoint(playerid, 0, 1577.9547,932.7616,10.7853, 1485.2031,1133.2733,10.7773, 3), cp[playerid]++;
    case 1: SetPlayerRaceCheckpoint(playerid, 0, 1485.2031,1133.2733,10.7773, 1007.4518,1211.8536,10.7752, 3), cp[playerid]++;
    case 2: SetPlayerRaceCheckpoint(playerid, 0, 1007.4518,1211.8536,10.7752, 1025.8379,1373.2275,10.9509, 3), cp[playerid]++;
    case 3: SetPlayerRaceCheckpoint(playerid, 0, 1025.8379,1373.2275,10.9509, 1167.4708,1401.9779,8.5918, 3), cp[playerid]++;
    case 4: SetPlayerRaceCheckpoint(playerid, 0, 1167.4708,1401.9779,8.5918, 1163.4192,1664.6498,5.8791, 3), cp[playerid]++;
    case 5: SetPlayerRaceCheckpoint(playerid, 0, 1163.4192,1664.6498,5.8791, 1029.4604,1659.2610,5.9229, 3), cp[playerid]++;
    case 6: SetPlayerRaceCheckpoint(playerid, 0, 1029.4604,1659.2610,5.9229, 1007.2145,1359.7057,10.7738, 3), cp[playerid]++;
    case 7: SetPlayerRaceCheckpoint(playerid, 0, 1007.2145,1359.7057,10.7738, 1091.2129,1193.9396,10.7752, 3), cp[playerid]++;
    case 8: SetPlayerRaceCheckpoint(playerid, 0, 1091.2129,1193.9396,10.7752, 1447.2891,1169.1223,10.7757, 3), cp[playerid]++;
    case 9: SetPlayerRaceCheckpoint(playerid, 0, 1447.2891,1169.1223,10.7757, 1741.6011,1132.9407,11.0800, 3), cp[playerid]++;
    case 10: SetPlayerRaceCheckpoint(playerid, 0, 1741.6011,1132.9407,11.0800, 1868.0763,1061.5563,10.7757, 3), cp[playerid]++;
    case 11: SetPlayerRaceCheckpoint(playerid, 0, 1868.0763,1061.5563,10.7757, 2048.4185,901.5236,7.9988, 3), cp[playerid]++;
    case 12: SetPlayerRaceCheckpoint(playerid, 0, 2048.4185,901.5236,7.9988, 1829.9387,852.0641,10.3685, 3), cp[playerid]++;
    case 13: SetPlayerRaceCheckpoint(playerid, 0, 1829.9387,852.0641,10.3685, 1348.5858,776.3357,10.8763, 3), cp[playerid]++;
    case 14: SetPlayerRaceCheckpoint(playerid, 0, 1348.5858,776.3357,10.8763, 1567.3180,704.7684,10.8009, 3), cp[playerid]++;
    case 15: SetPlayerRaceCheckpoint(playerid, 0, 1567.3180,704.7684,10.8009, 1694.9191,986.5135,10.9232, 3), cp[playerid]++;
    case 16: SetPlayerRaceCheckpoint(playerid, 1, 1694.9191,986.5135,10.9232, 0,0,0, 3), cp[playerid]++;
    case 17: cp[playerid] = -1, frakckocsiban[playerid] = false,  DisablePlayerRaceCheckpoint(playerid),
      format(str, 128, \"Megtisztítottad az utat. Bevétel: %d\", bevetel), SendClientMessage(playerid, KEK, str), GivePlayerMoney(playerid, bevetel);
}
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(frakckocsiban[playerid] == true)
{
    if(munka[playerid] == UTTISZTITO)
    {
   frakckocsiban[playerid] = false;
   DisablePlayerRaceCheckpoint(playerid);
   cp[playerid] = 0;
   SendClientMessage(playerid, BARNA, \"Kiszáltál az úttisztító autóból, a munkád véget ért.\");
}
else if(munka[playerid] == PIZZAFUTAR)
{
    frakckocsiban[playerid] = false;
    DisablePlayerCheckpoint(playerid);
    KillTimer(pizzatimer[playerid]);
    SendClientMessage(playerid, BARNA, \"Leszáltál az pizzás motorról, a munkád véget ért.\");
}
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
    if(GetPlayerVehicleID(playerid) == kocsik[autoszerelo][0] || GetPlayerVehicleID(playerid) == kocsik[autoszerelo][1] || GetPlayerVehicleID(playerid) == kocsik[autoszerelo][2])
    {
        if(munka[playerid] != AUTOSZERELO)
        {
            SendClientMessage(playerid, PIROS, \"Nem vagy autószerelõ!\");
            RemovePlayerFromVehicle(playerid);
   }
}
else if(GetPlayerVehicleID(playerid) == kocsik[mento][0] || GetPlayerVehicleID(playerid) == kocsik[mento][1] || GetPlayerVehicleID(playerid) == kocsik[mento][2])
{
    if(munka[playerid] != MENTO)
        {
            SendClientMessage(playerid, PIROS, \"Nem vagy mentõs!\");
            RemovePlayerFromVehicle(playerid);
   }
}
else if(GetPlayerVehicleID(playerid) == kocsik[uttisztito][0] || GetPlayerVehicleID(playerid) == kocsik[uttisztito][1] || GetPlayerVehicleID(playerid) == kocsik[uttisztito][2])
{
    if(munka[playerid] != UTTISZTITO)
        {
            SendClientMessage(playerid, PIROS, \"Nem vagy úttisztító!\");
            RemovePlayerFromVehicle(playerid);
   }
}
else if(GetPlayerVehicleID(playerid) == kocsik[pizzafutar][0] || GetPlayerVehicleID(playerid) == kocsik[pizzafutar][1])
{
    if(munka[playerid] != PIZZAFUTAR)
        {
            SendClientMessage(playerid, PIROS, \"Nem vagy pizzafutár!\");
            RemovePlayerFromVehicle(playerid);
   }
}
else if(GetPlayerVehicleID(playerid) == kocsik[rendor][0] || GetPlayerVehicleID(playerid) == kocsik[rendor][1] || GetPlayerVehicleID(playerid) == kocsik[rendor][2] || GetPlayerVehicleID(playerid) == kocsik[rendor][3])
{
    if(munka[playerid] != RENDOR)
        {
            SendClientMessage(playerid, PIROS, \"Nem vagy rendõr!\");
            RemovePlayerFromVehicle(playerid);
   }
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(pizzacp[playerid] == true)
{
    new str[128];
    new bevetel = randomex(10000, 20000);
DisablePlayerCheckpoint(playerid);
format(str, 128, \"Sikeresen kiszállítottad a pizzát! Bevétel: %d$\", bevetel);
SendClientMessage(playerid, KEK, str);
GivePlayerMoney(playerid, bevetel);
pizzacp[playerid] = false;
        return 0;
}
if(utasszallitas[playerid] == 1)
{
    new rnd = random(sizeof(utasletetel));
SendClientMessage(playerid, ZOLD, \"Felvetted az utast, vidd a kijelölt helyre!\");
SetPlayerCheckpoint(playerid, utasletetel[rnd][0], utasletetel[rnd][1], utasletetel[rnd][2], 3);
utasszallitas[playerid] = 2;
return 0;
}
if(utasszallitas[playerid] == 2)
{
    new str[128];
new bevetel = randomex(10000, 20000);
format(str, 128, \"Elvitted az utast a célponthoz. Bevétel: %d$\", bevetel);
GivePlayerMoney(playerid, bevetel);
SendClientMessage(playerid, KEK, str);
utasszallitas[playerid] = 0;
DisablePlayerCheckpoint(playerid);
PlayerPlaySound(playerid, 1137, 0, 0, 0);
return 0;
}
DisablePlayerCheckpoint(playerid);
PlayerPlaySound(playerid, 1137, 0, 0, 0);
return 1;
}
public OnPlayerUpdate(playerid)
{
if(bortonben[playerid] == true)
{
    new box[50];
    format(box, 50, \"Hátralévõ idõ: %d mp\", (bortonido[playerid]-leteltido[playerid])/1000);
TextDrawSetString(bortontd[playerid], box);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1234)
{
    new pName[24];
    new str[128];
    GetPlayerName(playerid, pName, 24);
if(listitem == 0)
{
   format(str, 128, \"%s mostantól Rendõrként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Rendõr\");
   SetPlayerPos(playerid, 2289.1575,2427.6248,10.8203);
   SetPlayerSkin(playerid, 283);
   munka[playerid] = RENDOR;
}
if(listitem == 1)
{
   format(str, 128, \"%s mostantól Mentõsként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Mentõs\");
   SetPlayerPos(playerid, 1604.5712,1824.0358,10.8203);
   SetPlayerSkin(playerid, 276);
   munka[playerid] = MENTO;
}
if(listitem == 2)
{
   format(str, 128, \"%s mostantól Úttisztítóként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Úttisztító\");
   SetPlayerPos(playerid, 1656.1990,994.3511,10.8203);
   SetPlayerSkin(playerid, 144);
   munka[playerid] = UTTISZTITO;
}
if(listitem == 3)
{
   format(str, 128, \"%s mostantól Pizzafutárként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Pizzafutár\");
   SetPlayerPos(playerid, 2083.1091,2220.4846,10.8203);
   SetPlayerSkin(playerid, 155);
   munka[playerid] = PIZZAFUTAR;
}
if(listitem == 4)
{
   format(str, 128, \"%s mostantól Autószerelõként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Autószerelõ\");
   SetPlayerPos(playerid, 2393.4819,988.5132,10.8203);
   SetPlayerSkin(playerid, 50);
   munka[playerid] = AUTOSZERELO;
}
if(listitem == 5)
{
   format(str, 128, \"%s mostantól Taxisként dolgozik!\", pName);
   SendClientMessageToAll(SARGA, str);
   SendClientMessage(playerid, -1, \"Válaszott munka: Taxis\");
   SetPlayerPos(playerid, 1530.8282,2208.0488,11.2393);
   SetPlayerSkin(playerid, 255);
   munka[playerid] = TAXI;
}
}
return 1;
}
stock randomex(min,max) return random(1+max-min)+min;

5
Segítségkérés / Módban lefut az ami nem kellene..Megoldás?!
« Dátum: 2012. November 28. - 18:43:21 »
Épp írok egy munkaszkriptet, és van benne egy olyan rész, hogy ha belemegy a játékos egy sima Checkpointba akkot törlõdik a CP, ez mind szép és jó de..(másolok magyarázat helyett..)

Módban:

 

public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid), SendClientMessage(playerid, -1, \"A módban lévõ DisablePlayerCheckPoint fgv lefutott...\");
    PlayerPlaySound(playerid, 1137, 0, 0, 0);
return 1;
}

 
Szkriptben:
 

public OnPlayerEnterCheckpoint(playerid)
{
if(utasszallitas[playerid] == 1)
{
    new rnd = random(sizeof(utasletetel));
SendClientMessage(playerid, -1, \"Felvetted az utast, vidd a kijelölt helyre!\");
SetPlayerCheckpoint(playerid, utasletetel[rnd][0], utasletetel[rnd][1], utasletetel[rnd][2], 3);
utasszallitas[playerid] = 2;
return 0;
}
if(utasszallitas[playerid] == 2)
{
    new str[128];
new bevetel = randomex(10000, 20000);
format(str, 128, \"Elvitted az utast a célponthoz. Bevétel: %d$\", bevetel);
GivePlayerMoney(playerid, bevetel);
SendClientMessage(playerid, -1, str);
utasszallitas[playerid] = 0;
return 0;
}
DisablePlayerCheckpoint(playerid);
return 1;
}

 
Ugye ha a változó értéke 1, és belemegyek egy CPbe, létrehoz a szkript még egy CP-t, de a módban lévõ DisablePlayerCheckpoint egybõl ki is törli.. Megoldás?

6
SA-MP: Szerverfejlesztés / Egy újjab Drogrendszer
« Dátum: 2012. November 18. - 18:44:37 »
Tudom hogy van egy jó pár drogrendszer de ezt elengedtem magam mellett és én is írtam egyet. ^^

Lehet hogy megcsinálom késõbb dialogosra és rakok a drog használásához 1-2 funkciót.  :D


(Fordítsátok le a pwn fájlt mert az ékezetes ZCMD miatt nem bírom csak ha szerepel a módban egy stock)


Szükséges includeok: sscanf2, zcmd

Parancsok:
/drogvesz

/kellekvesz


/sziv

Letöltés: http://www.solidfiles.com/d/913727353b/
 

#include < a_samp >
#include < sscanf2 >
#include < zcmd >
#define PIROS 0xe02121AA
#define ZOLD 0x4ee021AA
#define KEK 0x21aae0AA
#define SZURKE 0xafb5b8AA
enum drogok
{
weed,
joint,
kokain,
heroin,
speed,
lsd
}
enum kellekek
{
cigipapir,
szipucso,
injekciostu
}
new drog[MAX_PLAYERS][drogok];
new kellek[MAX_PLAYERS][kellekek];
main() { }
 
CMD:drogok(playerid)
{
new str[128];
SendClientMessage(playerid, KEK, \">> Nálad lévõ drogok és kellékek <<\");
format(str, 128, \"Fû: %dg | Kokain: %dg | Heroin: %dg | Speed: %dg | LSD Bélyeg: %d lap\", drog[playerid][weed], drog[playerid][kokain], drog[playerid][heroin], drog[playerid][speed], drog[playerid][lsd]);
SendClientMessage(playerid, KEK, str);
format(str, 128, \"Cigipapír: %d db | Szipucsõ: %d db | Injekcióstû: %d db\", kellek[playerid][cigipapir], kellek[playerid][szipucso], kellek[playerid][injekciostu]);
SendClientMessage(playerid, KEK, str);
return 1;
}
CMD:drogvesz(playerid, params[])
{
new drogfajta[10];
new mennyiseg;
new str[128];
if(sscanf(params, \"si\", drogfajta, mennyiseg)) return SendClientMessage(playerid, SZURKE, \"Használat >> /drogvesz [fû, kokain, heroin, speed, lsd] [Mennyiség]\");
if(!strcmp(drogfajta, \"fû\", true))
{
if(GetPlayerMoney(playerid) >= 2500*mennyiseg)
{
   format(str, 128, \"Vettél %dgramm Füvet %d$-ért. (/sziv)\", mennyiseg, 2500*mennyiseg);
   SendClientMessage(playerid, ZOLD, str);
   GivePlayerMoney(playerid, -2500*mennyiseg);
   drog[playerid][weed] = drog[playerid][weed]+mennyiseg;
   } else {
   format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Fû megvételéhez.\", mennyiseg*2500, mennyiseg);
   SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"kokain\", true))
{
if(GetPlayerMoney(playerid) >= 15000*mennyiseg)
{
   format(str, 128, \"Vettél %dgramm Kokaint %d$-ért. (/sziv)\", mennyiseg, 15000*mennyiseg);
   SendClientMessage(playerid, ZOLD, str);
   GivePlayerMoney(playerid, -15000*mennyiseg);
   drog[playerid][kokain] = drog[playerid][kokain]+mennyiseg;
   } else {
   format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Kokain megvételéhez.\", mennyiseg*15000, mennyiseg);
   SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"heroin\", true))
{
if(GetPlayerMoney(playerid) >= 7000*mennyiseg)
{
   format(str, 128, \"Vettél %dgramm Heroint %d$-ért. (/sziv)\", mennyiseg, 7000*mennyiseg);
   SendClientMessage(playerid, ZOLD, str);
   GivePlayerMoney(playerid, -7000*mennyiseg);
   drog[playerid][heroin] = drog[playerid][heroin]+mennyiseg;
   } else {
   format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Heroin megvételéhez.\", mennyiseg*7000, mennyiseg);
   SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"speed\", true))
{
if(GetPlayerMoney(playerid) >= 3000*mennyiseg)
{
   format(str, 128, \"Vettél %dgramm Speedet %d$-ért. (/sziv)\", mennyiseg, 3000*mennyiseg);
   SendClientMessage(playerid, ZOLD, str);
   GivePlayerMoney(playerid, -3000*mennyiseg);
   drog[playerid][speed] = drog[playerid][speed]+mennyiseg;
   } else {
   format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Speed megvételéhez.\", mennyiseg*3000, mennyiseg);
   SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"lsd\", true))
{
if(GetPlayerMoney(playerid) >= 5000*mennyiseg)
{
   format(str, 128, \"Vettél %d db LSD Bélyeget %d$-ért. (/sziv)\", mennyiseg, 5000*mennyiseg);
   SendClientMessage(playerid, ZOLD, str);
   GivePlayerMoney(playerid, -5000*mennyiseg);
   drog[playerid][lsd] = drog[playerid][lsd]+mennyiseg;
   } else {
   format(str, 128, \"Nincs elég pénzed! %d$ szükséges %d db Bélyeg megvételéhez.\", mennyiseg*5000, mennyiseg);
   SendClientMessage(playerid, PIROS, str);
}
}
return 1;
}
CMD:kellekvesz(playerid, params[])
{
new targy[10];
if(sscanf(params, \"s\", targy)) return SendClientMessage(playerid, SZURKE, \"Használat >> /kellekvesz [cigipapir, szipucsõ, injekcióstû]\");
if(!strcmp(targy, \"cigipapir\", true))
{
if(GetPlayerMoney(playerid) >= 250)
{
    SendClientMessage(playerid, ZOLD, \"Vettél egy cigipapírt 250$-ért. (/teker)\");
   kellek[playerid][cigipapir]++;
   GivePlayerMoney(playerid, -250);
   } else {
   SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 250$ szükséges.\");
}
}
else if(!strcmp(targy, \"szipucsõ\", true))
{
    if(GetPlayerMoney(playerid) >= 500)
{
    SendClientMessage(playerid, ZOLD, \"Vettél egy szipucsövet 500$-ért. (/sziv)\");
   kellek[playerid][szipucso]++;
   GivePlayerMoney(playerid, -500);
   } else {
   SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 500$ szükséges.\");
}
}
    else if(!strcmp(targy, \"injekcióstû\", true))
{
    if(GetPlayerMoney(playerid) >= 350)
{
    SendClientMessage(playerid, ZOLD, \"Vettél egy injekcióstût 350$-ért. (/sziv)\");
   kellek[playerid][injekciostu]++;
   GivePlayerMoney(playerid, -350);
   } else {
   SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 350$ szükséges.\");
}
}
return 1;
}
CMD:teker(playerid)
{
if(drog[playerid][weed] >= 1)
{
    if(kellek[playerid][cigipapir] >= 1)
    {
        SendClientMessage(playerid, KEK, \"Tekertél egy füves cigit.\");
        drog[playerid][joint]++;
        --drog[playerid][weed];
   --kellek[playerid][cigipapir];
   } else {
   SendClientMessage(playerid, PIROS, \"Szükséged van egy cigipapírra! (/kellekvesz)\");
}
} else {
SendClientMessage(playerid, PIROS, \"Nincsen elég füved.\");
     }
     return 1;
}
CMD:sziv(playerid, params[])
{
new drogfajta[10];
if(sscanf(params, \"s\", drogfajta)) return SendClientMessage(playerid, SZURKE, \"Használat >> /sziv [fû, kokain, heroin, speed, lsd]\");
if(!strcmp(drogfajta, \"fû\", true))
{
    if(drog[playerid][joint] >= 1)
{
        SendClientMessage(playerid, KEK, \"Elszívtál egy füves cigit.\");
        --drog[playerid][joint];
   SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
   } else {
   SendClientMessage(playerid, PIROS, \"Nincsen füves cigid, tekerned kell egyet. (/teker)\");
}
}
else if(!strcmp(drogfajta, \"kokain\", true))
    {
if(drog[playerid][kokain] >= 1)
{
       if(kellek[playerid][szipucso] >= 1)
       {
      SendClientMessage(playerid, KEK, \"Felszívtál egy utca kokaint.\");
      --drog[playerid][kokain];
      SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
      } else {
      SendClientMessage(playerid, PIROS, \"Szükséged van egy szipucsõre! (/kellekvesz)\");
   }
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég kokainod.\");
}
}
else if(!strcmp(drogfajta, \"heroin\", true))
    {
        if(drog[playerid][heroin] >= 1)
        {
       if(kellek[playerid][injekciostu] >= 1)
       {
           SendClientMessage(playerid, KEK, \"Belõtted magad Heroinnal.\");
           --drog[playerid][heroin];
           --kellek[playerid][injekciostu];
      SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
      } else {
      SendClientMessage(playerid, PIROS, \"Szükséged van egy Injekcióstûre! (/kellekvesz)\");
   }
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég heroinod.\");
}
}
else if(!strcmp(drogfajta, \"speed\", true))
    {
        if(drog[playerid][speed] >= 1)
        {
       if(kellek[playerid][szipucso] >= 1)
       {
           SendClientMessage(playerid, KEK, \"Felszívtál egy utca Speedet.\");
           --drog[playerid][speed];
      SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
      } else {
      SendClientMessage(playerid, PIROS, \"Szükséged van egy szipucsõre! (/kellekvesz)\");
   }
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég Speeded.\");
}
}
else if(!strcmp(drogfajta, \"lsd\", true))
    {
    if(drog[playerid][lsd] >= 1)
    {
        SendClientMessage(playerid, KEK, \"Elnyaltál 1 lap LSD Bélyeget.\");
        --drog[playerid][lsd];
   SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
   } else {
   SendClientMessage(playerid, PIROS, \"Nincs elég LSD-d.\");
}
}
return 1;
}
/*stock replaceaccent(ch)
{
switch(ch)
{
case \'á\': return \'a\';
case \'é\': return \'e\';
case \'í\': return \'i\';
case \'ó\',\'ö\',\'õ\': return \'o\';
case \'ú\',\'ü\',\'û\': return \'u\';
}
return ch;
}*/

7
SA-MP: Szerverfejlesztés / Weed Admin szkript by DaWee aka Johnies00
« Dátum: 2012. November 12. - 22:10:28 »
Üdv!

Elsõ olyan szkriptem AMIT PUBLIKÁLOK, a szkript 1. verzióját nem azért publikálom hogy használják, (persze nem tilos  :) ) hanem elsõsorban a jobb/régebbi szkripterek által mondott vélemény alapján kijavítsam a hibákat/jobb megoldásokat tanuljak és a 2. verzióban ezeket kivitelezhessem.


A szkript nincs túlbonyolítva, mivel még v1.0 és fejbõl kb. ennyi dolog jutott eszembe.  :D

Weed Admin Szkript v1.0
Parancsok:
/acmds - Kilistázza a parancsokat adminszintnek megfelelõen

/slap - Feldobjuk a játékost a levegõbe


/setskin - Megváltoztatjuk a játékos kinézetét


/warn - Figyelmeztetjük a játékost (3 figyelmeztetés - kirúgás)


/kick - Kirúgjuk a játékost a szerverrõl


/ban - Kitiltjuk a játékost a szerverrõl


/kiir - Kiírunk egy szöveget a képernyõre


/jail - Bezárjuk a játékost a börtönbe


/freeze - Lefagyasztjuk a játékost


/unfreeze - Feloldjuk a fagyasztását


/mute - Lenémítjuk a játékost


/unmute - Feloldjuk a játékos némítását


/time - Megváltoztatjuk a szerveren az idõt


/weather - Megváltoztatjuk a szerveren az idõjárást


/asay - Írunk a chatbe adminként


/a - Admin chat


/destroyveh - Kitörlünk egy jármûvet a szerverrõl.


/setvw - Megváltoztatjuk egy játékos Virtuális Világát


/setname - Megváltoztatjuk egy játékos nevét


/goto - Odateleportálunk egy játékoshoz


/gethere - Odateleportáljuk a játékost magunkhoz


/carrespawn - Helyrerakjuk a nem használt jármûveket


/arep - Megjavítjuk egy játékos jármûvét


/sethp - Beállítjuk egy játékos életét


/setarmour - Beállítjuk egy játékos pajzsát


/setgod - Sérthetetlenség ki/be kapcsolása


/awep - Adunk egy játékosnak egy fegyvert, a megadott tölténnyel


/akill - Megölünk egy játékost


/resetwep - Lefegyverezünk egy játékost


/car - Lehívunk egy jármûvet magunknak


/restart - Újraindítjuk a szervert


/setadmin - Admint adunk egy játékosnak

Egyéb funkciók:
Ha egy játékosnak több pénze vagy mint 1000$ akkor jelzi az adminoknak és nullázza a pénzt. (A módomhoz írtam ahol változót használok a pénzhez, erre kitalálok egy megoldást v2.0-ra :) )

Ha Admin Börtönben vagy és kilépsz, majd visszajösz visszakerülsz annyi idõre amennyi még lett volna hátra.


Majdnem minden parancshoz van logolás, hogy mindent nyomon lehessen követni.

Egyéb:
A szkript ZCMD-t, SSCANF-ot, DFILE-t és egy GMX javítás INC-t tartalmaz.
Tudom hogy nem nagy szám, de ahogy feljebb írtam a célom ezzel az hogy esetleges könnyebb megoldásokat tanuljak/a szkriptben vétett hibáimat (szkriptileg hibátlan/lassítja a szervert) orvosolni tudjam. :)
 

LETÖLTÉS:
http://www.solidfiles.com/d/f11b599b15/
 
 

PASTEBIN:
http://pastebin.com/JTy4h450
 
 
#include < gmxfix >
#include < a_samp >
#include < zcmd >
#include < dfile >
#include < sscanf2 >
#include < fixchars >
// Színek
#define FEHER 0xffffffAA
#define FEKETE 0x000000AA
#define KEK 0x2756f0AA
#define PIROS 0xe32d2dAA
#define SZURKE 0xbdbdbdAA
#define SARGA 0xede611AA
#define NARANCS 0xed7411AA
#define ZOLD 0x37d126AA
#define VILAGOSKEK 0x00e6f2AA
#define LILA 0xb816b8AA
#define WARNCOLOR 0xaade0dAA
#define SAVE_LOGS
// Dialogok
#define DIALOG_REG 0
#define DIALOG_LOGIN 1
// Enumerátorok
enum pInfo
{
jelszo,
adminszint,
bortonben,
bortonido,
warnok,
bannolva
}
// Változók
new plName[MAX_PLAYER_NAME];
new Info[MAX_PLAYERS][pInfo];
new restart = 0;
new resitimer;
new bool:mute[MAX_PLAYERS];
new bool:godmode[MAX_PLAYERS];
new jailcounter[MAX_PLAYERS];
main ( ) { }
public OnFilterScriptInit()
{
print(\"<< ------------------------------------ >>\");
print(\"<< Weed Adminszkript betoltve by: DaWee >>\");
print(\"<< ------------------------------------ >>\");
return 1;
}
public OnPlayerConnect(playerid)
{
new file[128];
GetPlayerName(playerid, plName, 24);
format(file, sizeof(file), \"/WAdmin/Játékosok/%s.ini\", plName);
if(dfile_FileExists(file))
{
dfile_Open(file);
Info[playerid][bannolva] = dfile_ReadInt(\"Bannolva\");
}
if(Info[playerid][bannolva] == 1)
{
    SendClientMessage(playerid, PIROS, \"Ki vagy bannolva a szerverrõl, nem jöhetsz fel.\");
    Ban(playerid);
}
if(fexist(file))
{
    new welcomestr[128];
    format(welcomestr, 128, \"Üdv %s!\\nBejelentkezéshez írd be a jelszavadat.\", plName);
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, \"Bejelentkezés\", welcomestr, \"Belépés\", \"Mégse\");
}
if(!fexist(file))
{
    new welcomestr[128];
    format(welcomestr, 128, \"Helló %s!\\nTe még nem regisztráltál a szerveren,\\nírj be egy tetszõleges jelszót.\", plName);
    ShowPlayerDialog(playerid, DIALOG_REG, DIALOG_STYLE_INPUT, \"Regisztráció\", welcomestr, \"Kész\", \"Mégse\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[128];
GetPlayerName(playerid, plName, sizeof(plName));
format(file, sizeof(file), \"/WAdmin/Játékosok/%s.ini\", plName);
if(dfile_FileExists(file))
{
    dfile_Open(file);
dfile_WriteInt(\"Adminszint\", Info[playerid][adminszint]);
dfile_WriteInt(\"Börtönben\", Info[playerid][bortonben]);
dfile_WriteInt(\"Börtönidõ\", Info[playerid][bortonido]);
dfile_WriteInt(\"Bannolva\", Info[playerid][bannolva]);
dfile_SaveFile();
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Info[playerid][bortonben] == 1)
{
    new str[128];
    SetPlayerPos(playerid, 264.7567,77.5803,1001.0391);
    SetPlayerInterior(playerid, 6);
    SetPlayerVirtualWorld(playerid, 1);
    SetTimerEx(\"jail\", Info[playerid][bortonido], false, \"i\", false);
    jailcounter[playerid] = SetTimerEx(\"jailcount\", 1000, true, \"i\", false);
    format(str, 128, \"Visszakerültél a börtönbe %d másodpercre.\",Info[playerid][bortonido]/1000);
    SendClientMessage(playerid, FEHER, str);
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerMoney(playerid) > 1000)
{
        new penzcheat[128];
        GetPlayerName(playerid, plName, 24);
format(penzcheat, 128, \">>>> %s valószínûleg pénzcheatel! Cheatelt összeg: %d$\", plName, GetPlayerMoney(playerid));
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(Info[adminszint] > 0)
    {
        SendClientMessage(i, FEHER, penzcheat);
        SaveToFile(\"CheatLog\", penzcheat);
   }
}
    ResetPlayerMoney(playerid);
}
return 1;
}
public OnPlayerText(playerid, text[])
{
if(mute[playerid] == true)
{
    SendClientMessage(playerid, PIROS, \"Némítva vagy!\");
    return 0;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REG)
{
if(response)
{
    new file[128];
    format(file, sizeof(file), \"/WAdmin/Játékosok/%s.ini\", plName);
    if(strlen(inputtext) == 0)
   {
      ShowPlayerDialog(playerid, DIALOG_REG, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót\", \"Regisztráció\", \"Mégse.\");
      return 1;
   }
   if(!dfile_FileExists(file))
   {
      dfile_Create(file);
      dfile_Open(file);
      dfile_WriteString(\"Jelszó\", inputtext);
      dfile_WriteInt(\"Adminszint\", 0);
      dfile_WriteInt(\"Börtönben\", 0);
      dfile_WriteInt(\"Börtönidõ\", 0);
      dfile_WriteInt(\"Figyelmeztetések\", 0);
      dfile_WriteInt(\"Bannolva\", 0);
      dfile_SaveFile();
      ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, \"Bejelentkezés\", \"Írd be a jelszavad\", \"Belépés\", \"Mégse\");
   }
}
}
if(dialogid == DIALOG_LOGIN)
{
    if(response)
    {
        new file[128];
   GetPlayerName(playerid, plName, sizeof(plName));
   format(file, sizeof(file), \"/WAdmin/Játékosok/%s.ini\", plName);
   if(strlen(inputtext) == 0)
   {
       SendClientMessage(playerid, PIROS, \"Be kell írnod a jelszavad - Kirúgva!\");
       Kick(playerid);
   }
   if(dfile_FileExists(file))
   {
       dfile_Open(file);
       if(strcmp(inputtext, dfile_ReadString(\"Jelszó\"), true)) return SendClientMessage(playerid, PIROS, \"Hibás jelszó - Kirúgva!\"), Kick(playerid);
       Info[playerid][adminszint] = dfile_ReadInt(\"Adminszint\");
      Info[playerid][bortonben] = dfile_ReadInt(\"Börtönben\");
      Info[playerid][bortonido] = dfile_ReadInt(\"Börtönidõ\");
      Info[playerid][warnok] = dfile_ReadInt(\"Figyelmeztetések\");
      Info[playerid][bannolva] = dfile_ReadInt(\"Bannolva\");
      SendClientMessage(playerid, SARGA, \"Sikeresen bejelentkeztél.\");
   }
}
else
{
    if(IsPlayerNPC(playerid)) return 0;
       SendClientMessage(playerid, PIROS, \"Be kell jelentkezned - Kirúgva!\");
       Kick(playerid);
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
forward resi(playerid);
public resi(playerid)
{
if(restart == 0)
{
    SendClientMessageToAll(NARANCS, \">>> 5 másodperc múlva újraindul a szerver <<<\");
    restart++;
}
else if(restart == 1)
{
    SendClientMessageToAll(NARANCS, \">>> 4 másodperc múlva újraindul a szerver <<<\");
    restart++;
}
else if(restart == 2)
{
    SendClientMessageToAll(NARANCS, \">>> 3 másodperc múlva újraindul a szerver <<<\");
    restart++;
}
else if(restart == 3)
{
    SendClientMessageToAll(NARANCS, \">>> 2 másodperc múlva újraindul a szerver <<<\");
    restart++;
}
else if(restart == 4)
{
    SendClientMessageToAll(NARANCS, \">>> 1 másodperc múlva újraindul a szerver <<<\");
    restart++;
}
else if(restart == 5)
{
    SendClientMessageToAll(NARANCS, \">>> A SZERVER ÚJRAINDUL <<<\");
    SendRconCommand(\"gmx\");
KillTimer(resitimer);
restart = 0;
}
}
forward jail(playerid);
public jail(playerid)
{
SetPlayerPos(playerid, 1552.6385,-1675.8003,16.1953);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid, \"Letelt a büntetésed.\", 3000, 1);
Info[playerid][bortonben] = 0;
KillTimer(jailcounter[playerid]);
}
forward jailcount(playerid);
public jailcount(playerid)
{
Info[playerid][bortonido] = Info[playerid][bortonido]-1000;
}
forward SaveToFile(filename[],text[]);
public SaveToFile(filename[],text[])
{
#if defined SAVE_LOGS
    new File:WAdmin, filepath[256], string[256], ev, honap, nap, ora, perc, masodperc;
    getdate(ev, honap, nap); gettime(ora, perc, masodperc);
format(filepath,sizeof(filepath),\"WAdmin/Logok/%s.ini\",filename);
    WAdmin = fopen(filepath,io_append);
    format(string,sizeof(string),\"[%d.%d.%d - %d.%d] %s\\r\\n\",ev, honap, nap, ora, perc, text);
    fwrite(WAdmin,string);
    fclose(WAdmin);
#endif
return 1;
}
CMD:acmds(playerid)
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"Legalább 1-es szintû adminisztrátori jog szükséges!\");
   
    switch(Info[playerid][adminszint])
    {
        case 1:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
}
        case 2:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
            SendClientMessage(playerid, SARGA, \"2-es admin: /destroyveh  /setvw  /setname  /goto  /gethere\");
}
        case 3:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
            SendClientMessage(playerid, SARGA, \"2-es admin: /destroyveh  /setvw  /setname  /goto  /gethere\");
            SendClientMessage(playerid, SARGA, \"3-as admin: /carrespawn  /arep\");
}
        case 4:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
            SendClientMessage(playerid, SARGA, \"2-es admin: /destroyveh  /setvw  /setname  /goto  /gethere\");
            SendClientMessage(playerid, SARGA, \"3-as admin: /carrespawn  /arep\");
            SendClientMessage(playerid, SARGA, \"4-es admin: /sethp  /setarmor\");
        }
        case 5:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
            SendClientMessage(playerid, SARGA, \"2-es admin: /destroyveh  /setvw  /setname  /goto  /gethere\");
            SendClientMessage(playerid, SARGA, \"3-as admin: /carrespawn  /arep\");
            SendClientMessage(playerid, SARGA, \"4-es admin: /sethp  /setarmor\");
            SendClientMessage(playerid, SARGA, \"5-ös admin: /setgod  /awep  /akill  /resetwep  /car\");
        }
        case 2012:
        {
            SendClientMessage(playerid, SARGA, \"1-es admin: /slap  /setskin  /warn  /kiir  /jail  /freeze  /unfreeze  /mute  /unmute  /time  /weather  /asay  /a  /kick  /ban\");
            SendClientMessage(playerid, SARGA, \"2-es admin: /destroyveh  /setvw  /setname  /goto  /gethere\");
            SendClientMessage(playerid, SARGA, \"3-as admin: /carrespawn  /arep\");
            SendClientMessage(playerid, SARGA, \"4-es admin: /sethp  /setarmor\");
            SendClientMessage(playerid, SARGA, \"5-ös admin: /setgod  /awep  /akill  /resetwep  /car\");
            SendClientMessage(playerid, SARGA, \"Fõadmin: /restart  /setadmin\");
        }
}
return 1;
}
CMD:goto(playerid, params[])
{
if(Info[playerid][adminszint] < 2) return SendClientMessage(playerid, PIROS, \"2-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /goto [iD]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(giveplayerid == playerid) return SendClientMessage(playerid, PIROS, \"Saját magadhoz?!\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, plName, 24);
format(str, sizeof(str), \">> Elteleportáltál %s-hoz <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s elteleportált %s-hoz.\", plName, giveplayer);
SaveToFile(\"GotoLog\",str);
new Float:x, Float:y, Float:z;
GetPlayerPos(giveplayerid, x, y, z);
SetPlayerPos(playerid, x, y, z);
SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
return 1;
}
CMD:gethere(playerid, params[])
{
if(Info[playerid][adminszint] < 2) return SendClientMessage(playerid, PIROS, \"2-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /gethere [Játékos]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(giveplayerid == playerid) return SendClientMessage(playerid, PIROS, \"Saját magadat?!\");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(giveplayerid, x, y, z);
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, plName, 24);
format(str, sizeof(str), \">> Magadhoz teleportáltad %s-t <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s magához teleporta %s-t.\", plName, giveplayer);
SaveToFile(\"GethereLog\",str);
return 1;
}
CMD:kick(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new pName[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new indok[128];
new str[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /kick [iD] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \"%s ki lett rúgva %s által, indok: %s\", giveplayer, pName, indok);
SendClientMessageToAll(NARANCS, str);
SaveToFile(\"KickLog\",str);
Kick(giveplayerid);
return 1;
}
CMD:ban(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new pName[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new indok[128];
new str[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /ban [iD] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \"%s ki lett tiltva %s által, indok: %s\", giveplayer, pName, indok);
SendClientMessageToAll(NARANCS, str);
SaveToFile(\"BanLog\",str);
Info[giveplayerid][bannolva] = 1;
Ban(giveplayerid);
return 1;
}
CMD:car(playerid, params[])
{
if(Info[playerid][adminszint] < 5) return SendClientMessage(playerid, PIROS, \"5-ös szintû adminisztrátori jog szükséges!\");
new color1, color2;
new carid;
new str[128];
if(sscanf(params, \"iii\", carid, color1, color2)) return SendClientMessage(playerid, SZURKE, \"Használat: /car [Jármû ID] [szín1] [szín2]\");
if(color1 > 252 || color1 < 0 && color2 > 252 || color2 < 0) return SendClientMessage(playerid, PIROS, \"A szín ID-nek 1 és 252 között kell lennie\");
if(carid > 611 || carid < 0) return SendClientMessage(playerid, PIROS, \"A jármû ID 0 és 611 között lehet csak!\");
new Float:x, Float:y, Float:z, kocsi;
GetPlayerPos(playerid, x, y, z);
kocsi = CreateVehicle(carid, x, y, z, 0.0, color1, color2, -1);
PutPlayerInVehicle(playerid, kocsi, 0);
format(str, sizeof(str), \">> Lehívtál egy jármûvet! ID: %d, Szín1: %d, Szín2: %d <<\", carid, color1, color2);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \"%s lehívott egy jármûvet.\\nJármû ID: %d, Szín1: %d, Szín2: %d\\n\", carid, color1, color2);
SaveToFile(\"CarLog\",str);
return 1;
}
CMD:setadmin(playerid, params[])
{
if(Info[playerid][adminszint] < 2012) return SendClientMessage(playerid, PIROS, \"Fõadminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
new str[128];
new alevel;
if(sscanf(params, \"ui\", giveplayerid, alevel)) return SendClientMessage(playerid, SZURKE, \"Használat: /setadmin [iD] [Adminszint]\"),
format(str, sizeof(str), \"Jelenlegi adminszinted: %d\", Info[playerid][adminszint]),
SendClientMessage(playerid, ZOLD, str);
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(alevel < 0 || alevel > 5 && alevel != 2012) return SendClientMessage(playerid, PIROS, \"Csak 0 és 5 között lehet az adminszint\");
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Kinevezted %s-t %d-s szintû adminnak <<\", giveplayer, alevel);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \">> %s kinevezett %d-s szintû adminnak <<\", pName, alevel);
SendClientMessage(giveplayerid, VILAGOSKEK, str);
format(str, 128, \"%s kinevezte %s-t %d-s szintû adminnak.\", pName, giveplayer, alevel);
SaveToFile(\"SetAdminLog\",str);
Info[giveplayerid][adminszint] = alevel;
return 1;
}
CMD:resetwep(playerid, params[])
{
if(Info[playerid][adminszint] < 5) return SendClientMessage(playerid, PIROS, \"5-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /resetweap [Név/ID]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, plName, 24);
format(str, sizeof(str), \">> Lefegyverezted %s-t <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s lefegyverezte %s-t.\", plName, giveplayer);
SaveToFile(\"ResetwepLog\",str);
ResetPlayerWeapons(giveplayerid);
return 1;
}
CMD:akill(playerid, params[])
{
if(Info[playerid][adminszint] < 5) return SendClientMessage(playerid, PIROS, \"5-ös szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /akill [Név/ID]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, plName, 24);
format(str, sizeof(str), \">> Megölted %s-t <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s megölte %s-t az adminjával.\", plName, giveplayer);
SaveToFile(\"AkillLog\",str);
SetPlayerHealth(giveplayerid, 0);
return 1;
}
CMD:awep(playerid, params[])
{
if(Info[playerid][adminszint] < 5) return SendClientMessage(playerid, PIROS, \"5-ös szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[24];
new str[128];
new loszer;
new fegyverid;
if(sscanf(params, \"uii\", giveplayerid, fegyverid, loszer)) return SendClientMessage(playerid, SZURKE, \"Használat: /awep [Név/ID] [Fegyver ID] [Lõszer]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(fegyverid < 1 || fegyverid > 46) return SendClientMessage(playerid, PIROS, \"Érvénytelen Fegyver ID\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \">> Adtál %s-nak/nek egy fegyvert. [Fegyver ID: %d, Lõszer: %d] <<\", giveplayer, fegyverid, loszer);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \"%s adott egy fegyvert %s nevû játékosnak.\\nFegyver ID: %d, Lõszer: %d\\n\", pName, giveplayer, fegyverid, loszer);
SaveToFile(\"WeaponLog\",str);
GivePlayerWeapon(giveplayerid, fegyverid, loszer);
return 1;
}
CMD:sethp(playerid, params[])
{
if(Info[playerid][adminszint] < 4) return SendClientMessage(playerid, PIROS, \"4-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[24];
new str[128];
new elet;
if(sscanf(params, \"ui\", giveplayerid, elet)) return SendClientMessage(playerid, SZURKE, \"Használat: /sethp [Név/ID] [Élet]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(elet < 0 || elet > 1000) return SendClientMessage(playerid, PIROS, \"0 és 100 között kell lennie az életnek\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \">> Átállítottad %s életét %d-ra/re <<\", giveplayer, elet);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \"%s átálította %s életét %d-ra/re.\", pName, giveplayer, elet);
SaveToFile(\"HealthLog\",str);
SetPlayerHealth(giveplayerid, elet);
return 1;
}
CMD:setarmour(playerid, params[])
{
if(Info[playerid][adminszint] < 4) return SendClientMessage(playerid, PIROS, \"4-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[24];
new str[128];
new armour;
if(sscanf(params, \"ui\", giveplayerid, armour)) return SendClientMessage(playerid, SZURKE, \"Használat: /setarmour [Név/ID] [Pajzs]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(armour < 0 || armour > 1000) return SendClientMessage(playerid, PIROS, \"0 és 100 között kell lennie az pajzsnak\");
GetPlayerName(giveplayerid, giveplayer, 24);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \">> Átállítottad %s pajzsát %d-ra/re <<\", giveplayer, armour);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \"%s átálította %s pajzsát %d-ra/re.\", pName, giveplayer, armour);
SaveToFile(\"ArmourLog\",str);
SetPlayerArmour(giveplayerid, armour);
return 1;
}
 
CMD:restart(playerid, params[])
{
if(Info[playerid][adminszint] < 2012) return SendClientMessage(playerid, PIROS, \"Fõadminisztrátori jog szükséges!\");
resitimer = SetTimer(\"resi\", 1000, true);
return 1;
}
 
CMD:a(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new pName[24];
new str[128];
if(isnull(params)) return SendClientMessage(playerid, SZURKE, \"Használat: /a [szöveg]\");
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"[%d]Admin %s: %s\", Info[playerid][adminszint], pName, params);
    SaveToFile(\"AdminchatLog\",str);
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(Info[adminszint] == 1 || Info[adminszint] == 2 || Info[adminszint] == 3 || Info[adminszint] == 2012)
    {
        SendClientMessage(i, SARGA, str);
}
}
return 1;
}
CMD:asay(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new pName[MAX_PLAYER_NAME];
new str[128];
if(isnull(params)) return SendClientMessage(playerid, SZURKE, \"Használat: /asay [szöveg]\");
    GetPlayerName(playerid, pName, 24);
if(Info[playerid][adminszint] >= 2012)
{
    format(str, 128, \"*Fõadmin: %s\", params);
    } else {
    format(str, 128, \"*Admin %s: %s\", pName, params);
}
SendClientMessageToAll(0x18c4c7AA, str);
SaveToFile(\"AsayLog\",str);
return 1;
}
CMD:weather(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new idojaras;
new str[128];
if(sscanf(params, \"i\", idojaras)) return SendClientMessage(playerid, SZURKE, \"Használat: /weather [idõjárás ID]\");
if(idojaras > 48 || idojaras < 1) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID, 1 és 48 között lehet csak!\");
format(str, sizeof(str), \">> Megváltoztattad az idõjárást. (ID: %d) <<\", idojaras);
SendClientMessage(playerid, VILAGOSKEK, str);
SetWeather(idojaras);
return 1;
}
CMD:time(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new ido;
new str[128];
if(sscanf(params, \"i\", ido)) return SendClientMessage(playerid, SZURKE, \"Használat: /time [idõ]\");
if(ido > 24 || ido < 0) return SendClientMessage(playerid, PIROS, \"Érvénytelen idõ, 0 és 24 között lehet csak\");
format(str, sizeof(str), \">> Átállítottad az idõt %d órára <<\", ido);
SendClientMessage(playerid, VILAGOSKEK, str);
SetWorldTime(ido);
return 1;
}
CMD:mute(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
new str[128];
new indok[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /mute [Név/ID] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(mute[giveplayerid] == true) return SendClientMessage(playerid, PIROS, \"Ez a játékos már le van némítva.\");
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Lenémítottad %s-t, indok: %s <<\", giveplayer, indok);
SendClientMessage(playerid, VILAGOSKEK, str);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s lenémított, indok: %s\", pName, indok);
SendClientMessage(giveplayerid, LILA, str);
format(str, 128, \"%s lenémította %s-t, indok: %s\", pName, giveplayer, indok);
SaveToFile(\"MuteLog\",str);
mute[giveplayerid] = true;
return 1;
}
CMD:unmute(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /unmute [Név/ID]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
if(mute[giveplayerid] == false) return SendClientMessage(playerid, PIROS, \"Ez a játékos nincs lenémítva\");
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Feloldottad %s némítását <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s feloldotta a némításod.\", pName);
SendClientMessage(giveplayerid, LILA, str);
format(str, 128, \"%s feloldotta %s némítását.\", pName, giveplayer);
SaveToFile(\"MuteLog\",str);
mute[giveplayerid] = false;
return 1;
}
CMD:freeze(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
new str[128];
new indok[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /freeze [Név/ID] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Lefagyasztottad %s-t, indok: %s <<\", giveplayer, indok);
SendClientMessage(playerid, VILAGOSKEK, str);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s lefagyasztott, indok: %s\", pName, indok);
SendClientMessage(giveplayerid, LILA, str);
format(str, 128, \"%s lefagyasztotta %s-t, indok: %s\", pName, giveplayer, indok);
SaveToFile(\"FreezeLog\", str);
TogglePlayerControllable(giveplayerid, 0);
return 1;
}
CMD:unfreeze(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new pName[MAX_PLAYER_NAME];
new str[128];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /unfreeze [Név/ID]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Feloldottad %s fagyasztását <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s feloldotta a fagyasztásod.\", pName);
SendClientMessage(giveplayerid, LILA, str);
format(str, 128, \"%s feloldotta %s fagyasztását.\", pName, giveplayer);
SaveToFile(\"FreezeLog\", str);
TogglePlayerControllable(giveplayerid, 1);
return 1;
}
CMD:jail(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new pName[24];
new giveplayer[24];
new str[128];
new str2[128];
new indok[128];
new ido;
if(sscanf(params, \"uis\", giveplayerid, ido, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /jail [Név/ID] [Perc] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Bebörtönözted %s-t %d percre. Indok: %s <<\", giveplayer, ido, indok);
SendClientMessage(playerid, VILAGOSKEK, str);
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s bebörtönözött %d percre. Indok: %s\", pName, ido, indok);
SendClientMessage(playerid, LILA, str);
format(str2, sizeof(str2), \"%s bebörtönözte %s-t %d percre. Indok: %s\", pName, giveplayer, ido, indok);
SaveToFile(\"JailLog\",str2);
SetPlayerPos(giveplayerid, 264.7567,77.5803,1001.0391);
SetPlayerInterior(giveplayerid, 6);
SetPlayerVirtualWorld(giveplayerid, 1);
SetTimerEx(\"jail\", ido*60000, false, \"i\", giveplayerid);
SetTimerEx(\"jailcount\", 1000, true, \"i\", giveplayerid);
Info[giveplayerid][bortonben] = 1;
Info[giveplayerid][bortonido] = ido*60000;
return 1;
}
CMD:kiir(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new pName[24];
new str[128];
if(isnull(params)) return SendClientMessage(playerid, SZURKE, \"Használat: /kiir [szöveg]\");
GetPlayerName(playerid, pName, 24);
format(str, sizeof(str), \"%s: %s\", pName, params);
SaveToFile(\"KiirLog\", str);
GameTextForAll(str, 5000, 6);
return 1;
}
CMD:warn(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayer[24];
new pName[24];
new str[128];
new str2[128];
new indok[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /warn [Név/ID] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
Info[giveplayerid][warnok]++;
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \"%s figyelmeztette %s-t, indok: %s (%d/3)\", pName, giveplayer, indok, Info[giveplayerid][warnok]);
SendClientMessageToAll(WARNCOLOR, str);
format(str, sizeof(str), \">> Figyelmeztetted %s-t <<\", giveplayer);
SendClientMessage(playerid, VILAGOSKEK, str);
if(Info[giveplayerid][warnok] == 3)
{
    format(str2, sizeof(str2), \"%s ki lett rúgva a szerverrõl %s által (3 figyelmeztetés miatt), indok: %s\", giveplayer, pName, indok);
    SendClientMessageToAll(WARNCOLOR, str2);
    Kick(giveplayerid);
    SaveToFile(\"KickLog\",str2);
}
return 1;
}
CMD:setname(playerid, params[])
{
    if(Info[playerid][adminszint] < 2) return SendClientMessage(playerid, PIROS, \"2-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new pName[24];
new giveplayer[24];
new str[128];
new ujnev[24];
if(sscanf(params, \"us\", giveplayerid, ujnev)) return SendClientMessage(playerid, SZURKE, \"Használat: /setname [Név/ID] [Új név]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayer, 24);
format(str, sizeof(str), \">> Megváltoztattad %s nevét. Új neve: %s <<\", giveplayer, ujnev);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, sizeof(str), \"%s megváltoztatta a neved. Új neved: %s <<\", pName, ujnev);
SendClientMessage(giveplayerid, LILA, str);
format(str, 128, \"%s megváltoztatta %s nevét erre: %s\", pName, giveplayer, ujnev);
SaveToFile(\"SetnameLog\", str);
SetPlayerName(giveplayerid, ujnev);
return 1;
}
CMD:setskin(playerid, params[])
{
    if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
    new giveplayerid;
    new giveplayer[24];
    new str[128];
    new skinid;
    if(sscanf(params, \"ui\", giveplayerid, skinid)) return SendClientMessage(playerid, SZURKE, \"Használat: /setskin [Név/ID] [skinID]\");
    if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
    if(skinid > 299 || 0 > skinid) return SendClientMessage(playerid, PIROS, \"A SkinID csak 0 és 299 között lehet.\");
    GetPlayerName(giveplayerid, giveplayer, 24);
    format(str, sizeof(str), \">> Megváltoztattad %s kinézetét %d-ra/re <<\", giveplayer, skinid);
    SendClientMessage(playerid, VILAGOSKEK, str);
    SetPlayerSkin(giveplayerid, skinid);
    return 1;
}
CMD:arep(playerid, params[])
{
    if(Info[playerid][adminszint] < 3) return SendClientMessage(playerid, PIROS, \"3-as szintû adminisztrátori jog szükséges!\");
    new giveplayerid;
    new giveplayer[24];
    new str[128];
    if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, SZURKE, \"Használat: /arep [Név/ID]\");
    GetPlayerName(giveplayerid, giveplayer, 24);
    GetPlayerName(playerid, plName, 24);
    format(str, sizeof(str), \">> Megjavítottad %s jármûvét <<\", giveplayer);
    SendClientMessage(playerid, VILAGOSKEK, str);
    format(str, 128, \"%s megjavította %s jármûvét.\", plName, giveplayer);
    SaveToFile(\"ArepLog\", str);
    RepairVehicle(GetPlayerVehicleID(giveplayerid));
    return 1;
}
CMD:slap(playerid, params[])
{
if(Info[playerid][adminszint] < 1) return SendClientMessage(playerid, PIROS, \"1-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayername[24];
new pName[24];
new indok[128];
new str[128];
if(sscanf(params, \"us\", giveplayerid, indok)) return SendClientMessage(playerid, SZURKE, \"Használat: /slap [Név/ID] [indok]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
new Float:x, Float:y, Float:z;
GetPlayerPos(giveplayerid, x, y, z);
SetPlayerPos(giveplayerid, x, y, z+10);
GetPlayerName(playerid, pName, 24);
GetPlayerName(giveplayerid, giveplayername, 24);
format(str, 128, \">> Felpofoztad %s-t, indok: %s <<\", giveplayername, indok);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s felpofozott, indok: %s\", pName, indok);
PlayerPlaySound(giveplayerid, 1130, 0, 0, 0);
SendClientMessage(giveplayerid, VILAGOSKEK, str);
format(str, 128, \"%s felpofozta %s-t, indok: %s\", pName, giveplayername, indok);
SaveToFile(\"SlapLog\", str);
return 1;
}
CMD:setvw(playerid, params[])
{
    if(Info[playerid][adminszint] < 2) return SendClientMessage(playerid, PIROS, \"2-es szintû adminisztrátori jog szükséges!\");
new giveplayerid;
new giveplayername[24];
new vw;
new str[128];
if(sscanf(params, \"ui\", giveplayerid, vw)) return SendClientMessage(playerid, SZURKE, \"Használat: /setvw [Név/ID] [VirtualWorld ID]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, \"Érvénytelen ID/Név\");
GetPlayerName(giveplayerid, giveplayername, 24);
GetPlayerName(playerid, plName, 24);
format(str, 128, \">> Beraktad %s-t a %d-s számú Virtuális Világba <<\", giveplayername, vw);
SendClientMessage(playerid, VILAGOSKEK, str);
format(str, 128, \"%s berakta %s-t a %d-s számú Virtuális Világba.\", plName, giveplayername, vw);
SaveToFile(\"SetvwLog\", str);
SetPlayerVirtualWorld(giveplayerid, vw);
return 1;
}
CMD:setgod(playerid)
{
    if(Info[playerid][adminszint] < 5) return SendClientMessage(playerid, PIROS, \"5-es szintû adminisztrátori jog szükséges!\");
    if(godmode[playerid] == false)
    {
        godmode[playerid] = true;
        SetPlayerHealth(playerid, 99999999);
        SetPlayerArmour(playerid, 99999999);
        SendClientMessage(playerid, VILAGOSKEK, \">> GODMODE bekapcsolva <<\");
} else {
godmode[playerid] = false;
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
SendClientMessage(playerid, VILAGOSKEK, \">> GODMODE kikapcsolva <<\");
}
return 1;
}
CMD:carrespawn(playerid)
{
    if(Info[playerid][adminszint] < 3) return SendClientMessage(playerid, PIROS, \"3-es szintû adminisztrátori jog szükséges!\");
    SendClientMessageToAll(FEHER, \"* Minden használaton kívüli jármû újraspawnolva.\");
    for(new v = 0; v < MAX_VEHICLES; v++)
    {
        if(!IsPlayerOutVehicle(v))
{
   SetVehicleToRespawn(v);
}
}
return 1;
}
CMD:destroyveh(playerid, params[])
{
    if(Info[playerid][adminszint] < 2) return SendClientMessage(playerid, PIROS, \"2-es szintû adminisztrátori jog szükséges!\");
    new jarmuid;
    new str[128];
    if(sscanf(params, \"i\", jarmuid)) return SendClientMessage(playerid, SZURKE, \"Használat: /destroyveh [Jármû ID]\");
    if(!IsValidVehicle(jarmuid)) return SendClientMessage(playerid, PIROS, \"Nem létezik a jármû!\");
   
    GetPlayerName(playerid, plName, 24);
    DestroyVehicle(jarmuid);
    format(str, 128, \">> Kitörölted a szerverrõl a %d-s számú jármûvet <<\", jarmuid);
    SendClientMessage(playerid, VILAGOSKEK, str);
    format(str, 128, \"%s kitörölte a szerverrõl a %d-s számú jármûvet.\", plName, jarmuid);
    SaveToFile(\"DestroycarLog\", str);
    return 1;
}
CMD:admins(playerid)
{
new admins;
new adminname[24];
new str[128];
for(new a = 0; a < MAX_PLAYERS; a++)
{
    if(Info[a][adminszint] > 0)
    {
        admins++;
}
}
if(admins == 0)
{
SendClientMessage(playerid, FEHER, \"|__Jelenleg nincs online admin__|\");
} else {
format(str, 128, \"|__Online Adminok(%d)__|\", admins);
SendClientMessage(playerid, FEHER, str);
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
    GetPlayerName(i, adminname, 24);
    if(Info[adminszint] > 0)
    {
        format(str, 128, \"[%d]%s\", Info[adminszint], adminname);
        SendClientMessage(playerid, FEHER, str);
}
}
return 1;
}
/*native IsValidVehicle(vehicleid);*/ // <- Ez akkor kell ha egyik INC-d sem tartalmazza
stock replaceaccent(ch)
{
switch(ch)
{
case \'á\': return \'a\';
case \'é\': return \'e\';
case \'í\': return \'i\';
case \'ó\',\'ö\',\'õ\': return \'o\';
case \'ú\',\'ü\',\'û\': return \'u\';
}
return ch;
} // <- Ez akkor kell ha a ZCMD INC-d módosított (ékezetes parancsok)
stock IsPlayerOutVehicle(vehicleid)
{
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(IsPlayerInVehicle(p, vehicleid)) return 1;
}
return 0;
}

8
Segítségkérés / Van egy fa a szerveren ami a módba nincs
« Dátum: 2012. November 11. - 15:02:58 »
Érdekes egy dolog.. 0, 0, 0 koordinátán van, ahol MTA ba felaggattam a szirénát egy bulletre.

Több mint valószínû hogy ezzel lehet kapcsolatban, a sziréna object akkor jön létre amikor a parancsot használják, de a fa ott van elõtte is, amikor leszedem a szirénát a fa még mindig ott van, az OnGameModeInit alatt van pár ilyen fa de máshol, tehát nem tudom hogy kerül oda.


Szkriptben nincs object.

 

CMD:szirena(playerid)
{
    if(CSAPAT[playerid] == POLICE)
    {
        if(GetPlayerVehicleID(playerid) == bullet)
{
            if(siren == false)
            {
                szirena = CreateObject(19419, 0, -0.5, 0.60000002384186, 0, 0, 0);
                AttachObjectToVehicle(szirena, GetPlayerVehicleID(playerid), 0, -0.5, 0.60000002384186, 0, 0, 0);
                SendClientMessage(playerid, ZOLD, \"Feltetted a Bulletre a szirénát.\");
                siren = true;
                } else {
                DestroyObject(szirena);
                SendClientMessage(playerid, ZOLD, \"Levetted a Bulletrõl a szirénát.\");
                siren = false;
            }
        }
    }
    return 1;
}

 
\"width=500http://kepgep.hu/2012/11/11/main/sa_mp_000.png[/img]
U.I.: Most nézem az az oszlop is lejjebb van.. nem? ???

9
Kérdések, Segítség / Router gond
« Dátum: 2012. November 10. - 23:34:39 »
Remélem megfelel ebben a fórumrészben a téma...

Nos hiába nyitottam portot nem úgy mennek a dolgok ahogy kellenének.


- Felmegyek a szerverre (nem localhost-al) betölt.. beírom a jelszavam a dialogba és elszáll a szerver (nem áll le csak ingame)


- Spanom nem tud feljönni de idáig 2 ismeretlen ember valahogy feljött... (nem magyar ha ez számít)

\"width=500http://www.kephost.com/images4/2012/11/10/a1_2012_11_10_l881tz0072.png[/img]

10
Segítségkérés / Sebességmérõ függvényei/mûködése
« Dátum: 2012. November 04. - 23:24:58 »
Nos, szeretném megérteni egy MÛKÖDÕ sebességmérés hogyan épül fel.

Amit találtam krisk tutorialja nem jó, 3warning + irreális értéket kapok (100millió km/h..)


Amiket értek belõle:


floatround = Lebegõpontos érték konvertálása integerré.


GetVehicleVelocity = Sebesség lekérdezése bizonyos irányba.


Viszont ahány szkriptet néztem át annyi féle megoldás volt..(egy se mûködött a 4-5bõl amit néztem.)


Ha valakinek lesz rá ideje és megszánna engem egy \"kis\" egyszerû tutoriallal azt nagyon megköszönném. :)


(Valamint nem értem hogy 3 fix pozícióból hogy számol sebességet a pawno?!)

11
Segítségkérés / Nem menti le a fájlkezelõ az adatokat
« Dátum: 2012. November 04. - 18:28:56 »
Tegnap óta dfile-t használok, át írtam a módban a státuszdolgokat az tökéletesen mûködik.

Ma írtam 1 széf részt, ami mûködött is a második használatig.


Megnéztem a fájlt, elmentette a pénzt, és a drogokat, utána felmentem raktam a széfbe mindenbõl, bezártam a módot de nem menti le.. és gõzöm sincs miért.  ???

OnGameModeInit = Ha elindítom a módot a szef változók értéke az lesz amit kiolvasott a Szef.ini-bõl. (Ez hibátlan)
 

new szeffile[128];
format(szeffile, 128, \"/Police_vs_Criminal/Szef.ini\");
if(dfile_FileExists(szeffile))
{
dfile_Open(szeffile);
szef[penz] = dfile_ReadInt(\"Pénz\");
szef[herbal] = dfile_ReadInt(\"Herbál\");
szef[speed] = dfile_ReadInt(\"Speed\");
}

 
OnGameModeExit = Ha leállítom a szervert/újraindítom a változók értékeit lementi a Szef.ini-n belül a megfelelõ helyre. (De nem teszi..)
 

new szeffile[128];
format(szeffile, 128, \"/Police_vs_Criminal/Szef.ini\");
if(dfile_FileExists(szeffile))
{
dfile_Open(szeffile);
dfile_WriteInt(\"Pénz\", szef[penz]);
dfile_WriteInt(\"Herbál\", szef[herbal]);
dfile_WriteInt(\"Speed\", szef[speed]);
dfile_SaveFile();
}

 
Mi lehet a probléma?
 

U.I.: Valamiért az egész OnGameModExit() nem fut le...

12
Segítségkérés / Milyen fájlkezelõt javasoltok?
« Dátum: 2012. November 03. - 19:54:45 »
Nekem a dini nem vált be kevés funkció és bug miatt.

2 kikötésem lenne:


Ne legyen nagyon bonyolult. (MySql)


Megbízható legyen. (Tehát ne legyenek fájlba írási/olvasási gondok mint dini-nél)


Köszönöm elõre is.  :)

13
Segítségkérés / Sima parancstól leáll a szerver
« Dátum: 2012. November 03. - 14:48:27 »
CMD:javit(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 3, 91.1067,-164.7879,2.4252))
    {
        if(stat[playerid][penz] >= 5000)
        {
    RepairVehicle(GetPlayerVehicleID(playerid));
    GameTextForPlayer(playerid, \"~w~Megjavítva\", 1000, 1);
            } else {
    SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! (5000% szükséges)\");
        }
    }
    return 1;
}

 
Ha ott vagyok ahol kell és beírom leáll a szerver, de mi a f**z?! Egy sima parancs.. -.-\"
U.I.: Az IsPlayerInRangeOfPoint fgv. lefut, a pénz ellenõrzés nem, printf-el megnéztem.

14
Segítségkérés / Ilyet nem pipáltam még... -.-
« Dátum: 2012. November 03. - 01:46:33 »
Nos, van egy Timer ami 10 percenként rak le random autót random helyen.

Ezt a CreateVehicle-t tárolja egy randomkocsi változó.


Van egy ilyen rész a módban:

 

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(GetPlayerVehicleID(playerid) != randomkocsi)
    {
        if(CSAPAT[playerid] == CRIMINAL)
{
    SendClientMessage(playerid, OLAJZOLD, \"Lépj le az autóval és vidd az export helyre! {\"#sarga\"} (Térképen jelölve!)\");
            SetPlayerRaceCheckpoint(playerid, 3, -2320.9075,2154.0659,17.3312, 0, 0, 0, 5);
}
    }
    return 1;
}

 
(Magát már az elsõ függvényt nem értem miért != -el mûködik (pont nem így kéne) na de m1..)

Ha beülök az autóba oké nem ír ki semmit és CP-t se kapok, de ahogy lefutott egyszer a timer bármelyik jármûbe szállok lefutnak azok a függvények aminek csak a randomkocsinál kellene.  :confused:

15
Archívum / MTA indítási hiba
« Dátum: 2012. November 02. - 13:34:18 »
Nos, pár napja lecseréltem a régi MTA-t (1.1.1) egy újabbra, nem jött be meg nagyon kezelni se tudtam meg problémáim is akadtak vele.. Inkább visszaraktam a régit, viszont elindításnál ilyen hibát kapok, eddig nem volt probléma..
\"Nevtelen-3.png\"

Oldalak: [1] 2 3
SimplePortal 2.3.7 © 2008-2024, SimplePortal