[RELEASE] 5165 attack bug fixed. and Vote npc!

02/17/2010 18:37 gangsta119#1
Ok so Snow and Para (coders and owners of Conquer 3.0) are releasing a few codes to solve the bugs on all 5165 sources. The main and major bug everyone has problems with is WeaponMaster (item upgrading) seems to give every brilliant attack unless they relog. So we have coded it so it disconnects you. But you have otpion to continue upgrading so you dont have to keep dcin every single upgrade. Here it is.

Code:
                            #region WeaponMaster
                            case 7050:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("I can upgrade your items here for a DB each time. But remember for changes to take effect you need to click Finish when done."));
                                        GC.AddSend(Packets.NPCLink("Upgrade.", 10));
                                        GC.AddSend(Packets.NPCLink("Hmmmmm.", 255)); 
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                        GC.Agreed = false;
                                    }
                                    else if (Control == 10)
                                    {
                                        GC.AddSend(Packets.NPCSay("Choose the equipment you want to upgrade."));
                                        GC.AddSend(Packets.NPCLink("Headgear", 1));
                                        GC.AddSend(Packets.NPCLink("Necklace/Bag", 2));
                                        GC.AddSend(Packets.NPCLink("Armor", 3));
                                        GC.AddSend(Packets.NPCLink("Weapon", 4));
                                        GC.AddSend(Packets.NPCLink("Shield", 5));
                                        GC.AddSend(Packets.NPCLink("Ring", 6));
                                        GC.AddSend(Packets.NPCLink("Boots", 8));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    else if (Control == 65)
                                    {
                                        GC.Disconnect();
                                    }
                                    else if (Control >= 1 && Control <= 8)
                                    {
                                        Game.Item I = GC.MyChar.Equips.Get(Control);
                                        byte PrevLevel = I.DBInfo.LevReq;

                                        Game.ItemIDManipulation IMan = new NewestCOServer.Game.ItemIDManipulation(I.ID);
                                        IMan.IncreaseLevel();

                                        DatabaseItem Di = (DatabaseItem)Database.DatabaseItems[IMan.ToID()];

                                        byte NewLevel = Di.LevReq;
                                        if (NewLevel > PrevLevel)
                                        {
                                            if (GC.MyChar.Level >= NewLevel)
                                            {
                                                if (!GC.Agreed)
                                                {
                                                    GC.AddSend(Packets.NPCSay("You need a DragonBall. Are you ready?"));
                                                    GC.AddSend(Packets.NPCLink("Upgrade it.", Control));
                                                    GC.AddSend(Packets.NPCLink("Forget it.", 255)); 
                                                    GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                    GC.AddSend(Packets.NPCFinish());
                                                    GC.Agreed = true;
                                                }
                                                else
                                                {
                                                    GC.Agreed = false;
                                                    if (GC.MyChar.InventoryContains(1088000, 1))
                                                    {

                                                        GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
                                                        I.ID = IMan.ToID();

                                                        GC.MyChar.Equips.Replace(Control, I, GC.MyChar);
                                                        GC.MyChar.EquipStats(Control, true);

                                                        GC.AddSend(Packets.NPCSay("If you are done upgrading click finish for attack changes to take effect!"));
                                                        GC.AddSend(Packets.NPCLink("Finished", 65));
                                                        GC.AddSend(Packets.NPCLink("Upgrade More First", 10));
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish());

                                                    }
                                                    else
                                                    {
                                                        GC.AddSend(Packets.NPCSay("You don't have a DragonBall."));
                                                        GC.AddSend(Packets.NPCLink("Oh hold on.", 255));  
                                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                        GC.AddSend(Packets.NPCFinish()); 
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                GC.AddSend(Packets.NPCSay("You aren't high level enough to wear the item after upgrading."));
                                                GC.AddSend(Packets.NPCLink("Alright.", 255));
                                                GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                                GC.AddSend(Packets.NPCFinish());
                                            }
                                        }

                                    }
                                    else
                                    {
                                        GC.AddSend(Packets.NPCSay("The item cannot be upgraded anymore."));
                                        GC.AddSend(Packets.NPCLink("Alright.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());
                                    }
                                    break;
                                }
                            #endregion
And thats a solution for people who dont know or dont want to spend loads of time changing the attack percentages.


THIS NEXT CODE is a VOTING NPC on a Gm Map that only gms can access. Once they click the vote link on the NPC everybody online will have a Vote page load up for your extreme top 100 URL....

Add this to NPC Dialog.cs

Code:
                            #region Vote server
                            case 98275:
                                {
                                    if (Control == 0)
                                    {
                                        GC.AddSend(Packets.NPCSay("Load all accounts online with vote page"));
                                        GC.AddSend(Packets.NPCLink("Yep", 1));
                                        GC.AddSend(Packets.NPCLink("Nope not right now.", 255));
                                        GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                        GC.AddSend(Packets.NPCFinish());

                                    }
                                    if (Control == 1)
                                    {
                                        if (GC.MyChar.Silvers >= 0)
                                        {
                                            GC.MyChar.Silvers += 1;
                                            Game.World.SendMsgToAll("SYSTEM", "http://www.xtremetop100.com/in.php?site=1132301192", 2105, 0);
                                        }
                                        else
                                        {
                                            GC.AddSend(Packets.NPCSay("...."));
                                            GC.AddSend(Packets.NPCLink("....", 255));
                                            GC.AddSend(Packets.NPCSetFace(N.Avatar));
                                            GC.AddSend(Packets.NPCFinish());
                                        }
                                    }
                                    break;
                                }
                            #endregion
ADD THIS TO NPC.txt in OLDCODB : 98275 5890 2 0 1213 395 393

LAST ADD THIS TO Chat.cs in packet handling. or copy and paste in visual c#
}
if (Cmd[0] == "/scroll")
{
}
if (Cmd[1] == "gmspot")
{
GC.MyChar.Teleport(1213, 400, 400);

Dont forget to replace our xtreme top 100 url with your own. also we are selling fully fixed sources 5165 and 5095 and are giving out free help at [Only registered and activated users can see links. Click Here To Register...] in return for a vote. HAVE FUN ALL !! >.>
02/17/2010 18:51 paralyzer2#2
Nice xD +thanks
02/17/2010 19:05 ramix#3
lool that not fix the atack loool... because ppl get damage negative cause overpower...

if ppl do new item can get overpower if they not chance the damage calculation...
02/17/2010 19:21 gangsta119#4
The attack rate is actually fine....... Not really that far out..... the problem is u need to disconnect for it to actually take effect try it yourself on 5165. so if u disconnect attack rates are perfect. Now if attack rates wasnt fine in the source then how woulkd they be fine on a relog dumb shit -.-. TAKE THE CODE OR GO TO BED. Keep your gay opinion to yourself.
02/17/2010 19:45 ramix#5
omfg

you go kick all players 30 min in 30 min because they get overpower...

go learn first -.-

in all servers i play 5165 ppl get overpower in 20 min kill player or killing guards...
02/17/2010 19:50 -Shunsui-#6
@ gangsta Language,

And ramix is right Disconecting the players wount do nothing, i also have this bug. Only way the bug Can stop is Restarting the Whole Server "Console" I Really dont know if its the attack Calc's or what, so i really dont know whats causing it
02/17/2010 19:53 xSynthesis#7
That vote server NPC seems usefull but you gotta make it much simple. Like just adding a command instead of that NPC, NPC spawn and a command to go to NPC where its located at.

All you gonna do is copy/paste this code to chat.cs

Code:
                                    if (Cmd[0] == "/vote")
                                    {
                                        Game.World.SendMsgToAll("SYSTEM", "http://www.xtremetop100.com/in.php?site=1132301192", 2105, 0);
                                    }
Didn't test it yet.
02/17/2010 20:00 -Shunsui-#8
Yeah i was also looking at that you Can simply Just let a PM/GM Do,

Code:
if (Cmd[0] == "/sendvote")
                            {
                                Game.World.SendMsgToAll("SYSTEM", "http://www.xtremetop100.com/in.php?site=1132301192", 2105, 0);
                            }
And to let you know on your NPC idk if you notice but that +1 Silver there under the Link it adds it to the account who talked to the NPC not everyone in the Server, Just letting you know.
02/17/2010 20:21 LegalConquer#9
Quote:
Originally Posted by -Shunsui- View Post
@ gangsta Language,

And ramix is right Disconecting the players wount do nothing, i also have this bug. Only way the bug Can stop is Restarting the Whole Server "Console" I Really dont know if its the attack Calc's or what, so i really dont know whats causing it
on my server its fine unless u use wepon master 0.0
or reborn but i fixed the reborn overpower .
and on weapon master im designing a timer so people can upgrade all their weapons and if its been more than 30seconds since the last weapon upgrade then it dc's them. i think its a simple fix even though it seems annoying -.-
02/18/2010 06:06 jitus2#10
Hello gangsta119.
On my server I have the same problem with the fencing master, you must disconnect and reconnect to the damage of the item are no longer bugé.
With your code it is automatically disconnected, but it's enough for players to click on the cross in the dialog box after you level up the item so they can enjoy the bugs without being disconnected ...
Do you have a solution?
Otherwise thank you for the code and sorry for my English.
02/18/2010 19:06 gangsta119#11
JESUS CHRIST. Ive been working with 5165 longer than you guys. If your disocnnect and relog attacks are set back to how they should be. Try it if you dont believe me =)

As for the vote NPC it doesnt really matter. Im gonna add alot more NPC'S in the gm spot ;)

its cool :P

oh and as owner of Conquer 3 with paralyzer. I guess u cant critisize us as we are in top 50 pvt servers and we only been on list for half a week and server status is offline lol . HAPPY HUNTING
02/18/2010 20:48 copz1337#12
you say "Conquer 3" and give web link to advertise. this isnt an advertising section #request remove link (as the mods have done it to me before)
02/19/2010 11:06 gangsta119#13
This is the solution for people being caught cheating using the bug!

Code:
    if (Cmd[0] == "/arrest")
                            {
                                Game.Character C = Game.World.CharacterFromName(Cmd[1]);
                                if (C != null && C != GC.MyChar)
                                C.Teleport(6000, 032, 072);
                                C.PKPoints = 50;
                                C.Trading = false;
                                C.CurHP = 1;
                                C.Stamina = 0;
                                Game.World.SendMsgToAll("+ C.Name + ", "I'm a Biggest Idiot and I win 50pkp And im send to jail. Thanks" + GC.MyChar.Name + "[GM]/[PM]", 2011, 0);
                            }
As for advertising my server. I just put a link to access the site and a vote link. And ive link backed there forum. So if they wanna waste there time banning me thats fine when im trying to help the community. I can unban myself as easy as making a cup of tea =). chow
03/03/2010 06:53 eleven#14
umm the npc doesn't work. says i do not do anything useful yet, any ideas?
03/03/2010 06:53 Arcо#15
You prolly don't have the id correct.
Make sure you double check.