How to fix GuildDirector

01/08/2014 11:48 blablabla148#1
I have two problems a Guild Leader can make xxx Deputy Leader's and the next one to make a guild cost 1kk CPs I want to change 1kk Silver..

Code:
#region GuildDirector
                            case 10003:
                                {
                                    switch (npcRequest.OptionID)
                                    {
                                        case 0:
                                            {
                                                dialog.Text("Hello there. Do you want to create a new guild? You need level 90 and 1,000,000 ConquerPoints and you have to not belong to any guild. If you are a guild leader, then you can name 5 deputy leaders.");
                                                dialog.Option("Create guild.", 1);
                                                dialog.Option("Name deputy leader.", 3);
                                                //dialog.Option("Weird  Named Deputy leader.", 16);
                                                dialog.Option("Move leadership.", 6);
                                                dialog.Option("Disband guild.", 9);
                                                //dialog.Option("Remove ins From my items.", 15);
                                                dialog.Option("I don't have that.", 255);
                                                dialog.Send();
                                                break;
                                            }
                                        default:
                                            {
                                                var member = client.Guild.Members.Values.Where(x => x.Name.StartsWith("~")).OrderBy(z => z.ID).ToArray()[npcRequest.OptionID - 100];
                                                if (member.Rank != Conquer_Online_Server.Game.Enums.GuildMemberRank.Member)
                                                {
                                                    dialog.Text("You cannot promote this member anymore.");
                                                    dialog.Option("Ah, nevermind.", 255);
                                                    dialog.Send();
                                                    return;
                                                }
                                                else
                                                {
                                                    member.Rank = Conquer_Online_Server.Game.Enums.GuildMemberRank.DeputyLeader;
                                                    if (member.IsOnline)
                                                    {
                                                        client.Guild.SendGuild(member.Client);
                                                        member.Client.Entity.GuildRank = (ushort)member.Rank;
                                                        member.Client.Screen.FullWipe();
                                                        member.Client.Screen.Reload(null);
                                                    }
                                                    dialog.Text("You have prometed " + member.Name + "to be a DeputyLeader");
                                                    dialog.Option("cool!", 255);
                                                    dialog.Send();
                                                    client.Guild.DeputyLeaderCount++;
                                                    Database.EntityTable.UpdateGuildRank(member.ID, member.Rank);
                                                }
                                                break;
                                            }
                                        case 16:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    var invchar = client.Guild.Members.Values.Where(x => x.Name.StartsWith("~")).OrderBy(z => z.ID).ToArray();
                                                    if (invchar.Length == 0)
                                                    {
                                                        dialog.Text("You don't have any members that start with weird char!.");
                                                        dialog.Option("Ahh.", 255);
                                                        dialog.Send();
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("choose one!.");
                                                        for (int i = 0; i < invchar.Length; i++)
                                                        {
                                                            dialog.Option(invchar[i].Name, (byte)(100 + i));
                                                        }
                                                        dialog.Send();
                                                    }

                                                }
                                                else
                                                {
                                                    dialog.Text("You don't meet the requierments.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 15:
                                            {
                                                if (client.Guild != null)
                                                {
                                                    dialog.Text("Sorry you Already in guild i cant help you, need to Quit so i can help You.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    //Conquer_Online_Server.Database.ConquerItemTable.deleteallguildins(client);
                                                    dialog.Text("Congratulations, all your items is back to normal status again, Now you need to Relog!");
                                                    dialog.Option("Thanks, i'll relog.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 9:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    dialog.Text("Are you sure you want to disband your guild?");
                                                    dialog.Option("Yes.", 10);
                                                    dialog.Option("Ah, nevermind.", 255);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("You don't meet the requierments.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 10:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    client.Guild.Disband();
                                                }
                                                break;
                                            }
                                        case 6:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    dialog.Text("Input here the member name you want to promote as guild leader.");
                                                    dialog.Input("Here:", 7, 16);
                                                    dialog.Option("Ah, nevermind.", 255);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("You don't meet the requierments.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 7:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    if (npcRequest.Input != "")
                                                    {
                                                        string lookingFor = npcRequest.Input.Replace(" ", "").Replace("~", "");
                                                        var member = client.Guild.Members.Values.FirstOrDefault((p) => p.Name.Replace(" ", "").Replace("~", "") == lookingFor);

                                                        if (member == null)
                                                        {
                                                            dialog.Text("There is no such member in your guild.");
                                                            dialog.Option("Ah, nevermind.", 255);
                                                            dialog.Send();
                                                            return;
                                                        }
                                                        else
                                                        {
                                                            if (member.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                            {
                                                                dialog.Text("You cannot promote this member anymore.");
                                                                dialog.Option("Ah, nevermind.", 255);
                                                                dialog.Send();
                                                                return;
                                                            }
                                                            else
                                                            {
                                                                client.Entity.GuildBattlePower = 0;
                                                                client.AsMember.Rank = member.Rank;
                                                                EntityTable.UpdateGuildRank(client.Entity.UID, member.Rank);
                                                                member.Rank = Game.Enums.GuildMemberRank.GuildLeader;
                                                                EntityTable.UpdateGuildRank(member.ID, member.Rank);
                                                                if (member.IsOnline)
                                                                {
                                                                    var memberClient = member.Client;
                                                                    member.Client.Entity.GuildBattlePower = 0;
                                                                    memberClient.Entity.GuildRank = (ushort)member.Rank;
                                                                    memberClient.Screen.FullWipe();
                                                                    memberClient.Screen.Reload(null);
                                                                    memberClient.Guild.SendGuild(memberClient);
                                                                }
                                                                client.Entity.GuildRank = (ushort)client.AsMember.Rank;
                                                                client.Screen.FullWipe();
                                                                client.Screen.Reload(null);
                                                                client.Guild.SendGuild(client);
                                                                client.Guild.GetMaxSharedBattlepower(true);
                                                            }
                                                        }
                                                    }
                                                }
                                                break;
                                            }
                                        case 3:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    dialog.Text("You have now " + client.Guild.DeputyLeaderCount + " named deupty leaders.");
                                                    if (client.Guild.DeputyLeaderCount == 8)
                                                    {
                                                        dialog.Text("You cannot name any other deupty leader.");
                                                        dialog.Option("Ah, nevermind.", 255);
                                                        dialog.Send();
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Input here the member name you want to promote as deputy leader.");
                                                        dialog.Input("Here:", 4, 16);
                                                        dialog.Option("Ah, nevermind.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("You don't meet the requierments.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 4:
                                            {
                                                if (client.Guild != null && client.AsMember.Rank == Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
                                                {
                                                    if (npcRequest.Input != "")
                                                    {
                                                        string lookingFor = npcRequest.Input.Replace(" ", "~");
                                                        var member = client.Guild.Members.Values.FirstOrDefault((p) => p.Name == lookingFor);

                                                        if (member == null)
                                                        {
                                                            dialog.Text("There is no such member in your guild.");
                                                            dialog.Option("Ah, nevermind.", 255);
                                                            dialog.Send();
                                                            return;
                                                        }
                                                        else
                                                        {
                                                            if (member.Rank != Conquer_Online_Server.Game.Enums.GuildMemberRank.Member)
                                                            {
                                                                dialog.Text("You cannot promote this member anymore.");
                                                                dialog.Option("Ah, nevermind.", 255);
                                                                dialog.Send();
                                                                return;
                                                            }
                                                            else
                                                            {
                                                                member.Rank = Conquer_Online_Server.Game.Enums.GuildMemberRank.DeputyLeader;
                                                                if (member.IsOnline)
                                                                {
                                                                    client.Guild.SendGuild(member.Client);
                                                                    member.Client.Entity.GuildRank = (ushort)member.Rank;
                                                                    member.Client.Screen.FullWipe();
                                                                    member.Client.Screen.Reload(null);
                                                                    member.Client.Entity.GuildBattlePower = member.Guild.GetSharedBattlepower(member.Rank);
                                                                }
                                                                client.Guild.DeputyLeaderCount++;
                                                            }
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Please input the name of the person you want to Deputilize.");
                                                        dialog.Option("Ah, Ok.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("You are not the guild leader of the current guild you are in.");
                                                    dialog.Option("Ah, Ok.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 1:
                                            {
                                                if (client.Guild == null && client.Entity.Level >= 90 && client.Entity.Money >= 500000)
                                                {
                                                    dialog.Text("Name your guild. The name must have less than 16 characters of any type.");
                                                    dialog.Input("Here:", 2, 16);
                                                    dialog.Option("Ah, nevermind.", 255);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("You don't meet the requierments.");
                                                    dialog.Option("Ahh.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 2:
                                            {
                                                if (client.Guild == null && client.Entity.Level >= 90 && client.Entity.ConquerPoints >= 1000000)
                                                {
                                                    if (npcRequest.Input != "" && npcRequest.Input.Length > 3 && npcRequest.Input.Length < 16)
                                                    {
                                                        if (!Guild.CheckNameExist(npcRequest.Input))
                                                        {
                                                            
                                                            client.Entity.ConquerPoints -= 1000000;
                                                            Guild guild = new Guild(client.Entity.Name);
                                                            guild.ID = Guild.GuildCounter.Next;
                                                            guild.SilverFund = 1000000;
                                                            client.AsMember = new Conquer_Online_Server.Game.ConquerStructures.Society.Guild.Member(guild.ID)
                                                            {
                                                                SilverDonation = 1000000,
                                                                ID = client.Entity.UID,
                                                                Level = client.Entity.Level,
                                                                Name = client.Entity.Name,
                                                                Rank = Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader,
                                                            };
                                                            if (client.NobilityInformation != null)
                                                            {
                                                                client.AsMember.Gender = client.NobilityInformation.Gender;
                                                                client.AsMember.NobilityRank = client.NobilityInformation.Rank;
                                                            }

                                                            client.Entity.GuildID = (ushort)guild.ID;
                                                            client.Entity.GuildRank = (ushort)Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader;
                                                            guild.Leader = client.AsMember;
                                                            client.Guild = guild;
                                                            guild.Create(npcRequest.Input);
                                                            guild.Name = npcRequest.Input;
                                                            guild.MemberCount++;
                                                            guild.SendGuild(client);
                                                            guild.SendName(client);
                                                            Database.GuildArsenalTable.Insert(guild.ID);
                                                            client.Screen.FullWipe();
                                                            client.Screen.Reload(null);
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("There is a Guild Already with this Name i'm sorry.");
                                                            dialog.Option("Choose another Name", 1);
                                                            dialog.Option("Ok Sorry.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                }
                                                break;
                                            }
                                    }
                                    break;
                                }
                            #endregion
01/08/2014 22:58 bashondegek#2
To change the CPs to Money, replace your 'case2' with the code below

PHP Code:
                       case 2:
                                            {
                                                if (
client.Guild == null && client.Entity.Level >= 90 && client.Entity.Money >= 1000000)
                                                {
                                                    if (
npcRequest.Input != "" && npcRequest.Input.Length && npcRequest.Input.Length 16)
                                                    {
                                                        if (!
Guild.CheckNameExist(npcRequest.Input))
                                                        {
                                                            
                                                            
client.Entity.Money -= 1000000;
                                                            
Guild guild = new Guild(client.Entity.Name);
                                                            
guild.ID Guild.GuildCounter.Next;
                                                            
guild.SilverFund 1000000;
                                                            
client.AsMember = new Conquer_Online_Server.Game.ConquerStructures.Society.Guild.Member(guild.ID)
                                                            {
                                                                
SilverDonation 1000000,
                                                                
ID client.Entity.UID,
                                                                
Level client.Entity.Level,
                                                                
Name client.Entity.Name,
                                                                
Rank Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader,
                                                            };
                                                            if (
client.NobilityInformation != null)
                                                            {
                                                                
client.AsMember.Gender client.NobilityInformation.Gender;
                                                                
client.AsMember.NobilityRank client.NobilityInformation.Rank;
                                                            }

                                                            
client.Entity.GuildID = (ushort)guild.ID;
                                                            
client.Entity.GuildRank = (ushort)Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader;
                                                            
guild.Leader client.AsMember;
                                                            
client.Guild guild;
                                                            
guild.Create(npcRequest.Input);
                                                            
guild.Name npcRequest.Input;
                                                            
guild.MemberCount++;
                                                            
guild.SendGuild(client);
                                                            
guild.SendName(client);
                                                            
Database.GuildArsenalTable.Insert(guild.ID);
                                                            
client.Screen.FullWipe();
                                                            
client.Screen.Reload(null);
                                                        }
                                                        else
                                                        {
                                                            
dialog.Text("There is a Guild Already with this Name i'm sorry.");
                                                            
dialog.Option("Choose another Name"1);
                                                            
dialog.Option("Ok Sorry."255);
                                                            
dialog.Send();
                                                        }
                                                    }
                                                }
                                                break;
                                            } 
And your DeputyCount:
Look for this in your code:
PHP Code:
if (client.Guild.DeputyLeaderCount == 8
and change the '8' to the number of Deputyleaders you want as maximum ;)
01/08/2014 23:09 blablabla148#3
Thanks :-)))
01/08/2014 23:12 bashondegek#4
You are welcome. :)