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
1
« Dátum: 2012. december 03. - 00:23:35 »
Ü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ítjukMost 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
« 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
« Dátum: 2012. november 30. - 15:14:13 »
A téma neve elmond mindent 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
« 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. 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ásLetö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
« 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
« 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. (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, zcmdParancsok:/drogvesz /kellekvesz /szivLetö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
« 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. 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ékosnakEgyé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
« 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; } http://kepgep.hu/2012/11/11/main/sa_mp_000.png[/img] U.I.: Most nézem az az oszlop is lejjebb van.. nem?
9
« 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)http://www.kephost.com/images4/2012/11/10/a1_2012_11_10_l881tz0072.png[/img]
10
« 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
« 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
« 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
« 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
« 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
« 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..
|