Pár alapvető kérés/kérdés halmaz

Indította trodhenta, 2019-08-22, 03:32:27

Sziasztok, egy jó ideje keresek bizonyos dolgokat, kutakodok, mit hogyan lehetne megcsinálni stb. Gondoltam megkérdezem itt is hátha akad egy jól lelkű aki tudna nekem segíteni.

( Elnézést ahol nem pontosan fogalmaztam, hajnali 3-kor írtam. )



1. Egy olyan mount rendszer kellene nekem ami leltárból megadja a kívánt bónuszt, akár több bónuszt is egyszerre és nem buggol össze vissza. Régebben nyitottam ehhez kapcsolódóan egy témát de nem jártam sikerrel. A questes megoldás nem feltétlenül jó, bár kitudja lehet abban is meglehet oldani bugmentesen. Nézegettem mt2mesteres questeket ott eléggé egyszerűen megvan csinálva, belépésnél megkapja a kívánt bónuszt és annyi. De régen tesztelgettem ezt és mintha buggolt volna.



2. Ti mobok életerejét, EXP-jét mi alapján szoktátok beállítani? az EXP-t, ugye szerver forrásban a constanst.cpp-ben határozzuk meg ha jól tudom, és akkor ez szerint számítsuk ki igaz?!


3. Esetleg van valahol valami kliens oldali bugfix arra hogy az syserr-t ne írja tele feleslegesen? Olyan fix-re gondolok ami nem annyit takar hogy kikommentezzük a megadott kódot hogy ne küldjön syserr-be, hanem rendes fix-t.  Nálam például egy NPC berakása úgy zajlódik hogy létrehozok a pack mappába egy új almappát mit tudom én new_npc néven, majd bele, ymir work/npc/mob....    Ezt a mappát eternexussal becsomagolom, index-be hozzáadom, megcsinálom az alapokat kliensbe látszódik hibátlanul az npc, de az syserr-t mégis írja hogy nem tudja betölteni..  "CRaceManager::RegisterRacePath : RACE[40014] " Erre gondolok itt.


4.  Egy loopolt timer mennyire tudja leterhelni a szervert nagy játékos számnál?! Például van egy questem, előjőn egy kis menü pl: hirdetés néven, elindul 1 kis szöveg automatikusan mindig 15 perc után ismétli magát.. Mennyire terheli le a szervert egy ilyen? És ha egy komolyabb dolgot kell lefutattnia?!


5. Esetleg valaki tud ajánlani olyan oldalakat ahol metin2-be való ikonokat találok?! ( Tudom google, de már rengetegszer kerestem és nem kaptam azt ami kellene. ) Leginkább ékszerek, pajzsok, sisakok kellenének..
Hozzáteszem letölteni netről valami publikus klienst és abból kibogarászni is lehetne egy megoldás de az viszonylag sok időt igényel, meg az internetem se a legjobb.




Ezek közül leginkább az 1.-es a legfontosabb, nagyon hálás lennék ha valaki segítene ez ügyben.
Ha segítettem vagy akármi érted, akkor a +-t elfogadom.

2019-08-22, 10:35:18 #1 Utolsó szerkesztés: 2019-08-22, 10:38:08 Szerző: masodikbela

  • Hát én forrásban úgy csinálnám, hogy keresnék egy funkciót, ahol 0-ról számolja a bónuszokat, pl ComputePoints. Itt van egy olyan rész, ahol a rajtad lévő itemeket számolja (megadja a bónuszt amit kéne)

    Na ennek a mintájára csinálhatsz oda egy ciklust, ami az adott leltáron végigmegy, és ha mount pecsétet talál, akkor odaadja a bónuszt (lehet, hogy egy hasonló ModifyPoints(true) elég, viszont akkor figyelni kell, hogyha esetleg a player ráül a mountra akkor nem e adja meg 2x). Ezen felül amire figyelni kell még, hogyha a player felvesz egy itemet (AddToCharacter) akkor ha a tárgy egy pecsét, akkor is fusson le egy ModifyPoints, illetve ha eldobja (RemoveFromCharacter) akkor meg egy ModifyPoints(false).

    Legalább is én valahogy így csinálnám, de persze ez csak egy gyors ötlet volt, nyilván lehet hogy még finomításra szorul, de ha arra nem is tesztelésre mindenképp.


  • HP-t általában érzésre állítunk, természetesen attól függően, hogy az adott mobot milyen szintű playereknek szánod. Egy mezei mobnak máshogy szoktuk állítani, mint mondjuk egy bossnak amire mindenki megy, legyen az fullos vagy nem fullos karakter. Jobbat nem tudok mondani, ki kell tapasztalni. Inkább legyen elsőnek több a HPja a mobnak, aztán ha látod hogy a playerek nem bírnak vele akkor el lehet gondolkozni azon, hogy lejjebb veszed.

    Az EXP kicsit trükkösebb, mivel ha pl bizonyos szinttel alacsonyabb a player aki leüti a mobot (mondjuk 15 szinttel) akkor sokkal több exp-t fog kapni, mint ami oda van írva a protoba. Erre is hasonlót tudok mondani, mint a hpra, le kell tesztelni, próbálgatni kell, hogy mikor felel meg a terveidnek.

  • Nem néztem meg, hogy mitől van, valszeg most sem fogom, de ha ránézel a kódra valószínűleg látni fogod te is, hogy miért írja.


  • Attól függ. Ha csak egy commandot, vagy szöveget küld a kliensnek, akkor nem veszélyes. Ez persze attól is függ, hogy hogyan valósítod meg. Ha questbe külön playerenként akkor talán az egy fokkal költségesebb, de az sem vészes. Annyi, hogy egyszerre csak 1 aktív quest lehet playerenként, tehát ha tegyük fel nyitva van egy teleportgyűrű, akkor amíg be nem zárod a timer nem fog lefutni.

    Cppbe ha megcsinálod globálisan, hogy 15 secenként minden aktív karakternek az adott coren elküldi az üzenetet az pedig éppen annyira költséges, mint elküldeni hívásban egy üzenetet.

  • Szerintem nem erre gondolsz, de a gfes ikonok itt elérhetőek: https://m2icondb.exys2.pt/ Ha meg ezen felül kellenek új pajzsok meg egyebek hát... idk nekem soha nem szoktak kelleni, ha meg mégis van aki csinál.
  • Ha nem látod a válaszom, valamit elrontottál:

    2019-08-23, 21:48:14 #2 Utolsó szerkesztés: 2019-08-28, 09:49:23 Szerző: trodhenta
    Köszönöm a válaszodat, hálás vagyok hogy időt szakítottál rám.

    Jön a vissza válassz.  ;D ;D


    1. Az a gond forrás téren még nem vagyok annyira profi, elsőre nekem az jött le ebből hogy létrekell hoznom egy új item típust, ami a mount hivókat takarja, és magába a pecsétbe adom meg a bónuszokat. Sok gond van ezzel a leltárból mount bónuszos dologgal, például ha átadom a pecsétet, vagy berakom raktárba, elveszik pl.( /ip), vagy akármi történik vele akkor lekellene menjen gondolom egy ellenőrző ciklus ami végigellenőrzi az összes mount hivót és ha valamelyik bónusza nálam van, de a pecsét nincs akkor a bónuszt elveszi.. Szóval eléggé komplikált a dolog. Egyébként megírtam questes formában, úgy tűnik mintha működne de szeretném kikérni a véleményeket erről:



    Sajnos még több támpont, vagy valami olyan dolog kellene amiből jobban kitudok indulni, személyesen én se preferálom ezt a questes megoldást nem tetszik, forrásban sokkal jobb lenne megoldani, de mivel szeretnék haladni és lua-hoz jobban értek így kénytelen voltam ebbe megírni.. De amint lesz rá forrásban is megoldás akkor váltom.. Ha marad ez a questes megoldás akkor az a baj ugye hogy csak karaktercserénél tűnik el a bónusz, máshol nem, tök frankó lenne egy funkció ami ellenőrzi ha valami változás történt a játékos inventory-ban, és ekkor a változáskor futna le a funkció ami újra ellenőrízné a mountokat hogy mi van meg- mi nincs stb.






    2. Ehhez kapcsolodóan annyi kérdésem lenne hogy a szorzók milyen mértékben folyásolják be az alap exp-t, yang droppot amit beállítottam egy adott mob-nak?!


    3. Már azthiszem tudom mi a gond a 3-as-ra, forrásban megkelleen adnom az új mappa nevét és funkcióját.



    4-5.: Köszi, valahogy megoldom okosan.




    + Kérdések:


    6. Tételezzük fel nekem van egy mountom aminek az elérése a ymir work/monster2/mob_neve  mappába található. Ilyenkor npclist-be hogy definiáljuk hogy a monster2-ből töltse be a mountot?! ( Bocsi ha túl alapot kérdezek, van amit jól értek, de van ami még kérdőjeles. )



    7. Valamennyire ismerem ezt a metin2-s hackshieldet, de lenne pár dolog ami szintén kérdőjeles. Íme:
         - Esetleg akad valahol egy részletes leírás hogy lehet bekapcsolni a hackshieldet?
         - A hackshield milyen védelmet nyújt egy teljesen alap szervernek?!
         - Létezik valami backdoor, hátsó kapu amivel kilehet kerülni a hackshieldet? ( Pl: DLL-t úgy beinjectálni, hogy ne vegye észre a hs )
         - Megéri bekapcsolni a hackshieldet?, Vannak-e hátrányai, előnyei stb?!




    Ennyi jutott mára. :)  ;D






    Ha segítettem vagy akármi érted, akkor a +-t elfogadom.

    Idéz6. Tételezzük fel nekem van egy mountom aminek az elérése a ymir work/monster2/mob_neve  mappába található. Ilyenkor npclist-be hogy definiáljuk hogy a monster2-ből töltse be a mountot?! ( Bocsi ha túl alapot kérdezek, van amit jól értek, de van ami még kérdőjeles. )

    20094    #season1/npc/yejin/
    20095    #season1/npc/sinseon/

    2019-08-24, 07:22:33 #4 Utolsó szerkesztés: 2019-08-25, 01:55:13 Szerző: trodhenta
    Köszi ezt én is láttam az npclist-be, de nem voltam biztos magamban. Azért köszi.

    Üzenet összefésülés: 2019-08-25, 01:54:47


    8. Egy kicsit bővítem ezt a témát mert felmerült bennem egy nagyon régóta jelenlévő hiba.
    Ez nem más mint a metin2-ben lévő kép pixelődés.
    Például van egy teljesen hd jó minőségű loading képem, de metin2-n belül eléggé lemegy a minősége.
    Esetleg tud valaki erről valamit mi okozhatja, lehet-e ezt valahogy orvosolni?!
    Ha segítettem vagy akármi érted, akkor a +-t elfogadom.

    up...

    Gondolkoztam ezen, a questes megoldásom működik hibátlanul csak ugye relogolni kell hogy megadja a mount a bónuszt. Egy olyan dolog kellene hogy ha változás történik a játékos inventory-ban, és az id 80028 > 80100-id ( e között vannak a mountok. ) akkor questben lefutna egy ellenőrző ciklus. Sajnos az ötlet megvan, de a kivitelezés az nincs.
    Ha segítettem vagy akármi érted, akkor a +-t elfogadom.

    Idézetet írta: trodhenta Dátum 2019-08-27, 17:45:11
    up...

    Gondolkoztam ezen, a questes megoldásom működik hibátlanul csak ugye relogolni kell hogy megadja a mount a bónuszt. Egy olyan dolog kellene hogy ha változás történik a játékos inventory-ban, és az id 80028 > 80100-id ( e között vannak a mountok. ) akkor questben lefutna egy ellenőrző ciklus. Sajnos az ötlet megvan, de a kivitelezés az nincs.

    Hajjajj, megnézem megírom-e. Aztán kiteszem vagy sem.

    “Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”