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.
Üzenetek - Johnies00
Oldalak: 1 [2] 3 4 ... 18
16
« 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;
17
« Dátum: 2012. november 28. - 19:52:45 »
Gondolom rossz helyen van a DisablePlayerCheckpoint. Rakd az utasszállítás 2 részhez a SetPlayerCheckpoint alá, így ha belemész, kitörli a jelenlegit és létrehozza a következõt és így tovább... (de ez csak egy tipp)
Ezzel annyit érnék el hogy 2x törölné. Építsd egybe. A szkriptben lévõ eljárásban nem fogja neki eltüntetni, de a modba lévõben mindenképp. [/quote] Nem építem egybe ugyanis publikáció céljából írom a szkriptet, de megoldottam a problémát, zárok.
18
« 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?
19
« Dátum: 2012. november 27. - 19:24:25 »
ShowPlayerDialog(playerid, dialog, stílus, cím, \"szöveg...\\nszöveg\", \"gomb\", \"gomb\");
20
« Dátum: 2012. november 27. - 18:18:28 »
CMD:snikers(playerid, params[]) { if(GetPlayerMoney(playerid) < 300) return SendClientMessage(playerid, 0x31ed2bAA, \"Nincs elég pénzed!\"); if(!IsPlayerInRangeOfPoint(playerid, 4.0, 1.8728,-29.0135,1003.5494) || !IsPlayerInRangeOfPoint(playerid, 4.0, x, y, z)) return SendClientMessage(playerid, 0x31ed2bAA, \"Nem vagy boltban!\"); SendClientMessage(playerid, 0x31ed2bAA, \"Vettél egy Snikerst.Má jobb?xdddd\");//üzenetet küld GivePlayerMoney(playerid, -300); GivePlayerHealth(playerid, GetPlayerHealth(playerid)+20); return 1; } if(GetPlayerMoney(playerid) < 300) return SendClientMessage(playerid, 0x31ed2bAA, \"Nincs elég pénzed!\"); // Ha a pénzed kevesebb mint 300 if(!IsPlayerInRangeOfPoint(playerid, 4.0, 1.8728,-29.0135,1003.5494) || !IsPlayerInRangeOfPoint(playerid, 4.0, x, y, z)) return SendClientMessage(playerid, 0x31ed2bAA, \"Nem vagy boltban!\"); // Ha nem vagy(!) az egyik helyen se a 2 közül üzenet Így egyszerûbb
21
« Dátum: 2012. november 27. - 16:47:37 »
Nem tudom tesztelted-e mert elméletileg errort kéne rá írnia mert hiányzik 2 } jel, próbáld meg úgy hogy az rnd változó Float legyen, elvileg így jónak kell lennie: CMD:lecsuk(playerid,params[]) { new pwl; new Float:rnd = random(sizeof(JailSpawnPoints)); new giveplayerid, Float:pos[3]; if(GetPlayerTeam(playerid) != Rendor) return SendClientMessage(playerid,PIROS,\"Nem vagy rendõr te nem csukhatsz le senkit!\"); if(sscanf(params,\"r\",giveplayerid)) return SendClientMessage(playerid,PIROS,\"Használat: /lecsuk [játékos id / névrészlet]\"); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,PIROS,\"A játékos nincs csatlakozva nem tudod lecsukni.\"); if(GetPlayerTeam(giveplayerid) == Rendor || GetPlayerTeam(giveplayerid) == Tuzolto || GetPlayerTeam(giveplayerid) == Mentos) return SendClientMessage(playerid,PIROS,\"Mentõst,rendõrt,tûzoltót nem csukhatsz le!\"); if(GetPVarInt(giveplayerid, \"Bilincselt\") == 0) return SendClientMessage(playerid, PIROS, \"Elõbb meg kell bilincselned a játékost, hogy lecsukhasd.\"); if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, PIROS, \"A játékos jármûben ül\"); if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, PIROS, \"Te jármûben vagy így nem tudod elengedni!\"); if(GetPlayerWantedLevel(giveplayerid) <= 2) return SendClientMessage(playerid, PIROS, \"A játékost nem kell lecsukni, túl alacson a kõrözöttsége.\"); GetPlayerPos(giveplayerid, pos[0], pos[1], pos[2]); if(!IsPlayerInRangeOfPoint(playerid, 2.0, pos[0], pos[1], pos[2])) return SendClientMessage(playerid, PIROS, \"A játékos nincs közeledben!\"); { if(pwl == 3) { //ResetPlayerWeapons(giveplayerid); SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_NONE); SetPlayerScore(playerid,GetPlayerScore(playerid)+2); SetPlayerWantedLevel(giveplayerid,0); SetPlayerToTeamColour(giveplayerid); SetPVarInt(giveplayerid, \"Bilincselt\", 0); //átállítjuk a játékost nem bilincseltre SetTimerEx(\"jailtime\", 120000,0,\"i\",giveplayerid); //2 perc böri SetPlayerPos(giveplayerid,JailSpawnPoints[rnd][0],JailSpawnPoints[rnd][1],JailSpawnPoints[rnd][2]); SetPlayerInterior(giveplayerid,3); TogglePlayerControllable(giveplayerid, 1); SetPVarInt(giveplayerid, \"Jailed\", 1); } } return 1; }
22
« Dátum: 2012. november 26. - 20:42:14 »
Megírtam egy példaszkriptet, valahogyan így oldanám meg, teszteltem mûködik(persze érdemes a lényeget megérteni és saját tetszés szerint beleírni a börtön parancshoz mert elég krix krax ) #include < a_samp > #include < sscanf2 > #include < zcmd > #include < fixchars > main() { } new bortonidoa[MAX_PLAYERS]; new bortonidob[MAX_PLAYERS]; new bortonszamlalo[MAX_PLAYERS]; new Text:hatralevo[MAX_PLAYERS]; CMD:csuk(playerid, params[]) { new ido; new giveplayerid; if(sscanf(params, \"ui\", giveplayerid, ido)) return 1; SendClientMessage(giveplayerid, -1, \"Bebörtönözve!\"); SetTimerEx(\"jail\", ido*60000, false, \"i\", giveplayerid); bortonszamlalo[playerid] = SetTimerEx(\"jailcount\", 1000, true, \"i\", giveplayerid); bortonidoa[giveplayerid] = ido*60000; bortonidob[giveplayerid] = 0; TextDrawDestroy(hatralevo[giveplayerid]); hatralevo[giveplayerid] = TextDrawCreate(390, 100, \" \"); TextDrawFont(hatralevo[giveplayerid], 1); TextDrawColor(hatralevo[giveplayerid], 0xFFFFFFAA); TextDrawUseBox(hatralevo[giveplayerid], 1); TextDrawBoxColor(hatralevo[giveplayerid], 0x000000FF); TextDrawShowForPlayer(giveplayerid, hatralevo[giveplayerid]); return 1; } forward jail(playerid); public jail(playerid) { SendClientMessage(playerid, -1, \"Szabadultál!\"); KillTimer(bortonszamlalo[playerid]); TextDrawDestroy(hatralevo[playerid]); bortonidob[playerid] = 0; bortonidoa[playerid] = 0; } forward jailcount(playerid); public jailcount(playerid) { bortonidob[playerid] = bortonidob[playerid]+1000; } public OnPlayerUpdate(playerid) { new box[40]; format(box, 40, \"Hátralévõ idõ: %d mp\", (bortonidoa[playerid]-bortonidob[playerid])/1000); TextDrawSetString(hatralevo[playerid], box); return 1; }
23
« Dátum: 2012. november 26. - 18:08:12 »
if(!IsPlayerInRangeOfPoint(playerid, sugár, x,y,z))
24
« Dátum: 2012. november 26. - 06:19:25 »
Szia
LSPD elõtt lemented azt a koordinációt ahol legyen a bejárat és ahova rakja amikor kijön. Valami program, script segítségével LSPD Interiorjába mész ott is lemented ezt a 2 koordinátát és beírod \"/interior\" , arra az interiorra rakod a játékos bemeneti pozícióját.
Egyszerûbb: http://weedarr.wikidot.com/interior
25
« Dátum: 2012. november 26. - 06:02:09 »
Van egy gta3.img fájl a játék mappájában, abból kiexportálod a megfelelõ skin txd fájlját egy programmal (pl Alci\'s IMG Editor), majd megnyitod TXD Workshoppal, ebbõl kiexportálod a képeket és photoshoppal/paintel megfelelõen szerkeszted. (Nem épp egyszerû..) Majd mindent vissza.. a képeket importálod a TXD fájlba, a txd fájlt importálod a gta3.img -be és kész.
26
« Dátum: 2012. november 26. - 05:58:53 »
Már én is gondoltam erre. Valahogy úgy oldanám meg hogy: Lecsukod mondjuk 2 percre, elindítasz még egy idõzítõt ami másodpercenként fut le amíg meg nem állítod, az idõzítõ funkciójában megírod hogy egy változó értékéhez adjon hozzá +1000-et(1 mp), kiíratod egy textdrawba a sima börtön idõzítõ értékét, majd ebbõl minden másodpercbe levonja a letelt másodpercek számát, ha letelt a börtönidõ leállítod a végtelenített timert. Ha hazajöttem megírom ha el nem felejtem..mert már nekem se az elsõ alkalom hogy kéne..
27
« Dátum: 2012. november 25. - 13:46:05 »
Hozz létre egy vid[MAX_PLAYERS]; -t és old meg így, rövidebb, egyszerûbb. case 0: { DestroyVehicle(vid[playerid]); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z); vid[playerid] = CreateVehicle(509, X, Y+2, Z, 0, 0, 0, 0); PutPlayerInVehicle(playerid, vid[playerid], 0); }
28
« Dátum: 2012. november 25. - 11:54:03 »
Felesleges 2szer használni az IsPlayerInRangeOfPoint függvényt, valamint a params[] sem kell oda, hiszen nem használunk paramétert a parancsnál. CMD:felszereles(playerid) { if(!IsPlayerInRangeOfPoint(playerid, sugár, x,y,z)) return SendClientMessage(playerid, -1, \"Nem vagy a megfelelõ helyen!\"); // Ide jönnek azok a dolgok amik akkor történnek ha a megadott helyen vagy return 1; } UI.: 1 kérdésed: Létrehozol egy /enter parancsot, ami csak az épület elött mûködik(Isplayerinrangeofpoint fgv.), ha ott vagy az épület elött akkor megváltoztatod az interiort és a pozíciót (SetPlayerInterior és SetPlayerPos), a kimenésnél ugyan ez csak ott a 2 pozíciót kell felcserélni, és 0-s interiorra váltani.
29
« Dátum: 2012. november 24. - 13:02:58 »
Egy külön értékre gondolsz ami számolja hogy ez hanyadik karakter? Hozz létre egy változót és minden regisztrációnál (dini_Create) mellett növeld +1-el az értékét majd írasd bele a fájlba egy paraméterként. Ha nem erre gondoltál írd le.
30
« Dátum: 2012. november 20. - 19:58:48 »
Privát jármû rendszer alapján meg tudod csinálni.
Oldalak: 1 [2] 3 4 ... 18
|