Hogyan állítsd be, hogy mibe kerüljön az itemed?

Indította Action, 2010 április 13, 05:02:33 DÉLUTÁN

Előző téma - Következő téma

Action

Tehát, remélem egészen érthető témanevet sikerült adnom, máshogy nem igazán tudom meghatározni.
Tudom, tudom... sokan tudjátok már, de olyan sok ilyen téma indul amibe ez a kérdés.

Probléma felvetése (példa):
Készítesz egy vendort és beleraksz mondjuk egy kardot.
Ezt a kardot te 100db Badge of Justice-ért szeretnéd árulni, de nem tudod, hogy hogyan kell beállítani.

Megoldás:
Megnyitod szépen a szervered adatbázisát amibe kikeresed az npc_vendor táblát.
Segítség: http://udbwiki.webhop.net/index.php/Npc_vendor
Ebben a táblában található egy oszlop aminek a következő a neve: ExtendedCost , igen ezt keressük. :)
Az ide beírt szám határozza meg, hogy mibe kerüljön az itemed.

Honnan szülj oda számot?

Nagyon sok oldal található már ahol fel vannak sorolva, illetve az ItemExtendedCost.dbc-ből is kihalászhatod..
A lényeg, hogy ide egy ID szám kerül, aminek a jelentése a dbc-be van meghatározva.
Hiába írsz be oda 54000et, akkor se fog annyi aranyba kerülni.
A számoknak jelentésük van és neked ezt kell kikeresned a különböző forrásokból.
Fontos
, hogy a dbc-t ne módosítsd, ami ott nincs meghatározva azt nem lehet megoldani.

Segítség a dbc-hez:

http://wow-v.com/forums/index.php?topic=10424.0
http://udbwiki.webhop.net/index.php/ItemExtendedCost.dbc

Pár példa(források):
http://www.ac-web.org/forums/showthread.php?t=33291
http://mmopro.net/forums/discussion/558-every-extended-cost-id.html


Az abszolút példa akkor tehát amit az elején is felvetettem(kardomat akarom árulni 100db BoJ-ért):
Megnyitom az npc_vendor táblám, kitöltöm értelemszerűen, majd az utolsó oszlopba a következőt írom:
2333

Forrás az egyik linkemből:

2333 Badge of Justicex100


Remélem érthető voltam, a kérdéseket bátran tegyétek fel, ha nagyon szükséges akkor képekkel is illusztrálom a leírást.
Hajrá. ! :)

A WORD elszáll, az írás megmarad.

Girosz

Szép leírás, remélem ezzel is sikerül csökkenteni a fölösleges témák számát.

Címnek esetleg: Item eladása Extended cost-ért. Bár lehet, hogy ez se az igazi, hiszen sokan nem tudják mi az az extended cost.

Action

Idézetet írta: Girosz Dátum 2010 április 13, 05:24:08 DÉLUTÁN
Szép leírás, remélem ezzel is sikerül csökkenteni a fölösleges témák számát.

Címnek esetleg: Item eladása Extended cost-ért. Bár lehet, hogy ez se az igazi, hiszen sokan nem tudják mi az az extended cost.

Köszi:)

Amúgy igen, pont ezért adtam neki ezt a címet. Még a ***** is megérti. :)
A WORD elszáll, az írás megmarad.


Elysyum

Szia!

Megnéztem 2 linket is amit kiraktál de egyikben sem találtam a gold megfelelőjét... véletlen nem tudod mi az?:D

Girosz

Pont az a lényeg, hogy nem goldért árulod az itemet. Ha azt szeretnéd, hogy az extended cost mellett még goldot is kérjen, akkor az item buyprice értékét állítsd át.

BuyPrice
The price required to pay to buy this item from a vendor, in copper.


Gabee

Az hogy hány db annak különm id-je van? vagy azt valahol belehet irni? :)

Elysyum

Idézetet írta: Gabee Dátum 2010 április 27, 03:04:20 DÉLUTÁN
Az hogy hány db annak különm id-je van? vagy azt valahol belehet irni? :)

2333 Badge of Justicex100, 2333 az azonosító tulajdonképpen és ez annyit tesz hogy 100db Badge of Justice


Action

Idézetet írta: Gabee Dátum 2010 április 27, 03:04:20 DÉLUTÁN
Az hogy hány db annak különm id-je van? vagy azt valahol belehet irni? :)

Te módosítani semmit nem tudsz az áron belül.
Gondolok itt arra, hogy nem tudod beállítani, hogy hány badge-be kerüljön.
Fix, lekötött árak vannak.
A WORD elszáll, az írás megmarad.

Elysyum

az npc vendor táblában ugye beállítjuk melyik npc be legyen és hogy menyibe kerüljön, ez kihat a többi npc ben lévő itemre is? amihez nem nyúltam hozzá?

Szilárd

Java / C# / Swift Programmer

Apple
----------
OS X / iOS User
iPhone 6 Plus
iPad Air 2
MacBook Pro 13" Retina

Action


Értelemszerűen nem.
Az npc_vendor táblában ha jól megnézed az entry a vendorod id-je.
Tehát itt egyben azt is meghatározod, hogy az általad árulni kívánt itemet, melyik vendorba tegye. :)
A WORD elszáll, az írás megmarad.

Prezi

#14
hogy picit fokozzam Action leírását (köszi a leírást Action)


npc_vendor tábla struktúra (TDB/TC2)













FieldTypeAttributesKeyNullDefault
entrymediumint(8 )UnsignedPRINO0
itemmediumint(8 )SignedPRINO0
maxcounttinyint(3)UnsignedNO0
incrtimeint(10)UnsignedNO0
ExtendedCostmediumint(8 )UnsignedNO0

Leírás a mezőkről (Field)

entry
Ide kerül az npc id-je a creature_template tábla entry mezőjéből.

item
Ide kerül az eladni kívánt item id-je az item_template tábla entry mezőjéből.

maxcount
mennyi darabot adjon el a kívánt itemből. Ha a beírt érték "0" akkor végtelen darabszám.

incrtime
Ez a mező akkor szükséges, ha a maxcount értéke nem "0", tehát ha az eladni kívánt tárgyunkból maximum 2 kelhet el, ide kell beírni (másodpercben) hogy mikor frissítse újra a listát. Tehát ha elkelt a 2 darab abból az itemből és az itt megodott érték pl:"60" akkor 60 másodperc (1 perc) múlva újra meglehet tőle venni 2 db-t

ExtendedCost
Az ide tartozó értékeket a ItemExtendedCost.dbc-ből olvashatjátok ki.
Ide kell írni azt hogyha nem goldért szertnél valamit árulni, hanem pl 20 Warsong Gluch mark of Honorért szeretnék eladni a kívánt itemünket, akkor ide kerül a következő érték: 2251


Forrás

példák:

INSERT INTO `npc_vendor` (`entry`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES ('54', '44623', '20', '3600', '0');

Ezzel azt érjük el, hogy a Bottle of Dalaran Red, entry: 44623 itemet az 54-es entry-vel ellátott npc fogja árulni, méghozzá 20 db-t óránként. Corina Steele <Weaponsmith>, entry:54.

Ugye a vétel árat az item_template táblában lehet módosítani.
példa:

UPDATE `item_template` SET `BuyPrice` = '1' WHERE `entry` = '44623';
tehát: így a 44623 id-vel elátott item Bottle of Dalaran Red, entry: 44623 nem 10 gold lesz hanem 1 copper.
A BuyCount-hoz megadott érték copperben értetendő.

1 gold == 100 silver
1 silver == 100 copper

--

INSERT INTO `npc_vendor` (`entry`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES ('54', '44622', '0', '0', '2251');

Ezzel azt érjük el, hogy a Cask of Dalaran White, entry: 44622 itemet az 54-es entry-vel ellátott npc fogja árulni, méghozzá 20 db WSG Mark of Honorért. Corina Steele <Weaponsmith>, entry:54.

Ugye az alap vételár ami az item_template táblában megvan adva az 37gold 50 silver, így ez hozzá adódik a mark of honorokhoz, tehát a végleges ár 20 WSG Mark of Honor 37 gold 50 silver.

Hogyha szeretnétek a goldot eltüntetni akkor az előbb leírt parancs alapján kell a BuyPrice mezőt átírni:

UPDATE `item_template` SET `BuyPrice` = '0' WHERE `entry` = '44622';

így már csak 20 Wsg Mark of Honorért fog elkellni az item.



Remélem én is tudtam egy picit segíteni :)

További szép napot mindenkinek!

Powered by EzPortal