Earth nature field

TUTORIAL: Új láda és dropp beállítása hozzá

Minden ami szerverkészítéshez tartozik (szerverfájlok, src, kliensek stb)
Válasz küldése
serverfan
Tapasztalt Harcos

Tapasztalt Harcos
Hozzászólások: 21
Csatlakozott: 2025.08.29. 17:27

TUTORIAL: Új láda és dropp beállítása hozzá

Hozzászólás Szerző: serverfan »

Új láda létrehozása + dropp, esélyek és tartalom beállítása (lépésről lépésre)
Ez az útmutató megmutatja, hogyan hozz létre egy teljesen új ládát, add hozzá a szörnyek droppjához, és állítsd be, mit és milyen eséllyel adjon kinyitáskor.

Előfeltételek
  • Hozzáférés az adatbázishoz (Navicat/HeidiSQL).
  • Szerver oldali item_proto elérése (SQL vagy TXT).
  • Kliens packok újracsomagolásához eszköz (EIX/EPK tool).

Hol találhatók a fájlok? (Gyors térkép)
Kliens (client) /pack mappa:
  • item_proto.eix/epkitem_proto (bináris)/pack/item_proto.eix/epk
  • locale_*.eix/epkitem_names.txt, mob_names.txt, locale_game.txt/pack/locale_XX.eix/epk (pl. locale_hu, locale_en)
  • icon.eix/epkitem_list.txt és ikonok → /pack/icon.eix/epk (egyes klienscsomagokban item_list.txt a locale packban van – ellenőrizd!)
  • Index – a pack gyökérben szövegfájl, listázza az aktív EPK-kat → /pack/Index
Szerver (FreeBSD):
  • SQL proto esetén: player.item_proto tábla az adatbázisban.
  • TXT proto esetén: /usr/game/share/ vagy /usr/game/channel*/share/ alatt item_proto, mob_proto (txt/csv).
  • Drop táblák (példa 40k+): mob_drop_item, special_item_group → adatbázisban (gyakran player vagy common sémában).

1) Új láda felvétele az item_proto-ba
Válassz egy szabad VNUM-ot (példa: 85000) és vedd fel ládaként (ITEM_GIFTBOX/ITEM_BOX).

Kód: Egész kijelölése

-- Szerver oldali item_proto (SQL példa)
INSERT INTO item_proto
(vnum, name, locale_name, type, subtype, size, antiflag, flag, wearflag, immuneflag,
 gold, buy_price, limit_type0, limit_value0, limit_type1, limit_value1,
 applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2,
 value0, value1, value2, value3, value4, value5, socket0, socket1, socket2, refine_vnum, magic_pct, specular)
VALUES
(85000, 'chest_new_summer', 'Nyári Láda', 18, 7, 1, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
Kliens oldali kiegészítés:
  • item_proto.eix/epk – tedd be az új VNUM-ot (ha a kliens proto-t használ).
  • item_names.txt – add hozzá: 85000 Nyári Láda (locale packban).
  • item_list.txt – ikon és mesh hivatkozás (gyakran az icon packban).
  • Végül csomagold vissza az érintett packokat és ellenőrizd, hogy az Index tartalmazza őket.

2) Mit adjon a láda? – special_item_group
A legtöbb files a special_item_group-ból sorsol ládanyitáskor. A csoport azonosítója gyakran a láda VNUM-ja.

Kód: Egész kijelölése

-- Ládanyitás jutalmak (minta)
DELETE FROM special_item_group WHERE group_vnum = 85000;

INSERT INTO special_item_group (group_vnum, item_vnum, count, prob) VALUES
(85000, 27992, 1, 5000),   -- Sárkánylámpás (1) ~ 50.00%
(85000, 70038, 5, 3000),   -- Zöld ital (5) ~ 30.00%
(85000, 11299, 1, 1500),   -- Ritka vért (1) ~ 15.00%
(85000, 71035, 3, 500);    -- Tolvaj kesztyű (3) ~ 5.00%
Ha a te verziód más táblát használ (pl. dropp_with_group, item_drop.txt vagy quest-nyitás), jelezd és ahhoz igazítom.

3) Hogyan essen a láda a szörnyekből? – mob_drop_item
Válassz mobot (példa: 101 – Vaddisznó) és add hozzá a ládát droppként:

Kód: Egész kijelölése

INSERT INTO mob_drop_item (mob_vnum, item_vnum, count, prob, level_limit)
VALUES (101, 85000, 1, 50, 0);

4) Kliens packolás – mire figyelj
  • Minden módosított fájlt (item_proto, item_names, item_list) tedd vissza a megfelelő .eix/.epk-ba.
  • Frissítsd a pack/Index fájlt, hogy a kliens be is töltse az új/updated packokat.
  • Ha az item_list.txt nálad a locale packban van, ne az icon packba tedd (és fordítva).

5) Gyors GM-teszt
  • Kód: Egész kijelölése

    /item 85000
    – adj magadnak ládát és nyisd ki.
  • Ölj pár 101-es mobot – ellenőrizd, esik-e a láda.

6) Esélyskála – fontos
A prob érték szerverfüggő. Gyakori skálák:
  • 0–1000 → 1000 = 100%, 10 = 1.0%, 1 = 0.1%
  • 0–10000 → 10000 = 100%, 100 = 1.0%, 1 = 0.01%
  • 0–100000 → 100000 = 100%, 1000 = 1.0%, 100 = 0.1%
Tipp: Nézz meg egy gyári droppot az adatbázisban (pl. metinkő), vagy a game forrásban a sorsoló függvényt (pl. char_item.cpp) és derítsd ki, melyik skála van használatban.

7) Garantált + ritka jutalmak
  • A) A special_item_group-ban a prob értékek összegét állítsd 100%-ra → mindig ad valamit.
  • B) Két csoport (alap 100% + ritka extra), és questtel kétszer sorsolsz.

8) (Opcionális) Ládanyitás questtel

Kód: Egész kijelölése

quest nyari_lada begin
    state start begin
        when 85000.use begin
            local r = number(1,100)
            if r <= 50 then
                pc.give_item2(27992, 1)          -- 50%
            elseif r <= 80 then
                pc.give_item2(70038, 5)          -- 30%
            elseif r <= 95 then
                pc.give_item2(11299, 1)          -- 15%
            else
                pc.give_item2(71035, 3)          -- 5%
            end
            pc.remove_item(85000, 1)
        end
    end
end

9) Hibakeresés (GYIK)
  • „UNKNOWN” név – hiányzik az item_names.txt (locale pack).
  • Nyitáskor nem ad – nincs special_item_group/rossz esélyskála/hiányzó quest.
  • Nem esik a mobtól – rossz mob_vnum vagy túl alacsony prob.
  • Ikon/mesh hiányzik – hibás item_list.txt vagy nincs becsomagolva a pack; ellenőrizd a pack/Index-et is.

Összefoglalás
1) Új item a szerver item_proto-ba (SQL/TXT).
2) Tartalom és esélyek a special_item_group-ban.
3) Dropp a mob_drop_item-ban.
4) Kliens: item_proto.eix/epk, item_names.txt (locale pack), item_list.txt (icon/locale pack) frissítése és packolása; pack/Index ellenőrzése.
5) GM-teszt.
serverfan
Tapasztalt Harcos

Tapasztalt Harcos
Hozzászólások: 21
Csatlakozott: 2025.08.29. 17:27

Re: TUTORIAL: Új láda és dropp beállítása hozzá

Hozzászólás Szerző: serverfan »

Kliens oldali kiegészítés lépésről lépésre

Amikor új ládát vagy bármilyen tárgyat adsz hozzá a szerverhez, a kliens oldalon is ki kell egészíteni a megfelelő fájlokat. Ez biztosítja, hogy a játékos a megfelelő nevet, ikont, modellt lássa, és a kliens be tudja tölteni az új itemet.

1. item_proto (a tárgy alapadatai)

Itt tárolódik minden tárgy (item) adatbázisa a kliensben.
– Régi kliensekben: locale_XX.eix/epk-ban található `item_proto.txt`.
– Újabb kliensekben: külön packban → /pack/item_proto.eix/epk.

Teendő:
- Ha TXT: nyisd meg Notepad++-szal, keresd ki a legutolsó sort, és adj hozzá egy új sort a ládád VNUM-jával (pl. 85000).
- Ha bináris (proto): használnod kell egy Proto Editor toolt (pl. ItemProtoEditor). Importálod, beírod a VNUM-ot, típust (ITEM_BOX), nevet, majd exportálod vissza .eix/.epk formátumba.

2. item_names.txt (a megjelenő név)

Ez felel a kliensben látható tárgynévért.
Helye: /pack/locale_XX.eix/epk (pl. locale_hu, locale_en).

Teendő:
Nyisd meg az `item_names.txt`-t és add hozzá:
Az első oszlop a VNUM, utána szóköz vagy TAB, majd a látható név.

3. item_list.txt (ikon és modell hozzárendelés)

Ez mondja meg a kliensnek, hogy az adott VNUM-hoz melyik ikon és modell tartozzon.
Helye: régebbi kliensben gyakran a locale packban, újabbaknál az icon.eix/epk-ban.

Teendő:
Nyisd meg az `item_list.txt`-t, és adj hozzá például:

– Az első oszlop: VNUM.
– A második: az ikon elérési útja az `icon` packban.
(i) Ha nincs saját ikonod, válassz egy meglévőt és hivatkozz arra.

4. Ikonfájl (TGA/DDS)

Az ikonfájlokat a kliens `icon` pack tartalmazza: /pack/icon.eix/epk
– Ha új ikont akarsz: készíts egy 32×32 vagy 64×64 .tga fájlt, és helyezd el az `icon/item/` mappába.
– Az `item_list.txt`-ben hivatkozz pontosan ugyanarra a fájlnévre.

5. Index frissítése

A kliens fő /pack/Index fájlja listázza, melyik .eix/.epk packokat tölti be.
– Ha új packot hoztál létre (pl. icon2.epk), fel kell venned ide.
– Ha a meglévő icon/locale packokat módosítottad, akkor nincs új bejegyzés, csak újracsomagolás kell.

6. Pack visszacsomagolás

Ha végeztél a módosításokkal:
1. Csomagold vissza az `item_proto`, `item_names.txt`, `item_list.txt`, és ha van, az ikonfájlokat az eredeti .eix/.epk-ba.
2. Győződj meg róla, hogy az Index fájl betölti őket.
3. Indítsd el a klienst és ellenőrizd: `/item 85000` parancsra megjelenik-e a helyes név és ikon.

Összefoglalva:
1. item_proto – új tárgyadatok (locale packban TXT vagy külön item_proto.eix/epk).
2. item_names.txt – a látható név hozzáadása.
3. item_list.txt – ikon hozzárendelése.
4. icon pack – az ikonfájl behelyezése.
5. Index – ellenőrizd, hogy a módosított pack szerepel benne.
6. Packolás és tesztelés – `/item VNUM` parancs.
Válasz küldése