1Mark6 - [ Invetory | Tárgy rendszer ] - MySQL R39-5
A rendszer tartalmazza :
Tárgyak létrehozása a játékban.
Tárgyak kezelése a játékban.
Tárgy adás játékosnak.
Tárgy elvétel játékostól.
Tárgy eldobás.
Tárgy felvétel.
Dinamikus rendszer, a változásokat a rendszer egyből menti, illetve kezeli.
A rendszer elkészítése közben nem változókba \"töltögettem\" az értékeket, hanem egy jó pár tanítóm tanácsára, az adatbázis lekérdezés során kezeltem őket. [ FONTOS ]
Tárgy létrehozás :Lehetőségünk van arra, hogy a játékban hozzunk létre saját tárgyakat, ezt a \"/tárgylétrehozás\" paranccsal tehetjük meg. Ennek a parancsnak 2 paramétere van, mégpedig < Tárgy Név > és a < Tárgy Objekt >. Ha tárgynévnek olyan adatot adunk meg, amely már létezik ( Létező tárgy nevét irod be ) akkor hibaüzenetet kapunk, mivel nemtudod kétszer ugyanazt a tárgyat létrehozni. A tárgyobjekt, 2. paraméter azt a célt szolgálja, hogy amikor azt a bizonyos tárgyat eldobjuk azzal az Object-el fog legenerálódni.
Tárgy törlés :Lehetőségünk van arra, hogy a már létező tárgyat töröljük a rendszerből a \"/tárgytörlés\" paranccsal. Ez akkor kedvező amikor például elgépeljük az adott tárgy nevét, illetve egyéb alkalmakkor használatos. A parancsnak 1 paramétere van a < Tárgy Név >, ebbe a paraméterbe annak a tárgynak a nevét kell megadni amelyiket törölni szeretnénk, nemlétező tárgy esetén szintén hibaüzenetet kapunk.
Tárgy objekt változtatás :Lehetőségünk van arra, hogy a már létező tárgynak az objektjét megváltoztathassuk. Ezt a \"/tárgyobjekt\" paranccsal tudjuk végrehajtani. Ennek a parancsnak 2. paramétere van, az egyik < Tárgy Neve >, a másik az < Új objekt >.Ha nemlétező tárgy nevet adunk meg hibaüzenetet kapunk. Amikor megadod az új objektet, akkor a már régi objekttel rendelkező tárgyaknak NEM fog megváltzoni az objektjük, ezt egy szerver resettel lehet korigálni. Meglehet oldani, úgy is de szerintem igy elviselhető nem szeretném tovább bonyolítani.
Tárgy adás :Lehetőségünk van arra, hogy egy játékosnak tárgyat adjunk, ezt a \"/tárgyadás\" paranccsacl tudjuk megtenni. Ennek a parancsnak 3 paramétere van. < ID >, < Tárgy Név >, < Mennyiség>. Csak a szerveren fentlévő játékosoknak tudunk tárgyat adni. Csak létező tárgyat tudunk adni. A mennyiség nincs korlátozva.
Tárgy elvétel :A tárgy adáshoz hasonló algoritmus, a paraméterek is megegyeznek, ezt a \"/tárgyelvétel\" paranccsal érjük el. A különbség az az, hogy a mennyiség korlátozva van, csak annyi darabot tudunk elvenni az illetőtől amennyivel rendelkezik, értelemszerűen ha van 40 darabja nem vehetünk el tőle 40+-t.
Tárgyak megtekintése :A tárgyainkat a \"/táska\" paranccsal tudjuk megtekinteni. Amíg nem rendelkezel tárgyakkal, egy üres dialogot fogsz látni.
( Gondoltam, hogy kiirtaom, hogy nincsen tárgyad, de azért csak szebb esztétikailag, amikor látod is, hogy üres az a \"táska\"). Azonban, ha van valamilyen tárgyad az megjelenik ott.
Tárgyak lista :Megnézhetjük a létező tárgyakat is a \"/tárgylista\" paranccsal. Ez alapján tudjuk megszerezni azokat az információkat, amik szükségesek a parancsaink használatához. ( Itt tudjuk megnézni, hogy melyik tárgy létezik, illetve az objektje változott-e vagy nem ).
Segítség a játékban :Amennyiben szükségünk van segítségre, használhatjuk a \"/tárgyhelp\" parancsot, amely azonban segít nekünk, tájékoztat a tárgy rendszerben előforduló parancsokról.
Megyjezés :A leírás, lehet kicsit sablonosra sikeredett, de így tudtam kihangsúlyozni azokat az információkat amiket én fontosnak találok. A létrehozott tárgyaknak viselkedésünk, létrehozáskor NINCS, ez a módban kell nekünk megírni, a TargyHasznalat - plain-nél. A játékban csupán a tárgy nevét, és az objektjét tudjuk kezelni.
Információk A filterscript elkészülésében közremüködő személy(ek) :Kyosuke_Hiroshi, az ő segítségére számíthattam mindig illetve, segítőkészen válaszolt, hallgatta meg a panaszaimat.
És még közremüködtek a sampfórum lakói akik kisebb-nagyobb reakció idővel válaszoltak a kérdéseimre, közülök nem emelek ki senkit, ne hogy balhé legyen, hogy az adott személyt jobban kedvelem.
Az alap ötlet :Be kell vallanom, az alap ötletet nem én találtam ki, ezt a tárgy kezelés az adatbázisból, nem változókba \"töltögetés\". Az eredeti ötletet, az EverLifeRPG v2-es módjában láttam, és gondoltam hasonlóképpen megpróbálom elkészíteni. Nos hát úgyérzem, hogy van benne hasonlóság, de az ő általuk elkészített rendszernek teljesen más a felépítése, illetve a mechanikája, az enyém csak szintaktikailag hasonlít. Remélem ezért nem fognak megkövezni, a fejlesztői.
Letöltés :Filterscript :
LinkSQL fájl :
Link Végszó Köszönöm szépen, hogy megtekintetted a szkriptemet, remélem hasznossá vált a számodra, ha csak tanulás szempontjából akkor is. A szkript nem hibátlan illetve akadhatnak jobb megoldások is, illetve az esztétikai elrendezés számomra kedvezőképpen lett kialakítva.
1Mark6 - 2016.06.25
« Utoljára szerkesztve: 2016. június 25. - 21:49:47 írta 1Mark6 »
Naplózva