Szerző Téma: 1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5  (Megtekintve 2597 alkalommal)

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Dátum: 2016. Június 25. - 20:36:28 »
+19


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.
\"vJ9GV5S.png\"\"nbVdxlk.png\"
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 ).
\"MNo1LDm.png\"
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.
\"JwHcYVs.png\"
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 : Link
SQL 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 »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #1 Dátum: 2016. Június 25. - 21:22:28 »
+1
felraknád kérlek pastebinre is a kódot? nekem valamiért vírusost ír a linkre.. :D fasza lett.

ᗩωєѕσмє

  • Vendég
1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #2 Dátum: 2016. Június 25. - 21:30:17 »
+4
Idézetet írta: ƒeheristi97 date=1466882548\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"61001\" data-ipsquote-contentclass=\"forums_Topic
felraknád kérlek pastebinre is a kódot? nekem valamiért vírusost ír a linkre.. :D fasza lett.
 
http://pastebin.com/cvMZfpgZ
buzi fasz aki mínuszt ad
« Utoljára szerkesztve: 2016. Június 26. - 12:03:08 írta zιтяσиє »

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #3 Dátum: 2016. Június 26. - 10:15:40 »
+1
Jó lett, mint mindig :D

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #4 Dátum: 2016. Június 26. - 11:53:55 »
+2
Kifelejtettél pár dolgot :D
 

#define uj new
#define visszateres return
#define formazas format
#define merete sizeof
#define KuldjUzenetetAJatekosnak SendClientMessage

 
Ez alapján meg mehet hogy:
 

Uzenet(jatekosidje,uzenet[])
{
    uj karakterlanc[256];
    formazas(karakterlanc,merete(karakterlanc),\"\"SZ_NARANCS\"Információ : \"SZ_FEHER\"%s\",uzenet);
    KuldjUzenetetAJatekosnak(jatekosidje,-1,karakterlanc);
    visszateres 1;
}
« Utoljára szerkesztve: 2016. Június 26. - 12:37:32 írta anGeL »

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #5 Dátum: 2016. Június 26. - 12:40:02 »
0
:D Nekem így esett kézre a Plainek megalkotása, kicsit magyaros lett, de én nekem így könnyebb volt, + ha angolul írom, még azthiszik, hogy \"kopí\". :D

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #6 Dátum: 2016. Július 04. - 06:14:09 »
0
Köszi! Ez nagyon jó!

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #7 Dátum: 2016. Augusztus 04. - 16:48:00 »
0
Nagyon jó! +

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #8 Dátum: 2016. Augusztus 07. - 19:51:26 »
+1
Széép :D
Mennyi időt szántál rá? Kíváncsiságból  :angel:

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #9 Dátum: 2016. Augusztus 07. - 22:53:09 »
+1
Ügyes, mondtál én hogy menni fog. Fogsz még bővíteni rajta? Valamit? :)

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #10 Dátum: 2016. Augusztus 13. - 13:09:46 »
0
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(48) : error 017: undefined symbol \"LOG_ALL\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(49) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(50) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(54) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(60) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(191) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(202) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(217) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(232) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(300) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(312) : error 017: undefined symbol \"cache_get_field_content\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(313) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(329) : error 017: undefined symbol \"cache_get_field_content\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(330) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(346) : error 017: undefined symbol \"cache_get_field_content\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(347) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(348) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(349) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(350) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(351) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(352) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(353) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(373) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(374) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(375) : error 017: undefined symbol \"cache_get_field_content_float\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(379) : error 017: undefined symbol \"cache_get_field_content\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(380) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(381) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(387) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(399) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(408) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(409) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(416) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(425) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(426) : error 017: undefined symbol \"cache_get_field_content_int\"
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(435) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(440) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(448) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(453) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(463) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(475) : warning 213: tag mismatch
D:\\samp\\filterscripts\\1Mark6Inventory.pwn(556) : warning 203: symbol is never used: \"NincsJog\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
21 Errors.

 
Ezt a hiba üzenetet dobja ki.
Az a_mysql.inc be van iclude olva
HELP  Most meg nem érzékeli az include fájlt (a_mysql.inc)
Kipróbáltam egy új filterszkriptbe : #include <a_mysql>
de ezt az errort kapom: (D:\\samp\\filterscripts\\1Mark6Inventory.pwn(6) : fatal error 100: cannot read from file: \"a_mysql\")
« Utoljára szerkesztve: 2016. Augusztus 13. - 13:44:27 írta danieldeak70 »

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #11 Dátum: 2016. Augusztus 16. - 11:51:53 »
0
Széép :D
Mennyi időt szántál rá? Kíváncsiságból  :angel:
[/quote]
Az alapja hamar megvolt kb. 2 nap, aztán jött a logikai része, azzal foglalkoztam még szintén 2 napot, illetve a tesztelésre/bufixre elment 1 napom, szóval 5 nap volt az egész, de nem 24 órába hanem csak amikor az időm engedte, nagyjából : 25 óra :D
 
Ügyes, mondtál én hogy menni fog. Fogsz még bővíteni rajta? Valamit? :)[/quote]
Már csak saját fejlesztésre bővítem, azzal viszont már több meló volt, pl. fegyvereket raktam bele, és azzal elment 3 napom :D Szóval annyi munkát raktam már a tovább fejlesztésbe nem akarom azt publikálni, de ebből bárki elindulhat érthetően van összerakva csak foglalkozni kell vele.
 
Ezt a hiba üzenetet dobja ki.
Az a_mysql.inc be van iclude olva
HELP  Most meg nem érzékeli az include fájlt (a_mysql.inc)
Kipróbáltam egy új filterszkriptbe : #include <a_mysql>
de ezt az errort kapom: (D:\\samp\\filterscripts\\1Mark6Inventory.pwn(6) : fatal error 100: cannot read from file: \"a_mysql\")
[/quote]
A pawn mappád elérése, nem arra a mappára mutat, ahol a pawnonak az inc-ei vannak ezért nem tudja olvasni a a file-t.
Illetve az a_mysql.inc-ed lehet régi
Ha továbbra is fent áll a probléma irj ide.
OFF : Elnézést, hogy későn válaszoltam, csak nem volt időm a fórumon \"lógni\", nyári meló, offba játékmód írás, aztán ezt is fejleszgettem stb.  :D

1Mark6 - [ Inventory | Tárgy rendszer ] - MySQL R39-5
« Válasz #12 Dátum: 2016. November 13. - 19:03:21 »
0
Nagyon szép lett, de dobtam egy PÜ-t, egy kisebb érdekességel kapcsolatban.
« Utoljára szerkesztve: 2016. November 13. - 19:09:23 írta Jay[G] »

 

SimplePortal 2.3.7 © 2008-2021, SimplePortal