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 - Rupert
Oldalak: 1 ... 93 94 [95] 96 97 ... 153
1411
« Dátum: 2012. december 16. - 18:15:55 »
Soha ne legyen megegyezõ dialogid. Gondolok pl. erre, van egy scripted és egy benne lévõ \"register\" nevû dialogid, amelynek a száma: 2. Van egy másikad, amiben van egy \"login\" nevû dialogod, amelynek a száma: szintén 2. Ekkor azt a dialogot fogja futtatni, amelynek a scriptje hamarabb töltõdött be.
1412
« Dátum: 2012. december 16. - 18:14:32 »
Ajj... már én sem tudom mi kavar be nálad. Használj inkább ZCMD-t.
1413
« Dátum: 2012. december 16. - 14:24:35 »
így nézd meg:
public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(gotoxyz, 7, cmdtext); return 0; } dcmd_gotoxyz(playerid, params[]) { new Float:x, Float:y, Float:z; if(sscanf(params, \"fff\", x, y, z)) SendClientMessage(playerid, 0xFF0000AA, \"Usage: /gotoxyz <x> <y> <z>\"); { SetPlayerPos(playerid, x, y, z); SendClientMessage(playerid, 0xFF0000AA, \"Elteleportáltál!\"); } return 1; }
Így nem fogja kiírni, hogy hogy kell használni; ellenben elteleportál a 0.0.0 pos-ra. Nekem így mûködött: public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(gotoxyz, 7, cmdtext); return 0; } dcmd_gotoxyz(playerid, params[]) { new Float:x, Float:y, Float:z; if(sscanf(params, \"fff\", x, y, z)) return SendClientMessage(playerid, 0xFF0000AA, \"Usage: /gotoxyz <x> <y> <z>\"); SetPlayerPos(playerid, x, y, z); SendClientMessage(playerid, 0xFF0000AA, \"Elteleportáltál!\"); return 1; }
1414
« Dátum: 2012. december 16. - 12:30:33 »
Szerintem hagyd a fenébe.
1415
« Dátum: 2012. december 15. - 15:39:51 »
~Fél óra. Köszi.
1416
« Dátum: 2012. december 15. - 01:22:05 »
Rupert\'s entrance system (bejárat rendszer) v1.0 Be szeretném mutatni másik rendszerem, a \"Rupert\'s entrance system\"-et. A lényege, hogy adminként ti raktok le különbözõ bejáratokat interiorokhoz. Ilyen pl. a pizzéria, vagy a fegyverbolt. Szükséges függvénykönyvtárak a futtatáshoz: a_samp
dini
dutils
sscanf2
zcmd
Szükséges plugin: sscanf Szükséges mappa a \"scriptfiles\" mappán belül: \'Entrances\' A parancsok: /makent - Létrehoz egy entrance-t. Két paraméter KELL: [iD] és [stílus]. Az ID nagyon fontos! Nézd meg az \'Entrances\" mappában, hogy létezik-e az ID, avagy sem. Több féle stílus van. Mindegyiknek más az interiorja. Megtekintésükhöz: /style.
/entorol - A közeledben lévõ bejáratot törli.
Maximum 500 bejárat lehet, de ezt át lehet állítani a scripten belül. Letöltés:http://www.solidfiles.com/d/ae18c7b0e7/Képek:http://kepfeltoltes.hu/121215/306945414sa-mp-012_www.kepfeltoltes.hu_.png[/img] http://kepfeltoltes.hu/121215/1049382140sa-mp-013_www.kepfeltoltes.hu_.png[/img] http://kepfeltoltes.hu/121215/949802152sa-mp-014_www.kepfeltoltes.hu_.png[/img] Kód: /* KÉSZÍTETTE RUPERT! KÉRLEK, NE TÖRÖLD KI A NEVEMET MEGEMLÍTÕ ÜZENETET! */ #include <a_samp> #include <dini> #include <dutils> #include <dudb> #include <sscanf2> #include <zcmd> // SZÍNEK #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xff0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_GRREN 0x00ff2bAA #define COLOR_LORANGE 0xebbf3bAA #define SCM SendClientMessage #define pressed(%0)\\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) #define MAX_ENTRANCES 500 #pragma unused ret_memcpy // ENTRANCE ENUM enum Entrance { ID, style, Float:X, Float:Y, Float:Z, Float:kX, Float:kY, Float:kZ, interior } new Text3D:entext[MAX_ENTRANCES]; new Text3D:entext2[MAX_ENTRANCES]; new stri[256]; new eInfo[MAX_ENTRANCES][Entrance]; new entek; new entben[MAX_PLAYERS]; new mentben[MAX_PLAYERS]; new Float:kx[MAX_PLAYERS]; new Float:ky[MAX_PLAYERS]; new Float:kz[MAX_PLAYERS]; CMD:styles(playerid, params[]) { SCM(playerid, COLOR_GREY, \"1 - bolt\"); SCM(playerid, COLOR_GREY, \"2 - kocsma\"); SCM(playerid, COLOR_GREY, \"3 - fegyóbolt\"); SCM(playerid, COLOR_GREY, \"4 - edzõterem\"); SCM(playerid, COLOR_GREY, \"5 - rendõrség\"); SCM(playerid, COLOR_GREY, \"6 - kórház\"); SCM(playerid, COLOR_GREY, \"7. benzinkút\"); SCM(playerid, COLOR_GREY, \"8.- gyorskajálda\"); SCM(playerid, COLOR_GREY, \"9. - bank\"); SCM(playerid, COLOR_GREY, \"10. szervíz telep\"); SCM(playerid, COLOR_GREY, \"11 - mûszaki bolt\"); SCM(playerid, COLOR_GREY, \"12 - ruhabolt\"); return 1; } CMD:entorol(playerid, params[]) { new hazacska; hazacska = MelyikEntrance(playerid); if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin.\"); if(hazacska == -1) return SCM(playerid, COLOR_GREY, \"Nincs entrance a közelben.\"); RemoveEntrance(hazacska); SCM(playerid, COLOR_WHITE, \"Entrance törölve.\"); return 1; } CMD:makent(playerid, params[]) { new Float:px, Float:py, Float:pz, ar, id; GetPlayerPos(playerid, px, py, pz); if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin!\"); if(sscanf(params, \"dd\", id, ar)) return SCM(playerid, COLOR_GREY, \"Használat: /makent [iD!!!] [style] <- /styles\"); CreateEntrance(id, px, py, pz, ar); SCM(playerid, COLOR_WHITE, \"Entrance létrehozva.\"); return 1; } CMD:bemegye(playerid, params[]) { new hazacska = MelyikEntrance(playerid); if(hazacska) { SetPlayerInterior(playerid, eInfo[hazacska][interior]); SetPlayerPos(playerid, eInfo[hazacska][kX], eInfo[hazacska][kY], eInfo[hazacska][kZ]); SetPlayerVirtualWorld(playerid, eInfo[hazacska][iD]); entben[playerid] = 1; kx[playerid] = eInfo[hazacska][X]; ky[playerid] = eInfo[hazacska][Y]; kz[playerid] = eInfo[hazacska][Z]; mentben[playerid] = eInfo[hazacska][iD]; } return 1; } public OnFilterScriptInit() { print(\"\\n--------------------------------------\"); print(\" Rupert\'s entrance system loaded.\"); print(\"--------------------------------------\\n\"); entek = 0; LoadEntrances(); DisableInteriorEnterExits(); printf(\"Összes entrance: %d!\", entek); print(\"---------------------------------------------------\"); print(\"---------------------------------------------------\"); return 1; } public OnFilterScriptExit() { entek = 0; SaveEntrances(); return 1; } public OnPlayerConnect(playerid) { entben[playerid] = 0; mentben[playerid] = 0; kx[playerid] = 0; ky[playerid] = 0; kz[playerid] = 0; SCM(playerid, COLOR_GRREN, \"A szerveren megtalálható a Rupert által készített entrance rendszer!\"); return 1; } public OnPlayerDisconnect(playerid, reason) { entben[playerid] = 0; mentben[playerid] = 0; kx[playerid] = 0; ky[playerid] = 0; kz[playerid] = 0; return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(pressed(KEY_SECONDARY_ATTACK) && entben[playerid] == 1) { if(IsPlayerInRangeOfPoint(playerid, 3.0, eInfo[mentben[playerid]][kX], eInfo[mentben[playerid]][kY], eInfo[mentben[playerid]][kZ])) { SetPlayerPos(playerid, kx[playerid], ky[playerid], kz[playerid]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); entben[playerid] = 0; } } new entecske = MelyikEntrance(playerid); if(pressed(KEY_SECONDARY_ATTACK) && entecske) { cmd_bemegye(playerid, \"\"); } return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } stock CreateEntrance(id, Float:x, Float:y, Float:z, stylee) { new eFile[128]; format(eFile, 128, \"/Entrances/%d.ini\", id); if(dini_Exists(eFile)) return printf(\"%d ID ház létezik!!\", id); dini_Create(eFile); dini_FloatSet(eFile, \"X\", x); dini_FloatSet(eFile, \"Y\", y); dini_FloatSet(eFile, \"Z\", z); dini_IntSet(eFile, \"Style\", stylee); eInfo[id][iD] = id; eInfo[id][X] = dini_Float(eFile, \"X\"); eInfo[id][Y] = dini_Float(eFile, \"Y\"); eInfo[id][Z] = dini_Float(eFile, \"Z\"); eInfo[id][style] = dini_Int(eFile, \"Style\"); if(stylee == 1) { eInfo[id][kX] = -25.884498; eInfo[id][kY] = -185.868988; eInfo[id][kZ] = 1003.546875; eInfo[id][interior] = 17; format(stri, 256, \"Üzlet\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 2) { eInfo[id][kX] = 501.980987; eInfo[id][kY] = -70.052810; eInfo[id][kZ] = 998.757812; eInfo[id][interior] = 11; format(stri, 256, \"Bár\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 3) { eInfo[id][kX] = 296.919982; eInfo[id][kY] = -108.071998; eInfo[id][kZ] = 1001.515625; eInfo[id][interior] = 6; format(stri, 256, \"Fegyverüzlet\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 4) { eInfo[id][kX] = 772.111999; eInfo[id][kY] = -3.898649; eInfo[id][kZ] = 1000.728820; eInfo[id][interior] = 5; format(stri, 256, \"Edzõterem\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 5) { eInfo[id][kX] = 246.783996; eInfo[id][kY] = 63.900199; eInfo[id][kZ] = 1003.640625; eInfo[id][interior] = 6; format(stri, 256, \"Rendõrség\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 7) { eInfo[id][kX] = 663.836242; eInfo[id][kY] = -575.605407; eInfo[id][kZ] = 16.343263; eInfo[id][interior] = 0; format(stri, 256, \"Benzinkút\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == { eInfo[id][kX] = 372.2733; eInfo[id][kY] = -133.5175; eInfo[id][kZ] = 1001.4922; eInfo[id][interior] = 5; format(stri, 256, \"Gyorskajálda\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 9) { eInfo[id][kX] = 2305.2834; eInfo[id][kY] = -15.9918; eInfo[id][kZ] = 26.7422; eInfo[id][interior] = 0; format(stri, 256, \"Bank\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 10) { eInfo[id][kX] = 2570.8916; eInfo[id][kY] = -1302.0453; eInfo[id][kZ] = 1044.1250; eInfo[id][interior] = 2; format(stri, 256, \"Autó mûhely\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 11) { eInfo[id][kX] = -2240.468505; eInfo[id][kY] = 137.060440; eInfo[id][kZ] = 1035.414062; eInfo[id][interior] = 6; format(stri, 256, \"Mûszaki bolt\\nBelépéshez nyomj ENTER-t.\"); } if(stylee == 12) { eInfo[id][kX] = 207.737991; eInfo[id][kY] = -109.019996; eInfo[id][kZ] = 1005.132812; eInfo[id][interior] = 15; format(stri, 256, \"Ruhabolt\\nBelépéshez nyomj ENTER-t.\"); } dini_IntSet(eFile, \"Interior\", eInfo[id][interior]); dini_FloatSet(eFile, \"kX\", eInfo[id][kX]); dini_FloatSet(eFile, \"kY\", eInfo[id][kY]); dini_FloatSet(eFile, \"kZ\", eInfo[id][kZ]); entext2[id] = Create3DTextLabel(\"Nyomj ENTER-t.\", -1, eInfo[id][kX], eInfo[id][kY], eInfo[id][kZ], 30, id, 0); entext[id] = Create3DTextLabel(stri, -1, x, y, z, 30, 0, 0); entek++; return 1; } stock LoadEntrance(id) { new eFile[128]; format(eFile, 128, \"/Entrances/%d.ini\", id); if(!dini_Exists(eFile)) return 0; eInfo[id][iD] = id; eInfo[id][X] = dini_Float(eFile, \"X\"); eInfo[id][Y] = dini_Float(eFile, \"Y\"); eInfo[id][Z] = dini_Float(eFile, \"Z\"); eInfo[id][kX] = dini_Float(eFile, \"kX\"); eInfo[id][kY] = dini_Float(eFile, \"kY\"); eInfo[id][kZ] = dini_Float(eFile, \"kZ\"); eInfo[id][interior] = dini_Int(eFile, \"Interior\"); eInfo[id][style] = dini_Int(eFile, \"Style\"); if(eInfo[id][style] == 1) format(stri, 256, \"Üzlet\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 2) format(stri, 256, \"Kocsma\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 3) format(stri, 256, \"Fegyverüzlet\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 4) format(stri, 256, \"Edzõterem\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 5) format(stri, 256, \"Rendõrség\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 7) format(stri, 256, \"Benzinkút\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == format(stri, 256, \"Gyorskajálda\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 9) format(stri, 256, \"Bank\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 10) format(stri, 256, \"Autó mûhely\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 11) format(stri, 256, \"Mûszaki bolt\\nBelépéshez nyomj ENTER-t.\"); if(eInfo[id][style] == 12) format(stri, 256, \"Ruhabolt\\nBelépéshez nyomj ENTER-t.\"); entext[id] = Create3DTextLabel(stri, -1, eInfo[id][X], eInfo[id][Y], eInfo[id][Z], 30, 0, 0); entext2[id] = Create3DTextLabel(\"Nyomj ENTER-t.\", -1, eInfo[id][kX], eInfo[id][kY], eInfo[id][kZ], 30, id, 0); printf(\"%d ID entrance betöltve!\", id); entek++; return 1; } stock SaveEntrance(id) { new eFile[128]; format(eFile, 128, \"/Entrances/%d.ini\", id); if(!dini_Exists(eFile)) return 0; dini_FloatSet(eFile, \"X\", eInfo[id][X]); dini_FloatSet(eFile, \"Y\", eInfo[id][Y]); dini_FloatSet(eFile, \"Z\", eInfo[id][Z]); dini_FloatSet(eFile, \"kX\", eInfo[id][kX]); dini_FloatSet(eFile, \"kY\", eInfo[id][kY]); dini_FloatSet(eFile, \"kZ\", eInfo[id][kZ]); dini_IntSet(eFile, \"Interior\", eInfo[id][interior]); dini_IntSet(eFile, \"Style\", eInfo[id][style]); printf(\"%d ID entrance elmentve!\", id); return 1; } stock RemoveEntrance(id) { new eFile[128]; format(eFile, 128, \"/Entrances/%d.ini\", id); if(!dini_Exists(eFile)) return 0; dini_Remove(eFile); printf(\"%d ID entrance törölve.\", id); eInfo[id][X] = 0; eInfo[id][Y] = 0; eInfo[id][Z] = 0; entek--; Delete3DTextLabel(entext[id]); Delete3DTextLabel(entext2[id]); return 1; } stock LoadEntrances() { for(new i=0;i<MAX_ENTRANCES;i++) { LoadEntrance(i); } return 1; } stock SaveEntrances() { for(new i=0;i<MAX_ENTRANCES;i++) { SaveEntrance(i); } return 1; } stock MelyikEntrance(playerid) { for(new i;i<MAX_ENTRANCES;i++) { if(IsPlayerInRangeOfPoint(playerid, 3.0, eInfo[X], eInfo[Y], eInfo[Z])) return i; } return -1; } stock pName(id) { new name[24]; GetPlayerName(id, name, 24); return name; }
1417
« Dátum: 2012. december 14. - 21:34:13 »
Öhm... életemben az utolsó dolog, amit megtennék a nyalás. Köszi, hogy így ismersz. Nem keverem a szart egyáltalán, sõt, még vitát sem akartam indítani.
1418
« Dátum: 2012. december 14. - 21:26:53 »
Részemre akkor December.15 egy új szent nap
Jézusom, azt ne mondd hogy fontosabb az életnél egy szerver. Na jó, remélem ezt nem veszitek sértésnek. :hihi:
1419
« Dátum: 2012. december 14. - 21:25:47 »
ne idegesítsetek már fel... azt hittem ennél értelmesebbek vagytok.
Te meg fent sem voltál. [/quote] Bocsánat, fontosabb volt egy beteg családtagom meglátogatása. :mistrust: [/quote] És még mindig nem értik sokan, hogy fontosabb dolgok is vannak mint egy játék.
1420
« Dátum: 2012. december 14. - 21:03:17 »
Sajnos ez az életben is így van Csabesz, bele kell törõdni. Mindig az lesz elõtted, aki benyal.
1421
« Dátum: 2012. december 14. - 20:57:34 »
Vesszetek már össze azon, hogy ki van-e emelve vagy nincs... Személy szerint nekem nagyon bejön, a leírás alapján már mindjárt fel is nézek a szerverre. Ilyeneken vitázni...
1422
« Dátum: 2012. december 14. - 16:57:38 »
A színkód karakterei is karakterek, úgyhogy vedd feljebb az xstring stringhosszát.
1423
« Dátum: 2012. december 14. - 15:15:17 »
egyet nemértek,minek megadni az [iD]-t?egyszerûbb megoldása is van..mint pl: hazid++
Komolyan olyan hülyének nézel, hogy azt hiszed nem csináltam meg úgy? Csak amiért dini-s, elcsúsztak az ID-k... De nem kell megadni majd ID-t, a következõ, mySQL verzióban. Videó hozzáadva. E: Mégsem lesz új verzió, feleslegesnek tartom.
1424
« Dátum: 2012. december 13. - 21:44:52 »
Nincs mit.
1425
« Dátum: 2012. december 13. - 21:09:50 »
Rupert\'s house system v1.0 Be szeretném mutatni egyik kedvenc scriptemet, amit most nyilvánosságra hozok; ez a házrendszerem. Szükséges függvénykönyvtárak a futtatáshoz: a_samp
dini
dutils
sscanf2
zcmd
Szükséges plugin: sscanf Szükséges mappák a \"scriptfiles\" mappán belül: \'Hazak\' A parancsok (csak adminok használhatják): /haz - Létrehoz egy házat. Két paraméter KELL: [iD] és [stílus]. Az ID nagyon fontos! Nézd meg a \"Haz\" mappában, hogy létezik-e az ID, avagy sem. Stílus háromféle lehet: 1 - lepukkant ház; 2 - átlagos ház; 3 - luxus ház. Mindegyiknek más az interiorja, illetve ára.
/haztorol - A közeledben lévõ házat törli.
Maximum 500 ház lehet, de ezt át lehet állítani a scripten belül. A ház ajtajában, ha megnyomod az ALT-ot, három lehetõség van: ha a ház a tiéd: be tudod zárni/ki tudod nyitni az ajtót; be tudsz menni, illetve ki tudsz jönni; eladhatod a házat.
ha nem a tiéd, és másé: megpróbálhatsz bemenni az ajtón; ha zárva van az ajtó, természetesen nem fog sikerülni.
ha senkié: megveheted a házat, ha van elég pénzed rá.
Minden játékosnak korlátlan háza lehet! Letöltés: http://www.solidfiles.com/d/ebfa165563/ Videó:http://www.youtube.com/watch?v=ulhk6MH4-Xg&feature=youtu.beKépek:[hs width=300 height=300] http://kepfeltoltes.hu/121213/820354195sa-mp-008_www.kepfeltoltes.hu_.png[/hs] [hs width=300 height=300] http://kepfeltoltes.hu/121213/1161592360sa-mp-009_www.kepfeltoltes.hu_.png[/hs] [hs width=300 height=300] http://kepfeltoltes.hu/121213/770814429sa-mp-011_www.kepfeltoltes.hu_.png[/hs] Kód: /* KÉSZÍTETTE RUPERT! KÉRLEK, NE TÖRÖLD KI A NEVEMET MEGEMLÍTÕ ÜZENETET! */ #include <a_samp> #include <dini> #include <dutils> #include <dudb> #include <sscanf2> #include <zcmd> // SZÍNEK #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xff0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_GRREN 0x00ff2bAA #define COLOR_LORANGE 0xebbf3bAA #define SCM SendClientMessage #define pressed(%0)\\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // DIALOGOK #define hazikoo 50 #define hazikoo2 60 #define hazikoo3 70 #define hazikoo4 80 #define hazikoo5 90 #define MAX_HOUSES 500 #pragma unused ret_memcpy // HÁZ ENUM enum House { ID, style, Owner[24], Float:X, Float:Y, Float:Z, Ar, Float:kX, Float:kY, Float:kZ, interior, nyitva } new Text3D:haztext2[MAX_HOUSES]; new Text3D:haztext[MAX_HOUSES]; new stri[256]; new hInfo[MAX_HOUSES][House]; new hazak; new hazban[MAX_PLAYERS]; new mhazban[MAX_PLAYERS]; new Float:kx[MAX_PLAYERS]; new Float:ky[MAX_PLAYERS]; new Float:kz[MAX_PLAYERS]; bool:IsPlayerHaveHazkulcs(playerid, hazid) { if(strcmp(pName(playerid), hInfo[hazid][Owner], true) == 0) return true; return false; } CMD:haztorol(playerid, params[]) { new hazacska; hazacska = MelyikHaz(playerid); if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin.\"); if(hazacska == -1) return SCM(playerid, COLOR_GREY, \"Nincs ház a közelben.\"); RemoveHouse(hazacska); SCM(playerid, COLOR_WHITE, \"Ház törölve.\"); return 1; } CMD:haz(playerid, params[]) { new Float:px, Float:py, Float:pz, ar, id; GetPlayerPos(playerid, px, py, pz); if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy admin!\"); if(sscanf(params, \"dd\", id, ar)) return SCM(playerid, COLOR_GREY, \"Használat: /haz [iD!!!] [style (1-3)]\"); CreateHouse(id, px, py, pz, ar); SCM(playerid, COLOR_WHITE, \"Ház létrehozva.\"); return 1; } CMD:bemegy(playerid, params[]) { new hazacska = MelyikHaz(playerid); if(hazacska) { if(hInfo[hazacska][Ar] == 0) { if(hInfo[hazacska][nyitva] == 0) return SCM(playerid, COLOR_RED, \"Az ajtó zárva van!\"); SetPlayerInterior(playerid, hInfo[hazacska][interior]); SetPlayerPos(playerid, hInfo[hazacska][kX], hInfo[hazacska][kY], hInfo[hazacska][kZ]); SetPlayerVirtualWorld(playerid, hInfo[hazacska][iD]); hazban[playerid] = 1; kx[playerid] = hInfo[hazacska][X]; ky[playerid] = hInfo[hazacska][Y]; kz[playerid] = hInfo[hazacska][Z]; mhazban[playerid] = hInfo[hazacska][iD]; } } return 1; } CMD:kimegy(playerid, params[]) { if(hazban[playerid] == 0) return 0; if(hInfo[mhazban[playerid]][nyitva] == 0) return SCM(playerid, COLOR_RED, \"Az ajtó zárva van!\"); SetPlayerPos(playerid, kx[playerid], ky[playerid], kz[playerid]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); hazban[playerid] = 0; return 1; } public OnFilterScriptInit() { print(\"\\n--------------------------------------\"); print(\" Rupert\'s house system loaded.\"); print(\"--------------------------------------\\n\"); hazak = 0; LoadHouses(); DisableInteriorEnterExits(); printf(\"Összes ház: %d!\", hazak); print(\"---------------------------------------------------\"); print(\"---------------------------------------------------\"); return 1; } public OnFilterScriptExit() { SaveHouses(); hazak = 0; return 1; } public OnPlayerConnect(playerid) { hazban[playerid] = 0; mhazban[playerid] = 0; kx[playerid] = 0; ky[playerid] = 0; kz[playerid] = 0; SCM(playerid, COLOR_GRREN, \"A szerveren megtalálható a Rupert által készített házrendszer!\"); return 1; } public OnPlayerDisconnect(playerid, reason) { hazban[playerid] = 0; mhazban[playerid] = 0; kx[playerid] = 0; ky[playerid] = 0; kz[playerid] = 0; return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(pressed(KEY_WALK) && hazban[playerid] == 1) { if(IsPlayerInRangeOfPoint(playerid, 3.0, hInfo[mhazban[playerid]][kX], hInfo[mhazban[playerid]][kY], hInfo[mhazban[playerid]][kZ])) { if(IsPlayerHaveHazkulcs(playerid, mhazban[playerid])) { ShowPlayerDialog(playerid, hazikoo3, DIALOG_STYLE_LIST, \"Ház infó\", \"Kimegy\\nKinyitás\\nBezárás\", \"Rendben\", \"Mégsem\"); } else ShowPlayerDialog(playerid, hazikoo5, DIALOG_STYLE_LIST, \"Ház infó\", \"Kimegy\", \"Rendben\", \"Mégsem\"); } } new hazacska = MelyikHaz(playerid); if(pressed(KEY_WALK) && hazacska) { if(hInfo[hazacska][Ar] > 0) { ShowPlayerDialog(playerid, hazikoo, DIALOG_STYLE_LIST, \"Ház infó\",\"Ház megvétele\", \"Rendben\", \"Mégsem\"); } else if(IsPlayerHaveHazkulcs(playerid, hazacska)) { ShowPlayerDialog(playerid, hazikoo2, DIALOG_STYLE_LIST, \"Ház infó\", \"Bemegy\\nKinyitás\\nBezárás\\nHáz eladása\", \"Rendben\",\"Mégsem\"); } else { ShowPlayerDialog(playerid, hazikoo4, DIALOG_STYLE_LIST, \"Ház infó\", \"Megpróbálok bemenni\", \"Rendben\",\"Mégsem\"); } } return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == hazikoo) { if(!response) return 0; if(listitem == 0) { new hazacska = MelyikHaz(playerid); if(GetPlayerMoney(playerid) < hInfo[hazacska][Ar]) return SCM(playerid, COLOR_RED, \"Nincs elég pénzed!\"); hInfo[hazacska][Owner] = pName(playerid); GivePlayerMoney(playerid, -hInfo[hazacska][Ar]); hInfo[hazacska][Ar] = 0; SCM(playerid, COLOR_YELLOW, \"Ház megvéve!\"); SaveHouse(hazacska); format(stri, 256, \"A ház tulajdonosa:\\n%s\\nNyomj ALT-ot.\", hInfo[hazacska][Owner]); Update3DTextLabelText(haztext[hazacska], -1, stri); } } if(dialogid == hazikoo2) { new hazacska = MelyikHaz(playerid); if(!response) return 0; if(listitem == 0) { cmd_bemegy(playerid, \"\"); } else if(listitem == 1) { hInfo[hazacska][nyitva] = 1; SCM(playerid, COLOR_GREEN, \"Ajtó kinyitva.\"); } else if(listitem == 2) { hInfo[hazacska][nyitva] = 0; SCM(playerid, COLOR_GREEN, \"Ajtó bezárva.\"); } else if(listitem == 3) { GivePlayerMoney(playerid, 5000); format(hInfo[hazacska][Owner], 24, \"%s\", \"\"); if(hInfo[hazacska][style] == 1) hInfo[hazacska][Ar] = 5000; if(hInfo[hazacska][style] == 2) hInfo[hazacska][Ar] = 10000; if(hInfo[hazacska][style] == 3) hInfo[hazacska][Ar] = 25000; SCM(playerid, COLOR_YELLOW, \"Ház eladva!\"); format(stri, 256, \"A ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", hInfo[hazacska][Ar]); SaveHouse(hazacska); Update3DTextLabelText(haztext[hazacska], -1, stri); } } if(dialogid == hazikoo3) { if(!response) return 0; if(listitem == 0) { cmd_kimegy(playerid, \"\"); } else if(listitem == 1) { hInfo[mhazban[playerid]][nyitva] = 1; SCM(playerid, COLOR_GREEN, \"Ajtó kinyitva.\"); } else if(listitem == 2) { hInfo[mhazban[playerid]][nyitva] = 0; SCM(playerid, COLOR_GREEN, \"Ajtó bezárva.\"); } } if(dialogid == hazikoo4) { if(!response) return 0; cmd_bemegy(playerid, \"\"); } if(dialogid == hazikoo5) { if(!response) return 0; cmd_kimegy(playerid, \"\"); } return 1; } CreateHouse(id, Float:x, Float:y, Float:z, stylee) { new hFile[128]; format(hFile, 128, \"/Hazak/%d.ini\", id); if(dini_Exists(hFile)) return printf(\"%d ID ház létezik!!\", id); dini_Create(hFile); dini_Set(hFile, \"Owner\", \"\"); dini_FloatSet(hFile, \"X\", x); dini_FloatSet(hFile, \"Y\", y); dini_FloatSet(hFile, \"Z\", z); dini_IntSet(hFile, \"Style\", stylee); if(stylee == 1) { dini_IntSet(hFile, \"Ar\", 5000); dini_IntSet(hFile, \"Interior\", 1); dini_FloatSet(hFile, \"kX\", 223.043991); dini_FloatSet(hFile, \"kY\", 1289.259888); dini_FloatSet(hFile, \"kZ\", 1082.199951); } if(stylee == 2) { dini_IntSet(hFile, \"Ar\", 10000); dini_IntSet(hFile, \"Interior\", 2); dini_FloatSet(hFile, \"kX\", 225.756989 ); dini_FloatSet(hFile, \"kY\", 1240.000000 ); dini_FloatSet(hFile, \"kZ\", 1082.149902 ); } if(stylee == 3) { dini_IntSet(hFile, \"Ar\", 25000); dini_IntSet(hFile, \"Interior\", 3); dini_FloatSet(hFile, \"kX\", 235.508994 ); dini_FloatSet(hFile, \"kY\", 1189.169897 ); dini_FloatSet(hFile, \"kZ\", 1080.339966 ); } dini_IntSet(hFile, \"Nyitva\", 0); hInfo[id][iD] = id; hInfo[id][X] = dini_Float(hFile, \"X\"); hInfo[id][Y] = dini_Float(hFile, \"Y\"); hInfo[id][Z] = dini_Float(hFile, \"Z\"); hInfo[id][Ar] = dini_Int(hFile, \"Ar\"); hInfo[id][kX] = dini_Float(hFile, \"kX\"); hInfo[id][kY] = dini_Float(hFile, \"kY\"); hInfo[id][kZ] = dini_Float(hFile, \"kZ\"); hInfo[id][style] = dini_Int(hFile, \"Style\"); hInfo[id][interior] = dini_Int(hFile, \"Interior\"); printf(\"%d ID ház betöltve!\", id); format(stri, 256, \"ID:%d\\nA ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", id, hInfo[id][Ar]); haztext2[id] = Create3DTextLabel(\"Nyomj ALT-ot.\", -1, hInfo[id][kX], hInfo[id][kY], hInfo[id][kZ], 30, id, 0); haztext[id] = Create3DTextLabel(stri, -1, x, y, z, 30, 0, 0); hazak++; return 1; } LoadHouse(id) { new hFile[128]; format(hFile, 128, \"/Hazak/%d.ini\", id); if(!dini_Exists(hFile)) return 0; hInfo[id][iD] = id; format(hInfo[id][Owner], 24, \"%s\", dini_Get(hFile, \"Owner\")); hInfo[id][X] = dini_Float(hFile, \"X\"); hInfo[id][Y] = dini_Float(hFile, \"Y\"); hInfo[id][Z] = dini_Float(hFile, \"Z\"); hInfo[id][Ar] = dini_Int(hFile, \"Ar\"); hInfo[id][kX] = dini_Float(hFile, \"kX\"); hInfo[id][kY] = dini_Float(hFile, \"kY\"); hInfo[id][kZ] = dini_Float(hFile, \"kZ\"); hInfo[id][interior] = dini_Int(hFile, \"Interior\"); hInfo[id][style] = dini_Int(hFile, \"Style\"); hInfo[id][nyitva] = dini_Int(hFile, \"Nyitva\"); if(hInfo[id][Ar] == 0) { format(stri, 256, \"ID:%d\\nA ház tulajdonosa:\\n%s\\nNyomj ALT-ot.\", id, hInfo[id][Owner]); haztext[id] = Create3DTextLabel(stri, -1, hInfo[id][X], hInfo[id][Y], hInfo[id][Z], 30, 0, 0); } else { format(stri, 256, \"ID:%d\\nA ház eladó! Ára:\\n%d$\\n Nyomj ALT-ot.\", id, hInfo[id][Ar]); haztext[id] = Create3DTextLabel(stri, -1, hInfo[id][X], hInfo[id][Y], hInfo[id][Z], 30, 0, 0); } haztext2[id] = Create3DTextLabel(\"Nyomj ALT-ot.\", -1, hInfo[id][kX], hInfo[id][kY], hInfo[id][kZ], 30, id, 0); printf(\"%d ID ház betöltve!\", id); hazak++; return 1; } SaveHouse(id) { new hFile[128]; format(hFile, 128, \"/Hazak/%d.ini\", id); if(!dini_Exists(hFile)) return 0; dini_Set(hFile, \"Owner\", hInfo[id][Owner]); dini_FloatSet(hFile, \"X\", hInfo[id][X]); dini_FloatSet(hFile, \"Y\", hInfo[id][Y]); dini_FloatSet(hFile, \"Z\", hInfo[id][Z]); dini_IntSet(hFile, \"Ar\", hInfo[id][Ar]); dini_IntSet(hFile, \"Nyitva\", hInfo[id][nyitva]); printf(\"%d ID ház elmentve!\", id); return 1; } RemoveHouse(id) { new hFile[128]; format(hFile, 128, \"/Hazak/%d.ini\", id); if(!dini_Exists(hFile)) return 0; dini_Remove(hFile); printf(\"%d ID ház törölve.\", id); hInfo[id][X] = 0; hInfo[id][Y] = 0; hInfo[id][Z] = 0; hInfo[id][Ar] = 0; hInfo[id][nyitva] = 0; hazak--; Delete3DTextLabel(haztext[id]); Delete3DTextLabel(haztext2[id]); return 1; } stock LoadHouses() { for(new i=0;i<MAX_HOUSES;i++) { LoadHouse(i); } return 1; } stock SaveHouses() { for(new i=0;i<MAX_HOUSES;i++) { SaveHouse(i); } return 1; } stock MelyikHaz(playerid) { for(new i;i<MAX_HOUSES;i++) { if(IsPlayerInRangeOfPoint(playerid, 1.0, hInfo[X], hInfo[Y], hInfo[Z])) return i; } return -1; } stock pName(id) { new name[24]; GetPlayerName(id, name, 24); return name; }
Oldalak: 1 ... 93 94 [95] 96 97 ... 153
|