PDA

View Full Version : سوال: نامفهوم بودن نام متد بعد از دیکامپایل



clacki
یک شنبه 18 آبان 1393, 19:59 عصر
سلام دوستان عزیز.
ما در زمان های دور یک برنامه نوشتیم این برنامه رو الان یک جاشو گیر کردیم که چه کدی قرار بدین تا کامپایل بشه و ... :افسرده:
ممنون میشم کمک کنید.
توی لاین 14 نوشتن what is this انجا رو باید تغییر بدین تا برنامه اوکی شه و یک خروجی ساده dll تحویل بده.


using Addon;
using System;
using System.Collections.Generic;
using System.Globalization;

namespace PermissionsPlugin
{
public class Permissions : CPlugin
{
private List<string> _userGroups;

public Permissions()
{
base.what is this();

}

public virtual void OnServerLoad()
{
this.ServerPrint("Permission plugin updated by jjo");
this.CheckAndSetPermissionConfiguration();
this.InitUserGroups();
}

public virtual ChatType OnSay(string message, ServerClient client, bool teamchat)
{
string str1 = message.ToLower().Split(' ')[0];
string userGroup = this.GetUserGroup(client.get_XUID());
List<string> commandsAllowedInGroup = this.GetCommandsAllowedInGroup(userGroup);
switch (str1)
{
case "!getxuid":
case "!gettype":
this.TellClient(client.get_ClientNum(), str1 == "!getxuid" ? string.Format("Your XUID is: {0}", (object) client.get_XUID()) : string.Format("Your user type is: {0}", (object) userGroup), true);
return (ChatType) 1;
case "!help":
case "!cmdlist":
string str2 = "^1Commands you can use: ^7";
for (int index = 0; index < commandsAllowedInGroup.Count; ++index)
str2 = index != commandsAllowedInGroup.Count - 2 ? (index != commandsAllowedInGroup.Count - 1 ? str2 + commandsAllowedInGroup[index] + "^1,^7 " : str2 + commandsAllowedInGroup[index] + "^1.") : str2 + commandsAllowedInGroup[index] + "^1 and^7 ";
this.TellClient(client.get_ClientNum(), str2, true);
return (ChatType) 1;
default:
string serverCfg = this.GetServerCFG("Permission", "Protected_xuids", "");
string[] strArray = this.GetServerCFG("Permission", "Protected_commands", "").Split(',');
ServerClient serverClient = this.DeterminePlayer(message);
if (serverClient != null && serverCfg.Length > 0 && strArray.Length > 0)
{
foreach (string str3 in strArray)
{
if (str1 == str3 && serverCfg.Contains(serverClient.get_XUID()))
{
this.TellClient(client.get_ClientNum(), string.Format("[^1Permissions^7] ^:You aren't allowed to use ^7{0} ^:command against ^7{1}", (object) str3, (object) serverClient.get_Name()), true);
return (ChatType) 1;
}
}
}
if (new List<string>((IEnumerable<string>) this.GetServerCFG("Permission", "Immune_groups", "Admin").Split(',')).Contains(userGroup) || !str1.StartsWith("!") || commandsAllowedInGroup.Contains(str1))
return (ChatType) 0;
this.TellClient(client.get_ClientNum(), "[^1Permissions^7] ^:You aren't allowed to use that command!", true);
return (ChatType) 1;
}
}

private void CheckAndSetPermissionConfiguration()
{
foreach (ConfigurationOption configurationOption in new List<ConfigurationOption>()
{
new ConfigurationOption()
{
Name = "Usergroups",
Value = "Admin,Moderator,User"
},
new ConfigurationOption()
{
Name = "Admin_xuids",
Value = ""
},
new ConfigurationOption()
{
Name = "Admin_commands",
Value = "*ALL*"
},
new ConfigurationOption()
{
Name = "Moderator_xuids",
Value = ""
},
new ConfigurationOption()
{
Name = "Moderator_commands",
Value = "!help,!getxuid,!gettype"
},
new ConfigurationOption()
{
Name = "User_commands",
Value = "!help,!getxuid,!gettype"
},
new ConfigurationOption()
{
Name = "User_xuids",
Value = "*EVERYONE*"
}
})
{
if (this.GetServerCFG("Permission", configurationOption.Name, "x_x") == "x_x")
this.SetServerCFG("Permission", configurationOption.Name, configurationOption.Value);
}
}

private void InitUserGroups()
{
this._userGroups = new List<string>((IEnumerable<string>) this.GetServerCFG("Permission", "Usergroups", "Admin,Moderator,User").Split(','));
}

private List<string> GetUsersInGroup(string groupName)
{
return new List<string>((IEnumerable<string>) this.GetServerCFG("Permission", groupName + "_xuids", "").Split(','));
}

private List<string> GetCommandsAllowedInGroup(string groupName)
{
return new List<string>((IEnumerable<string>) this.GetServerCFG("Permission", groupName + "_commands", "").Split(','));
}

private string GetUserGroup(string xuid)
{
foreach (string groupName in this._userGroups)
{
List<string> usersInGroup = this.GetUsersInGroup(groupName);
if (usersInGroup.Contains(xuid) || usersInGroup[0] != null && usersInGroup[0].Equals("*EVERYONE*"))
return groupName;
}
return "User";
}

private ServerClient DeterminePlayer(string msg)
{
string str1 = msg;
char[] chArray = new char[1]
{
' '
};
foreach (string str2 in str1.Split(chArray))
{
using (List<ServerClient>.Enumerator enumerator = this.GetClients().GetEnumerator())
{
while (enumerator.MoveNext())
{
ServerClient current = enumerator.Current;
if (current.get_ClientNum().ToString((IFormatProvider ) CultureInfo.InvariantCulture) == str2 || current.get_Name().ToLower() == str2 || current.get_Name().ToLower().Contains(str2))
return current;
}
}
}
return (ServerClient) null;
}
}
}

Mori Bone
یک شنبه 18 آبان 1393, 20:28 عصر
توی کلاس cplugin اسم اون کلاستون رو که چند حرفش معلوم رو پیدا کنید

clacki
یک شنبه 18 آبان 1393, 20:35 عصر
توی کلاس cplugin اسم اون کلاستون رو که چند حرفش معلوم رو پیدا کنید

این پلاگین من با چند تا از بچه ها کمک کردیم چند سال پیش ساختیم برای سرور گیممون البته بگم حدود 30 تا از ایناس :لبخند: توی 2 3 تاش موندم.
کد های پروژه گم شده

clacki
دوشنبه 19 آبان 1393, 00:04 صبح
توی کلاس cplugin اسم اون کلاستون رو که چند حرفش معلوم رو پیدا کنید
توی لاین 14 دقیقآ این رو نوشته بود.
base.\u002Ector();
دوستان الان میدونن از کدوم class استفاده کنم؟



دوستان من میدونم باید این Class پیدا کرد ولی چطوری ..
همونطور که گفتم ..... :متفکر:
اگر لیست کلاس های جامعی هست ممنون میشم راهنمایی کنید. :لبخندساده:

مهرداد صفا
دوشنبه 19 آبان 1393, 20:47 عصر
سلام.
1- دوست من اینجا همه در نوشتن برنامه در زبان CSharp مشکل دارند. لطفا هرچه سریعتر عنوان تاپیک رو تغییر بدید
2- class با method فرق داره.
3- همون سازنده کلاس پایه رو فراخوانی کرده. اون خط رو حذف کنید!!