Page 1 of 1

weapons above lvl 75

Posted: Tue Dec 04, 2012 7:45 am
by mvd1987
hey hey.

i fixed a lot stats on a lot of 75 weapons.

the only problem is that when players equip the weapons it gives the stats but wont let them fight with the weapons.

it starts fighting with no weapon at all.

and it cant be shown in hand when they equip it.

the id's are in the item_weapon sql and i have put the stats of it in item_modds sql.

so i dont know why they can really use it.

the armor that is fixed on level 75+ armor works and they can equip it.

its only the weapons

i made a npc that sells those weapons for me.

or is this a core thing??

greetings michael

Re: weapons above lvl 75

Posted: Tue Dec 04, 2012 3:14 pm
by PrBlahBlahtson
You're saying the weapons are invisible? Check in item_basic for mID. If it's 0, there's your problem. I'm guessing that stands for Model ID. It's the value that needs to be present in an appearance packet to make things show up properly.

mID has been discussed before on the forum, if you need to figure out how to check them. Usually by me. I highly, highly suggest using @inject instead of changing a weapon in the table and rebooting your server ad nauseam.

Re: weapons above lvl 75

Posted: Tue Dec 04, 2012 4:28 pm
by link
Prblahblah helped me before with the same problem, invisible treasure chests^^

Re: weapons above lvl 75

Posted: Tue Dec 04, 2012 4:36 pm
by mvd1987
where do i find this mid.

it gives this in item_basic

1 example of it is this

INSERT INTO `item_basic` VALUES ('18907', 'devourer', '', '1', '34816', '99', '0', '0');


wich one is wrong??

or this line

INSERT INTO `item_basic` VALUES ('18520', 'laceratrice', '', '1', '34816', '99', '0', '0');

they boith dont show up.

and i made a lot of them work on stats but they just cant be equip to fight with them.

i see you are watching this link

i will give all stats changes when i know they work right so you can put them in the new rev.

since i see all updates are from you on the modds.

greetings michael and thanx on the help

Re: weapons above lvl 75

Posted: Tue Dec 04, 2012 5:51 pm
by PrBlahBlahtson
Sorry, I meant item_armor. It's been a while.

Edit: Just to prepare you for the !!fun!!, I've found weapon mIDs as high as 600. They appear to be ordered by patch, but some were added and not used for a few years.

Re: weapons above lvl 75

Posted: Wed Dec 05, 2012 3:11 am
by mvd1987
yes i found what you mean :)

just weird that weapon lines are in armor but oke.


yes you where right it says 0 for the weapons.

but how do i know what to put in as mid for all the weapons??


or just try some out?

since you say you found 600 mid's can you tell me the list or wich mid's belong to wich weapon (or maybe i can test them all out)

let me know so i can finisch them all and give it back to the project so it can come in a rev

the stats are all fixed on more then 50 weapons but i need to let them show and used by the players.

so your help on the mid's is very welcome :)

hope to hear from you soon.

greetings michael

Re: weapons above lvl 75

Posted: Thu Dec 06, 2012 1:48 am
by PrBlahBlahtson
Okay, time for a very basic and probably ugly tutorial on making items and finding appearances, both for you and anyone else that comes along. If someone wants to improve it for user friendliness and format it for the wiki, feel free. I just want it all in one place, once and for all, so that people have to search less.

How do I make an item?

Item id: Find it on ffxiah.com. The itemid is part of the URL.

Not all tables are required. Except item_basic. item_basic is always required.

item_basic -- I'm guessing that flags handles rare/ex, and probably some other things.
item_usable -- If it's usable, it goes here. Think clusters, potions, and items that have charges.
item_armor -- The name is deceiving. If you want the item to be equipped, it must exist in this table, even if it's a weapon. Determines the level, jobs, appearance, slot(s) it can be equipped in, and what slots should be turned off in the case of 2hd weapons, or cloaks with hoods. I've never puzzled out what scriptType is for.
item_weapon -- For weapons, of course. Determines skill (h2h, sword, etc), damage type (slashing, blunt, etc), how many times it can hit (K Club, Joyeuse, etc,) the delay, and the dmg.
item_mods -- Stats go here. A list for modId can be found in /scripts/globals/status.lua.

I haven't done anything with item_puppet and item_furnishing, since neither system is close to working.

One side note: if the item can be equipped and is usable, you may want to add a script to /scripts/globals/items, otherwise you're going to have an error message every time someone puts on or takes off that item. Filename of the script should be item_basic.name, not sort_name. The swimsuits that were added from my settings.lua experiment probably still do that, if anyone with SVN access feels energetic.

How do I find an appearance/mId?

You need a GM account. If you haven't made one, make one. While a GM account is technically optional, you are wasting time without one. It's such a horrible waste of time that I won't even cover how to find them using just the database and server restarts.

To find an mId, you create an appearance packet (info below.) Then on a GM, you use the command @inject <filename> where filename is the name of the packet's file.

So how do I make an appearance packet?

You need a hex editor. I have Frhed left over from some project or another. It works and isn't obnoxious, but any hex editor should do. For hex editor novices, type on the left, not on the right. Unless you're entering a text string, then you type on the right. We're not entering text strings.

Make a file in darkstar's root directory (c:\dsp). I use things like "appearance.dat," but the filename is irrelevant, as long as you remember it. You're going to be making an appearance packet. Here's how they're structured.

51 0c 57 00 08 07 28 11 28 21 28 31 28 41 28 51 a1 61 00 70 80 00

The first four pairs (51 0c 57 00) are pretty much irrelevant for what you're doing. Just use the ones supplied. Technically, they identify the packet type and the packet number, as far as order.

The fifth pair (08) is the face to use, while the sixth (07) is race. Race may be important with armor, because modId isn't always the same when you're messing with things like swimsuits. Why? Because male and female tarutarus use the same armor models, just a different modId when gender matters.

Every two pairs after that is a slot, in the following order: head, body, hands, legs, feet, main hand, off hand, ranged/instrument. The order is reversed, and it will be necessary to convert between base 10 and base 16.

28 11 is actually 11 28, except the first digit is just packet formating. The mId being used is 0x128, or 296 in base 10. This is the Summoner's "Caller" set if you're working with armor.

For a second example, a1 61 is 0x1a1 or 417 (Nirvana.)

At the moment, armor mIds seem to go up to around 0x151/337. Weapons go up to about 0x259 or 601. There are gaps by the way, just to keep things interesting.

Simplifying the process
So yeah, checking every single mId in a substantial range sucks. Been there, done that, fixed a few dozen pieces of armor that were invisible.

Use SQL queries to simplify life. For example:

SELECT itemid, name, mId FROM item_armor WHERE slot <= 3 AND mId != 0 GROUP BY mId ORDER BY mId ASC;

That query will show you every mId currently in use for main and offhand items. Why would you do this?

If the item you're trying to create looks like a different item, now you know the mId that item uses.

If it's completely unique, then you know the mId won't be in use elsewhere. Look in the gaps. For example, Zanbato is 151 and Mukademaru is 153. Nothing's using 152 right now. We change the packet to use 98 60, @inject appearance.dat and we find... it's just another Zanbato/Hagun. The colors might be slightly different, but yeah, that's a Hagun.

Finding Monster/NPC appearances
Wooo, you're in for some fun.

The look data is a pain to manipulate directly, so you're going to need to use update SQL queries when changing it. It's easiest to view it in /sql/npc_list.sql or /sql/mob_pools.sql.

Normal humanoid NPCs will use look data that's very similar to the appearance packet above. Not even kidding. Want an example? Have an example. 0x01000E0312107520663066400050006000700000. That's appearance 0e 03 12 10 75 20 66 30 66 40 and so on. The same rules apply. Decimal to hexadecimal, reverse the order of the pairs.

Humanoid NPCs with special appearances or animations (ex: Cid), as well as monsters will use something different. Bahamut is 0x0000C10500000000000000000000000000000000. 0x05C1 -> 1473. @costume 1473, poof, you're Bahamut. It's that simple.

Quick warnings on @costume:
- @costume 0 to return to normal
- Some costumes require an animation to look right. What's interesting is that Empties in Promyvion seem to have 4 DATs for all 8 elements, so finding those animation IDs may be necessary later on. I haven't explored those yet. They may have their own appearances.
- Due to the above, moving can sometimes show what you're costumed as, even if standing still leaves you invisible. Example: Iron Golem (heads)
- You can't use @animation on yourself while costumed :)
- There are often multiple appearances for the "same" thing. For example, elementals have a set of appearances for wild elementals, and for Summoner pets. We're using the appearance for pets at the moment. Light elementals should have their orbiting spheres. There's probably three or more Carbuncles. Be aware this can happen.
- Some costumes have... interesting effects on your camera. Dualboxing or a partner is suggested. @wallhack and walking into an empty space can be useful as well, since sometimes you're in the floor/air.
- I've had some odd things happen with size after using @costume for extensive periods. We're talking an Elvaan so tall that a Mithra stood as tall as their hip. Either that or the Mithra was extremely short.
- I've found costumes all the way up to 0x94F / 2383, but I haven't really tried to find an end to it :)
- The groupings seem to be somewhat similar to AltanaViewer and Model_Viewer, although they're not necessarily identical. That may help you by finding something that's in the right neighborhood at least.

Re: weapons above lvl 75

Posted: Thu Dec 13, 2012 3:02 pm
by bluekirby0
PrBlahBlahtson wrote:Okay, time for a very basic and probably ugly tutorial on making items and finding appearances, both for you and anyone else that comes along. If someone wants to improve it for user friendliness and format it for the wiki, feel free. I just want it all in one place, once and for all, so that people have to search less.

How do I make an item?

Item id: Find it on ffxiah.com. The itemid is part of the URL.

Not all tables are required. Except item_basic. item_basic is always required.

item_basic -- I'm guessing that flags handles rare/ex, and probably some other things.
item_usable -- If it's usable, it goes here. Think clusters, potions, and items that have charges.
item_armor -- The name is deceiving. If you want the item to be equipped, it must exist in this table, even if it's a weapon. Determines the level, jobs, appearance, slot(s) it can be equipped in, and what slots should be turned off in the case of 2hd weapons, or cloaks with hoods. I've never puzzled out what scriptType is for.
item_weapon -- For weapons, of course. Determines skill (h2h, sword, etc), damage type (slashing, blunt, etc), how many times it can hit (K Club, Joyeuse, etc,) the delay, and the dmg.
item_mods -- Stats go here. A list for modId can be found in /scripts/globals/status.lua.

I haven't done anything with item_puppet and item_furnishing, since neither system is close to working.

One side note: if the item can be equipped and is usable, you may want to add a script to /scripts/globals/items, otherwise you're going to have an error message every time someone puts on or takes off that item. Filename of the script should be item_basic.name, not sort_name. The swimsuits that were added from my settings.lua experiment probably still do that, if anyone with SVN access feels energetic.

How do I find an appearance/mId?

You need a GM account. If you haven't made one, make one. While a GM account is technically optional, you are wasting time without one. It's such a horrible waste of time that I won't even cover how to find them using just the database and server restarts.

To find an mId, you create an appearance packet (info below.) Then on a GM, you use the command @inject <filename> where filename is the name of the packet's file.

So how do I make an appearance packet?

You need a hex editor. I have Frhed left over from some project or another. It works and isn't obnoxious, but any hex editor should do. For hex editor novices, type on the left, not on the right. Unless you're entering a text string, then you type on the right. We're not entering text strings.

Make a file in darkstar's root directory (c:\dsp). I use things like "appearance.dat," but the filename is irrelevant, as long as you remember it. You're going to be making an appearance packet. Here's how they're structured.

51 0c 57 00 08 07 28 11 28 21 28 31 28 41 28 51 a1 61 00 70 80 00

The first four pairs (51 0c 57 00) are pretty much irrelevant for what you're doing. Just use the ones supplied. Technically, they identify the packet type and the packet number, as far as order.

The fifth pair (08) is the face to use, while the sixth (07) is race. Race may be important with armor, because modId isn't always the same when you're messing with things like swimsuits. Why? Because male and female tarutarus use the same armor models, just a different modId when gender matters.

Every two pairs after that is a slot, in the following order: head, body, hands, legs, feet, main hand, off hand, ranged/instrument. The order is reversed, and it will be necessary to convert between base 10 and base 16.

28 11 is actually 11 28, except the first digit is just packet formating. The mId being used is 0x128, or 296 in base 10. This is the Summoner's "Caller" set if you're working with armor.

For a second example, a1 61 is 0x1a1 or 417 (Nirvana.)

At the moment, armor mIds seem to go up to around 0x151/337. Weapons go up to about 0x259 or 601. There are gaps by the way, just to keep things interesting.

Simplifying the process
So yeah, checking every single mId in a substantial range sucks. Been there, done that, fixed a few dozen pieces of armor that were invisible.

Use SQL queries to simplify life. For example:

SELECT itemid, name, mId FROM item_armor WHERE slot <= 3 AND mId != 0 GROUP BY mId ORDER BY mId ASC;

That query will show you every mId currently in use for main and offhand items. Why would you do this?

If the item you're trying to create looks like a different item, now you know the mId that item uses.

If it's completely unique, then you know the mId won't be in use elsewhere. Look in the gaps. For example, Zanbato is 151 and Mukademaru is 153. Nothing's using 152 right now. We change the packet to use 98 60, @inject appearance.dat and we find... it's just another Zanbato/Hagun. The colors might be slightly different, but yeah, that's a Hagun.

Finding Monster/NPC appearances
Wooo, you're in for some fun.

The look data is a pain to manipulate directly, so you're going to need to use update SQL queries when changing it. It's easiest to view it in /sql/npc_list.sql or /sql/mob_pools.sql.

Normal humanoid NPCs will use look data that's very similar to the appearance packet above. Not even kidding. Want an example? Have an example. 0x01000E0312107520663066400050006000700000. That's appearance 0e 03 12 10 75 20 66 30 66 40 and so on. The same rules apply. Decimal to hexadecimal, reverse the order of the pairs.

Humanoid NPCs with special appearances or animations (ex: Cid), as well as monsters will use something different. Bahamut is 0x0000C10500000000000000000000000000000000. 0x05C1 -> 1473. @costume 1473, poof, you're Bahamut. It's that simple.

Quick warnings on @costume:
- @costume 0 to return to normal
- Some costumes require an animation to look right. What's interesting is that Empties in Promyvion seem to have 4 DATs for all 8 elements, so finding those animation IDs may be necessary later on. I haven't explored those yet. They may have their own appearances.
- Due to the above, moving can sometimes show what you're costumed as, even if standing still leaves you invisible. Example: Iron Golem (heads)
- You can't use @animation on yourself while costumed :)
- There are often multiple appearances for the "same" thing. For example, elementals have a set of appearances for wild elementals, and for Summoner pets. We're using the appearance for pets at the moment. Light elementals should have their orbiting spheres. There's probably three or more Carbuncles. Be aware this can happen.
- Some costumes have... interesting effects on your camera. Dualboxing or a partner is suggested. @wallhack and walking into an empty space can be useful as well, since sometimes you're in the floor/air.
- I've had some odd things happen with size after using @costume for extensive periods. We're talking an Elvaan so tall that a Mithra stood as tall as their hip. Either that or the Mithra was extremely short.
- I've found costumes all the way up to 0x94F / 2383, but I haven't really tried to find an end to it :)
- The groupings seem to be somewhat similar to AltanaViewer and Model_Viewer, although they're not necessarily identical. That may help you by finding something that's in the right neighborhood at least.
I don't suppose I could convince you to put this in the wiki? :)

Re: weapons above lvl 75

Posted: Thu Dec 27, 2012 11:46 pm
by mvd1987
oke i finisched the list on 75+ weapons i had and they work fully now :)

it are the weapons that the 1.5v of the ahtool load in the ah,only players can see or buy it.

i fixed them and are beeing tested now.

if they work perfect and all stats are good i will put all mid's and item modd lines up herefor you all

greetings and thanx for all the help on this

Re: weapons above lvl 75

Posted: Mon Jan 07, 2013 4:24 am
by diatanato
how to find model id for armors/weapons