Fan and Tower

01/29/2012 15:57 warzie005#1
Hey there,

I am using the source Albetros. I changed the Fan and Tower thing in items.cs so I could equip them. A few days later I tried to put them back again on but it is saying: Unknown item usage for item ID: 201009.

I looked again in the item.cs but that didn't changed at all.

Here is my code:
Code:
            else if (ID >= 201003 && ID <= 201009)
                return ItemLocation.Fan;
            else if (ID >= 202003 && ID <= 202009)
                return ItemLocation.Tower;
What's wrong with it?
01/29/2012 18:04 pro4never#2
Quote:
Originally Posted by warzie005 View Post
Hey there,

I am using the source Albetros. I changed the Fan and Tower thing in items.cs so I could equip them. A few days later I tried to put them back again on but it is saying: Unknown item usage for item ID: 201009.

I looked again in the item.cs but that didn't changed at all.

Here is my code:
Code:
            else if (ID >= 201003 && ID <= 201009)
                return ItemLocation.Fan;
            else if (ID >= 202003 && ID <= 202009)
                return ItemLocation.Tower;
What's wrong with it?
It seems like a dumb question but sometimes people forget... Are you positive you're running the version of the source youre looking at? Run it through debug inside visual studio and see if it works then. Sounds to me like you could be using a diff version of the .exe
01/31/2012 13:24 warzie005#3
Thanks, I tried to debug it but that gave me alot of error's.. So I redownloaded it and in used that one. But thanks anyway.

I have one more question.

When I am reborn on the server I tried to look if it said in the database 2 but in-game it is saying 0. What is wrong?
01/31/2012 13:35 F i n c h i#4
The reborn offset is wrong.
01/31/2012 14:17 Lateralus#5
Wait, what? Where does it display your reborn count in-game?
01/31/2012 14:33 Kiyono#6
Quote:
Originally Posted by F i n c h i View Post
The reborn offset is wrong.
Or the database doesn't load the reborncount.
01/31/2012 15:14 warzie005#7
Quote:
Originally Posted by Lateralus View Post
Wait, what? Where does it display your reborn count in-game?
E:\Server's\Albetros\Albetros\Common.cs(103): public static readonly uint[] RebornItemLevels;
E:\Server's\Albetros\Albetros\Common.cs(110): RebornItemLevels = new uint[] { 0,0,0,0,2,2,1,0,1,0,0,0,0,0,0};
E:\Server's\Albetros\Albetros\Database\Domain\DbPl ayer.cs(23): public virtual byte Reborns { get; set; }
E:\Server's\Albetros\Albetros\Database\Mappings\Db Player.hbm.xml(25): <property name="Reborns" column="Reborns" />
E:\Server's\Albetros\Albetros\Enum\UpdateType.cs(2 6): Reborn = 22,
E:\Server's\Albetros\Albetros.Game\Calculations\It ems.cs(126): if (item.ItemtypeData.Value.Requirements.Level < 71 && user.Reborn > 0 && user.Level >= 70)
E:\Server's\Albetros\Albetros.Game\Calculations\It ems.cs(166): if (user.Reborn > 0 && item.ItemtypeData.Value.Requirements.Level <= 70)
E:\Server's\Albetros\Albetros.Game\Database\Databa se.cs(481): toAdd.RebornMap = reader.ReadUInt32("reborn_map");
E:\Server's\Albetros\Albetros.Game\Database\Databa se.cs(552): .Insert("Reborns", 2)
E:\Server's\Albetros\Albetros.Game\Handlers\Comman ds.cs(48): { "/reborn", Command_LowerALLITEMS },
E:\Server's\Albetros\Albetros.Game\Handlers\Items\ LowerItems.cs(30): parsedID += Common.RebornItemLevels[itm.Location] * 10+ itm.StaticID % 10;
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (194): #region Reborn
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (213): npcPage.AddTextLine("Please return when you have trained more. You are unworthy to reborn.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (217): else if (user.Reborn > 0)
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (225): npcPage.AddTextLine("Reborn is not something to undertake lightly. You will be significantly weakened by the process and must fight your way back up to strength. You may even leave many of your skills behind");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (238): npcPage.AddOption("I wish to be reborn", 3);
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (256): npcPage.AddTextLine("When reborning, we have the opportunity to undo some of our greatest mistakes.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (281): npcPage.AddTextLine("When reborning, we have the opportunity to undo some of our greatest mistakes.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (296): if(user.Level < 120 || user.Reborn > 0)
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (323): npcPage.AddOption("I wish to reborn!", 3);
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 05): private byte _direction, _reborn;
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 63): public byte Reborn
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 65): get { return _reborn; }
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 66): set { _reborn = value; }
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(129): private byte _profession, _direction, _level, _stamina, _reborn, _xp = 0;
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2229): _battlePower += Reborn * 5;
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2482): public byte Reborn
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2484): get { return _reborn; }
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2485): set { _reborn = value; }
E:\Server's\Albetros\Albetros.Game\Packet\[10014] SpawnPlayer.cs(190): packet.Rebirth = entity.Reborn;
E:\Server's\Albetros\Albetros.Game\Packet\[10014] SpawnPlayer.cs(258): packet.Rebirth = entity.Reborn;
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(26): public ushort RebornEffect;//not tested
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(60): packet.RebornEffect = item.RebornEffect;
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(92): *((ushort*) (ptr + 28)) = packet.RebornEffect;
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2474): if (currentMap.RebornMap != user.MapID && Kernel.CQMAP.ContainsKey(user.MapID))
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2475): currentMap = Kernel.CQMAP[currentMap.RebornMap];
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2476): user.ChangeMap(currentMap.StartX, currentMap.StartY, currentMap.RebornMap);
E:\Server's\Albetros\Albetros.Game\Structures\CQ_M ap.cs(15): public uint RebornMap;
E:\Server's\Albetros\Albetros.Game\Structures\Guil d.cs(412): if (user.Reborn < RequiredMetempsychosis) return false;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(41): public ushort RebornEffect;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(98): public ItemInfo(uint uid, uint id, ushort location, byte gem1, byte gem2, ushort reborneffect, byte plus, byte bless, bool free, byte enchant, uint greentext, bool locked, bool suspicious, byte color, uint composition, uint ins, uint locktime, ushort amount)
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(106): RebornEffect = reborneffect;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(148): RebornEffect = search.Magic1;

I don't know which one is wrong of them.
01/31/2012 17:09 pro4never#8
This is why I generally say to go to the faq thread. The answer is in there.

I never bothered with reborn in the heroinfo and entity info packets. Add reborn to the character load database method theen add it to the packet so it is writing at the correct offsets. Wil show fine then.
Quote:
Originally Posted by warzie005 View Post
E:\Server's\Albetros\Albetros\Common.cs(103): public static readonly uint[] RebornItemLevels;
E:\Server's\Albetros\Albetros\Common.cs(110): RebornItemLevels = new uint[] { 0,0,0,0,2,2,1,0,1,0,0,0,0,0,0};
E:\Server's\Albetros\Albetros\Database\Domain\DbPl ayer.cs(23): public virtual byte Reborns { get; set; }
E:\Server's\Albetros\Albetros\Database\Mappings\Db Player.hbm.xml(25): <property name="Reborns" column="Reborns" />
E:\Server's\Albetros\Albetros\Enum\UpdateType.cs(2 6): Reborn = 22,
E:\Server's\Albetros\Albetros.Game\Calculations\It ems.cs(126): if (item.ItemtypeData.Value.Requirements.Level < 71 && user.Reborn > 0 && user.Level >= 70)
E:\Server's\Albetros\Albetros.Game\Calculations\It ems.cs(166): if (user.Reborn > 0 && item.ItemtypeData.Value.Requirements.Level <= 70)
E:\Server's\Albetros\Albetros.Game\Database\Databa se.cs(481): toAdd.RebornMap = reader.ReadUInt32("reborn_map");
E:\Server's\Albetros\Albetros.Game\Database\Databa se.cs(552): .Insert("Reborns", 2)
E:\Server's\Albetros\Albetros.Game\Handlers\Comman ds.cs(48): { "/reborn", Command_LowerALLITEMS },
E:\Server's\Albetros\Albetros.Game\Handlers\Items\ LowerItems.cs(30): parsedID += Common.RebornItemLevels[itm.Location] * 10+ itm.StaticID % 10;
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (194): #region Reborn
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (213): npcPage.AddTextLine("Please return when you have trained more. You are unworthy to reborn.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (217): else if (user.Reborn > 0)
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (225): npcPage.AddTextLine("Reborn is not something to undertake lightly. You will be significantly weakened by the process and must fight your way back up to strength. You may even leave many of your skills behind");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (238): npcPage.AddOption("I wish to be reborn", 3);
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (256): npcPage.AddTextLine("When reborning, we have the opportunity to undo some of our greatest mistakes.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (281): npcPage.AddTextLine("When reborning, we have the opportunity to undo some of our greatest mistakes.");
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (296): if(user.Level < 120 || user.Reborn > 0)
E:\Server's\Albetros\Albetros.Game\Handlers\Npc.cs (323): npcPage.AddOption("I wish to reborn!", 3);
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 05): private byte _direction, _reborn;
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 63): public byte Reborn
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 65): get { return _reborn; }
E:\Server's\Albetros\Albetros.Game\Objects\AI.cs(4 66): set { _reborn = value; }
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(129): private byte _profession, _direction, _level, _stamina, _reborn, _xp = 0;
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2229): _battlePower += Reborn * 5;
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2482): public byte Reborn
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2484): get { return _reborn; }
E:\Server's\Albetros\Albetros.Game\Objects\Player. cs(2485): set { _reborn = value; }
E:\Server's\Albetros\Albetros.Game\Packet\[10014] SpawnPlayer.cs(190): packet.Rebirth = entity.Reborn;
E:\Server's\Albetros\Albetros.Game\Packet\[10014] SpawnPlayer.cs(258): packet.Rebirth = entity.Reborn;
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(26): public ushort RebornEffect;//not tested
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(60): packet.RebornEffect = item.RebornEffect;
E:\Server's\Albetros\Albetros.Game\Packet\Items\[1008] ItemInfo.cs(92): *((ushort*) (ptr + 28)) = packet.RebornEffect;
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2474): if (currentMap.RebornMap != user.MapID && Kernel.CQMAP.ContainsKey(user.MapID))
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2475): currentMap = Kernel.CQMAP[currentMap.RebornMap];
E:\Server's\Albetros\Albetros.Game\Packet\PacketHa ndler.cs(2476): user.ChangeMap(currentMap.StartX, currentMap.StartY, currentMap.RebornMap);
E:\Server's\Albetros\Albetros.Game\Structures\CQ_M ap.cs(15): public uint RebornMap;
E:\Server's\Albetros\Albetros.Game\Structures\Guil d.cs(412): if (user.Reborn < RequiredMetempsychosis) return false;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(41): public ushort RebornEffect;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(98): public ItemInfo(uint uid, uint id, ushort location, byte gem1, byte gem2, ushort reborneffect, byte plus, byte bless, bool free, byte enchant, uint greentext, bool locked, bool suspicious, byte color, uint composition, uint ins, uint locktime, ushort amount)
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(106): RebornEffect = reborneffect;
E:\Server's\Albetros\Albetros.Game\Structures\Item s.cs(148): RebornEffect = search.Magic1;

I don't know which one is wrong of them.