Szerző Téma: Loot System + Inventory [DayZ-rõl ismert]  (Megtekintve 6643 alkalommal)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Dátum: 2014. július 25. - 01:18:23 »
+14 Show voters
Loot System + Inventory
 

Készítette: BoOy
 
Leírás:
Sziasztok. Fent voltam a minap egy DayZ szerveren és megtetszett a loot rendszer ezért elkészítettem nektek, plusz inventory rendszerrel. A rendszer nem annyira összetett, ez alatt azt értem hogy most még csak filterscript de ha lesz még idõm akár include is lehet belõle amivel szabhatjátok a rendszert.
Feltelepítése:
Ha letöltöd a loot.rar fájlt akkor meglátod hogy minden fájlnak/mappának meg van a maga helye.
Az Itemeket viszont neked kell feltelepíteni, minden itemnek kell egy név és egy hozzá tartozó object id.
A telepítése úgy zajlik hogy a scriptfiles/Loot/loot-objects.obj fájlt megnyitod, ott találsz 3 item példát: Pizza, Víz, és AK-47 (Ezeket törölheted, de ott is hagyhatod). Kezdesz egy új sort a fájlban és elsõnek az item nevét (Pl. Kulcs), majd szóköz nélkül egy \"|\" jellel írod egybõl a hozzátartozó object id-t. (Pl. 430).
Ha nem törölted a példa itemeket akkor így kell kinéznie:
 
Pizza|1582
Vizes üveg|2683
AK-47|355
Kulcs|430

 
Parancsok:
Az RCON adminisztrátornak elérhetõ egy /dropobject [itemname] parancs, amivel telepített itemeket tehet le a földre.
Gyorbillentyûk:
 

  • KEY_YES (\'Y\' gomb):     Az inventory elõhívása


  • KEY_NO (\'N\' gomb):      Item felszedése a földrõl.


Az Item használata:
A loot.pwn nevû fájlban találsz egy OnPlayerUsedItem nevû eljárást. Ez akkor hívódik le ha a játékos a \"Használ\" gombra rákattint.
 
public OnPlayerUsedItem(playerid,const itemname[])
{
if(!strcmp(itemname,\"Pizza\", true)) //A használt item neve \"Pizza\" akkor:
{
SendClientMessage(playerid,-1,\"Megettél egy pizzát!\");
SetPlayerHealth(playerid,100.0);
}
if(!strcmp(itemname,\"Víz\", true)) //A használt item neve \"Víz\" akkor:
{
SendClientMessage(playerid,-1,\"Megittál egy üveg vizet!\");
SetPlayerHealth(playerid,100.0);
}
return 1;
}

 
Képek:
\"width=500http://kepfeltoltes.hu/140725/QBYVCUtvAwMDB10bQAVQ_1__www.kepfeltoltes.hu_.png[/img]
\"width=500http://kepfeltoltes.hu/140725/QBYVCUtvAwMDB10bQwVQ_www.kepfeltoltes.hu_.png[/img]
\"width=500http://kepfeltoltes.hu/140725/QBYVCUtvAwMDB10bQgVQ_www.kepfeltoltes.hu_.png[/img]
\"width=500http://kepfeltoltes.hu/140725/QBYVCUtvAwMDB10bRQVQ_www.kepfeltoltes.hu_.png[/img]
Letöltés:
loot.rar
Frissítések:
 

  • Zyzu által észlelt bug javítva.


  • Most már 2 loot rendszer érhetõ el!

    • Idézetet írta: KovaNovik date=1406276222\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49656\" data-ipsquote-contentclass=\"forums_Topic
      lehet jobb lenne úgy megoldani, mint a ZCMD-nél. Bár, nem tudom az kevesebb laggot okozna-e plusz annyi eljárással.


    • loot(faster)      Ezzel a rendszerrel tárgyakat a földrõl a /takeon parancsal kell fevenni. (Nincs \'N\' gyorsbillentyû)


    • loot(slower)      Ezzel a rendszerrel tárgyakat a földrõl gyorsbillentyûvel tudod felvenni. (\'N\' gomb elérhetõ)


     


Használjátok egészséggel!  :-*
« Utoljára szerkesztve: 2014. július 25. - 15:51:33 írta BoOy »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #1 Dátum: 2014. július 25. - 04:06:52 »
0 Show voters
Szép munka BoOy! :)
Én is írtam egy hasonló szkriptet a mostani szerveremhez.. viszont ennek hátránya is van nem csak haszna mivel ki lehetséges használni a tárgyak másolását illetve duplikálását. Próbáld valakivel letesztelni úgy, hogy egy visszaszámlálás segítségével egyszerre veszitek fel a földrõl. :) Viszont lehet javítani is egy változó segítségével.

Loot System + Inventory [DayZ-rõl ismert]
« Válasz #2 Dátum: 2014. július 25. - 09:43:13 »
0 Show voters
Kedves BoOy!
Nagyon szép munkát végeztél! ;) Megtudhatnám hogy kb. mennyi ideig csináltad? :) Láttam már ilyen Inventory és Loop System-et de ez káprázatos :)

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #3 Dátum: 2014. július 25. - 10:17:02 »
0 Show voters
Gyönyörûséges! :D
Szerk.: ha van már 70 000 item a szerveren, lehet jobb lenne úgy megoldani, mint a ZCMD-nél. Bár, nem tudom az kevesebb laggot okozna-e plusz annyi eljárással.
« Utoljára szerkesztve: 2014. július 25. - 10:20:20 írta KovaNovik »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #4 Dátum: 2014. július 25. - 11:03:53 »
0 Show voters
Köszönöm :D
 
Idézetet írta: ZyZu. date=1406254012\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49656\" data-ipsquote-contentclass=\"forums_Topic
Szép munka BoOy! :)
Én is írtam egy hasonló szkriptet a mostani szerveremhez.. viszont ennek hátránya is van nem csak haszna mivel ki lehetséges használni a tárgyak másolását illetve duplikálását. Próbáld valakivel letesztelni úgy, hogy egy visszaszámlálás segítségével egyszerre veszitek fel a földrõl. :) Viszont lehet javítani is egy változó segítségével.
 
Hoppá ezt el is felejtettem. Még ma javítom :)
 

Kedves BoOy!
Nagyon szép munkát végeztél! ;) Megtudhatnám hogy kb. mennyi ideig csináltad? :) Láttam már ilyen Inventory és Loop System-et de ez káprázatos :)
 
[/quote]
1 napot rászántam, részekben :)
 

Gyönyörûséges! :D
Szerk.: ha van már 70 000 item a szerveren, lehet jobb lenne úgy megoldani, mint a ZCMD-nél. Bár, nem tudom az kevesebb laggot okozna-e plusz annyi eljárással.
 
[/quote]
70.000 item nem lehet a szerveren max 500 :D De ezt változtathatod ebbe a sorba:
 
#define MAX_DROP_OBJECT 500

 
És ha kell megcsinálom zcmd-be de akkor ID alapján.

Loot System + Inventory [DayZ-rõl ismert]
« Válasz #5 Dátum: 2014. július 25. - 11:50:41 »
0 Show voters
Amit lerakok azt el is menti? Bocsi nem tudom megnezni telefonrol vagyok ?

Loot System + Inventory [DayZ-rõl ismert]
« Válasz #6 Dátum: 2014. július 25. - 11:53:28 »
0 Show voters
Most káprázik a szemem??  ???
Ez marha jó!
Repül a +!!!!
De 1 kérdésem lenne:
Az objecteket honnan szedted?

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #7 Dátum: 2014. július 25. - 11:56:08 »
+1 Show voters
Idézetet írta: Keenon Jackson date=1406281841\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49656\" data-ipsquote-contentclass=\"forums_Topic
Amit lerakok azt el is menti? Bocsi nem tudom megnezni telefonrol vagyok ?
 
Igen, és még az inventory-ban lévõ itemeket is.
 

Most káprázik a szemem??  ???
Ez marha jó!
Repül a +!!!!
De 1 kérdésem lenne:
Az objecteket honnan szedted?
 
[/quote]
Köszi, amúgy Map editorból :D
Parancsoljatok:


Frissítések:
 

  • Zyzu által észlelt bug javítva.


  • Most már 2 loot rendszer érhetõ el!


    • lehet jobb lenne úgy megoldani, mint a ZCMD-nél. Bár, nem tudom az kevesebb laggot okozna-e plusz annyi eljárással.[/quote]


    • loot(faster)      Ezzel a rendszerrel tárgyakat a földrõl a /takeon parancsal kell fevenni. (Nincs \'N\' gyorsbillentyû)


    • loot(slower)      Ezzel a rendszerrel tárgyakat a földrõl gyorsbillentyûvel tudod felvenni. (\'N\' gomb elérhetõ)


     

« Utoljára szerkesztve: 2014. július 25. - 15:13:06 írta BoOy »

Nem elérhető Blaise

  • 1002
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #8 Dátum: 2014. július 25. - 18:06:25 »
0 Show voters
Kibeb*szott jó lett :D +

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #9 Dátum: 2014. július 25. - 18:56:13 »
0 Show voters
Még egy tippet mondok.. próbáld megcsinálni mentés nélkül. Mondjuk leraksz egy pozícióra egy item tárgyat.. majd újra spawnolásnál más tárgy lesz ott.. szóval random keletkezik egy új tárgy ha felveszik. A mentés szerintem hülyeség egy kicsit, mivel sok tárgy lesz végén a földön.

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #10 Dátum: 2014. július 25. - 19:35:51 »
0 Show voters
A ZCMD-set úgy értettem, hogy nem 500 strcmp-vel, hanem rögtön az adott eljárást meghívva mûködne. Bár ez ékezeteknél gondokat okozna.
 Az itemet használatkor egybõl levonja? Szerintem kellene valami olyasmi, hogy csak akkor törlöd ki az itemet, ha az eljárás 0-val tért vissza.
Tehát a pl. a vércsomagot ne vonja le addig, amíg nem engedtem meg neki, hogy elhasználja.

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #11 Dátum: 2014. július 25. - 19:53:01 »
0 Show voters
Idézetet írta: ZyZu. date=1406307373\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49656\" data-ipsquote-contentclass=\"forums_Topic
Még egy tippet mondok.. próbáld megcsinálni mentés nélkül. Mondjuk leraksz egy pozícióra egy item tárgyat.. majd újra spawnolásnál más tárgy lesz ott.. szóval random keletkezik egy új tárgy ha felveszik. A mentés szerintem hülyeség egy kicsit, mivel sok tárgy lesz végén a földön.
 
Hát pont ez a lényeg hogy annyi itemet raksz le amennyit akarsz :D Ha te a szervereden leteszel alap 40 itemet akkor több hogy lehetne, ha már vagy eldobja, vagy elhasználja a többi játékos az itemet? :D
 

Kibeb*szott jó lett :D +
 
[/quote]
Köszi szépen :D
 

A ZCMD-set úgy értettem, hogy nem 500 strcmp-vel, hanem rögtön az adott eljárást meghívva mûködne. Bár ez ékezeteknél gondokat okozna.
 Az itemet használatkor egybõl levonja? Szerintem kellene valami olyasmi, hogy csak akkor törlöd ki az itemet, ha az eljárás 0-val tért vissza.
Tehát a pl. a vércsomagot ne vonja le addig, amíg nem engedtem meg neki, hogy elhasználja.
 
[/quote]
Ha 0-val tér vissza akkor nem fut tovább a szkript tehát nem vonja le :D Úgy van megcsinálva, de azért még1x kipróbálom egy adott feltétellel :D
Az elsõ mondatodban arra gondolsz, hogy amikor használja a játékos az itemet akkor ne 500 strcmp-vel mûködjön?

Nem elérhető Mate.

  • 223
  • Advertising Designer. Video Editor. Ex-Mapper.
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #12 Dátum: 2014. július 25. - 22:27:38 »
0 Show voters
Szép munka. \"+\"  :D

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Loot System + Inventory [DayZ-rõl ismert]
« Válasz #13 Dátum: 2014. július 25. - 23:25:13 »
+1 Show voters
BoOy kellemes csalódás.. :) Úgy látom te csak kidolgozott munkát tudsz kiadni a kezeid közül, ez tetszik!

Loot System + Inventory [DayZ-rõl ismert]
« Válasz #14 Dátum: 2014. július 26. - 00:30:57 »
0 Show voters
Szép lett viszont erre a hónapra már elhasználtam a \"+\" keretemet.    :weep:
De csak a te kedvedért, veszek fel \"+\" hitelt.




Viccet félretéve, tényleg nagyon jó, SA-MP-os túlélést lehet kiépíteni erre a loot rendszerre.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal