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/epk – item_proto (bináris) → /pack/item_proto.eix/epk
- locale_*.eix/epk – item_names.txt, mob_names.txt, locale_game.txt → /pack/locale_XX.eix/epk (pl. locale_hu, locale_en)
- icon.eix/epk – item_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
- 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);
- 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%
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
- – adj magadnak ládát és nyisd ki.
Kód: Egész kijelölése
/item 85000
- Ö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%
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.