- Joined
- Dec 23, 2009
- Messages
- 11
- Reaction score
- 3
Hello Guys,
Here is the structure for a questdata.shn can use make QuestEditors and more
Shn version 4
Actualy version 6 is now unfinished anlysed
i haved using my QuestData Analyser tool from my svn
have fun
Mathias1000
Here is the structure for a questdata.shn can use make QuestEditors and more
Shn version 4
Code:
using(ScriptAPI)
{
count = AddUShort("QuestCount");
for(i=0; i<count; i++)
{
QuestLenght = AddUShort("QuestLenght");
StartNode("QuestInfo");
AddShort("unk");
AddShort("QuestID");
AddShort("TitleID");
AddShort("DecryptionID");
AddField("unk",7);
AddByte("MinLevel");
AddByte("MaxLevel");
AddByte("unk");
AddShort("StartingNPC");
AddField("unk",24);
AddShort("PreQuest");
AddField("unk",2);
AddByte("MultiQuest");
AddByte("NeedClass");
AddField("unk",15);
AddByte("NeedLevel");
AddField("unk",6);
EndNode(0);
StartNode("MobInfo");
for (inxMob = 0; inxMob < 5; inxMob++)
{
StartNode("mob"+inxMob);
AddByte("IsEnable");
AddByte("IsNpc");
AddUShort("MobID");
AddByte("IsToKill");
AddByte("Amount");
EndNode(0);
}
EndNode(0);
StartNode("ItemInfo");
for (inxItem = 0; inxItem < 10; inxItem++)
{
StartNode("Item"+inxItem);
AddByte("IsEnabled");
AddByte("ItemType");
AddUShort("ItemID");
AddUShort("Ammount");
EndNode(0);
}
AddField("ItemData",284);
EndNode(0);
StartNode("RewardInfo");
rewardlenght = 0;
for (inxReward = 0; inxReward < 12; inxReward++)
{
StartNode("Reward"+inxReward);
AddByte("RewardMethod");
RewardType = AddByte("RewardType");
if(RewardType == 2)
{
AddUShort("ItemID");
AddUShort("Amount");
AddField("unk",4);
}
else
{
AddLong("Exp/Fame");
}
EndNode(0);
}
AddField("RewardData",24);
EndNode(0);
EndNode(0);
StartScriptLenght = AddShort("StartScpLenght");
FinishScriptLenght = AddShort("FinishScriptLenght");
ActionLenght = AddShort("ActionLenght");
AddField("StartScriptLenght",StartScriptLenght);
AddField("FinishScriptLenght",FinishScriptLenght);
AddField("ActionLenght",ActionLenght);
}
}
Actualy version 6 is now unfinished anlysed
Code:
using(ScriptAPI)
{
count = AddUShort("QuestCount");
for(i=0; i< count; i++)
{
QuestLenght = AddUInt("QuestLenght");
StartNode("QuestInfo");
AddInt("QuestID");
AddInt("TitleID");
AddInt("DecryptionID");
AddField("unk",10);
AddByte("IsLevelBase");
AddByte("MinLevel");
AddByte("MaxLevel");
AddByte("IsEnable");
AddShort("StartNPC");
AddField("QuestData",26);
AddShort("PreQuest");
AddField("unk",2);
AddByte("IsMulti");
AddByte("CLass");
AddField("QuestData",22);
EndNode(0);
StartNode("MobInfo");
for (inxMob = 0; inxMob < 5; inxMob++)
{
StartNode("mob"+inxMob);
AddByte("IsEnable");
AddByte("IsNpc");
AddUShort("MobID");
AddByte("IsToKill");
AddByte("Amount");
EndNode(0);
}
EndNode(0);
StartNode("ItemInfo");
for (inxItem = 0; inxItem < 10; inxItem++)
{
StartNode("Item"+inxItem);
AddByte("Itemype");
AddByte("IsEnabled");
AddUShort("ItemID");
AddUShort("Ammount");
EndNode(0);
}
AddField("ItemData",284);
EndNode(0);
StartNode("RewardInfo");
rewardlenght = 0;
for (inxReward = 0; inxReward < 12; inxReward++)
{
StartNode("Reward"+inxReward);
AddByte("RewardMethod");
RewardType = AddByte("RewardType");
AddUShort("Unk2");
if(RewardType == 2)
{
AddUShort("ItemID");
AddUShort("Amount");
AddField("unk",4);
}
else
{
AddLong("Exp/Fame");
}
EndNode(0);
}
AddField("RewardData",76);
EndNode(0);
EndNode(0);
StartScriptLenght = AddShort("StartScpLenght");
FinishScriptLenght = AddShort("FinishScriptLenght");
ActionLenght = AddShort("ActionLenght");
AddNulledString("StartScrript");
AddNulledString("FinishScript");
AddNulledString("ActionKrebs");
}
}
i haved using my QuestData Analyser tool from my svn
You must be registered to see links
have fun
Mathias1000