[Plugin] SampSharp - Write gamemodes in .NET
#73

Quote:
Originally Posted by Sithis
Посмотреть сообщение
Hi nighthammer, that's very easy:

You can create a method and tag it with [Command("commandname")]. This will create a command called /commandname and the method underneath it will be used to handle the command. Example:

PHP код:
        [Command("group")] // Displays information about a group.
        
public static void group(Player playerstring name)
        {
            
Boolean groupFound false;
            foreach (
Group group in Core.GroupList)
            {
                if (
group.Name == name)
                {
                    
// We found a math for this group, continue!
                    
groupFound true;
                    
player.SendClientMessage("[Group] " group.Name " (" group.GroupType " group)");
                }
                break;
            }
            if (!
groupFound)
            {
                
player.SendClientMessage(Color.IndianRed"[Error] Group '" name "' could not be found.");
            }
        } 
It does not matter what the name of the method is. As long as you tag it as a command using [Command("commandname")], the method will be called when the command is sent.

The arguments of the method will tell SampSharp what kind of arguments the command accepts! The first argument, player, will always be needed. You can add integers, strings, whatever as arguments and use them in the command! In the example above, string name is used to ask for the group name that the player wants information about.

If incorrent command arguments are given by a player, SampSharp will automatically correct the player by sending Usage: /group [name].

It cannot be simpler!

If you have any other questions, i'm more than happy to help you out.
This is a good explanation of the basics of the commands system, but there is a little more to know.

Defining and detection of parameter types
By default SA-MP# looks at the parameters of the method to determine the parameters of the command. The parameter types it can automatically detect are: int, float, string*, GtaPlayer or any subclass of GtaPlayer and any enumerator(e.g. VehicleModelType).

Notice that by default SA-MP# thinks that you want a single word as argument when a method accepts a string:
PHP код:
[Command("tell")]
public static 
void TellCommand(Player senderPlayer receiverstring message)
{
    
//..

In this example players can only send a single world to players using the /tell [receiver] [message] command.

If you want the string parameter to accept text instead of a single word, you need to mark it as a text parameter:
PHP код:
[Command("tell")]
[
Text("message")]
public static 
void TellCommand(Player senderPlayer receiverstring message)
{
    
//..

It might be good to know that what actually happens when a command is loaded, is that it calls the following delegate for every parameter that does not yet have an attribute associated with it:
PHP код:
public class DetectedCommand Command
{
    
//...
    
public static Func<TypestringParameterAttributeResolveParameterType getset; }
    
//...
    // default value:
    
ResolveParameterType = (typename) =>
            {
                if (
type == typeof (int)) return new IntegerAttribute(name);
                if (
type == typeof (string)) return new WordAttribute(name);
                if (
type == typeof (float)) return new FloatAttribute(name);
                if (
typeof (GtaPlayer).IsAssignableFrom(type)) return new PlayerAttribute(name);
                return 
type.IsEnum ? new EnumAttribute(nametype) : null;
            };

So when it has resolved every parameter of the tell command, the method internally looks like this:

PHP код:
[Command("tell")]
[
Player("receiver")]
[
Text("message")]
public static 
void TellCommand(Player senderPlayer receiverstring message)
{
    
//..

Methods

There are two places where you can define you commands: a static method anywhere in your code, or in your player class. I haven't checked this but AFAIK the command method must be public!

-player class
If you have a Player class which is a sub class of GtaPlayer, you can put the commands straight in there:
PHP код:
class Player GtaPlayer
{
  
//...
  
[Command("help")]
  public 
void HelpCommand()
  {
    
//...
  
}
  
//...

Notice the method is not static and should not accept a `Player sender` parameter as first argument. If you put a Player argument in there ( HelpCommand(Player x) ) SA-MP# will think it's an parameter of the command.

-a static method
Can be placed in any public class. Accepts a Player as first parameter which is the sender
PHP код:
public class AnyClass
{
  [
Command("help")]
  public static 
void HelpCommand(Player sender)
  {
    
//...
  
}

permission check
If you create admin commands, you obviously do not want any odd player to be able to use the command.

In the Command attribute you can specify various properties, including the "PermissionCheckMethod".

PHP код:
public class AnyClass
{
  public static 
bool IsAdmin(Player player)
  {
      return 
player.AdminLevel 0;
  }
  [
Command("adminhelp"PermissionCheckMethod="IsAdmin")]
  public static 
void AdminHelpCommand(Player sender)
  {
    
//...
  
}
}
// or
class Player GtaPlayer
{
  
// ...
  
public bool IsAdmin()
  {
      return 
AdminLevel 0;
  }
  [
Command("adminhelp"PermissionCheckMethod="IsAdmin")]
  public 
void AdminHelpCommand()
  {
    
//...
  
}
  
// ...

Notice that in the Player class, the specified permission check method is not static, and accepts no parameters.

If you return false in the permission check method, SA-MP# will not call the command. If you return true, it will.

command groups
If you don't want to use command groups, skip this chapter
You can group commands together. If you, for example, want to use the following commands structure, this can be helpful for you:

Код:
/help
/player menu -or- /p menu -or- /menu
/player status -or- /p status
/admin player kick [player] -or- /admin p kick [player] -or- /a player kick [player] -or- /a p kick [player] -or- /kick [player]
/admin player ban [player] -or- /admin p ban [player] -or- /a player ban [player] -or- /a p ban [player]
/admin serverstatus -or- /a serverstatus
/admin restartserver -or- /a restartserver
You can register groups using the following function:
PHP код:
CommandGroup.Register(string namestring alias nullCommandGroup parent null); 
As you can see you can also nest command groups inside other command groups.

You can implement all commands listed above like this:
(I'm not checking for permissions here, just showing how command groups work)

PHP код:
//Somewhere near you initialization code...
CommandGroup.Register("player""p");
var 
admin CommandGroup.Register("admin""a");
CommandGroup.Register("player""p"admin);
// In some class...
[Command("help")]
public static 
void Help(Player s) {}
[
Command("menu"Shortcut="menu")]
[
CommandGroup("player")] // specify the group this command is in
public static void PlayerMenu(Player s) {}
[
Command("status")]
[
CommandGroup("player")]
public static 
void PlayerStatus(Player s) {}
[
Command("kick"Shortcut="kick")]
[
CommandGroup("admin""player")]
public static 
void AdminPlayerKick(Player sPlayer kickee) {}
[
Command("ban")]
[
CommandGroup("admin""player")]
public static 
void AdminPlayerBan(Player sPlayer banee) {}
[
Command("serverstatus")]
[
CommandGroup("admin")]
public static 
void AdminServerstatus(Player s) {}
[
Command("restartserver")]
[
CommandGroup("admin")]
public static 
void AdminRestartserver(Player s) {} 
I've had problems with bugs in this system before. I am 99% sure I've fixed them all. If this is not the case, please sent me an issue or post here, I'll then fix it asap!

In the example above, I've given all command groups aliases and given the menu and kick commands a shortcut.
It is also possible to give a command an alias:
PHP код:
[Command("kick"Alias="kick")] 
If you decide not to use command groups, there is no difference between aliases and shortcuts.
If you do use command groups, there is. For example, you have The following command:
PHP код:
[Command("b"Alias="c"Shortcut="d")]
[
CommandGroup("a""e")]
public static 
void abc(Player x){} 
You can call this command using any of following commands:
/a b
/a c
/e b
/e c
/d

As you can see, if you decide to call the command using the shortcut, you do not need to type in the command group. If you decide to call the command using the alias, you still need to enter the command group(or an alias of the command group)


Ignore case
By default, SA-MP# ignores the case of commands both /help and /HeLP will call a command tagged with [Command("help")]. However, if you do not wish this to happen you can disable this:

PHP код:
// the /CAPSLOCK command
[Command("CAPSLOCK"IgnoreCase=false)]
public static 
void something(Player s) {} 
Return types
You can also make a command return a boolean. If it returns true, SA-MP# will assume the command has successfully been executed. If it returns false, SA-MP# will assume the command has not been executed and will show the "unknown command" message to the player.

Example:
PHP код:
[Command("something")]
public static 
bool something(Player s)
{
    if(!
s.CanDoSomething) return false;
    
s.SendClientMessage("You did something!");
    return 
true;

It's basically the same as the PermissionCheckMethod property in the Command attribute, but then you can check for permission within the command method itself.

Inheriting the Command class
If you do not want to use all the attributes and things explained above, you can also inherit from the Command class:
https://github.com/ikkentim/SampShar...nds/Command.cs

I'm not going to show an example of how to do this, because the system explained above is much easier, flexible and useful.

But if you decide to create a sub class of Command, you need to create an instance of it once to allow SA-MP# to find it:
PHP код:
//Somewhere near you initialization code...
new MyAwesomeCommand(); 
Creating custom parameter attributes

Lets say you have a Street class
PHP код:
class Street
{
  public 
string Name get; private set;}
  
//Lots more info...

and you want to allow players to type /goto [streetname]

you can create a custom attribute:

PHP код:
    public class StreetAttribute WordAttribute
    
{
        public 
StreetAttribute(string name)
            : 
base(name)
        {
        }
        public 
override bool Check(ref string commandout object output)
        {
            
// Let the WordAttribute process the command first
            
if (!base.Check(ref commandout output))
                return 
false;
            
string word = (output as string).ToLower();
            
Street result null;
            
// TODO: find a street that matches the name stored in the word variable and store it in result
            // If no street could be found, return false.
            
output result;
            return 
true;
        }
    } 
Now you can create the following command:
PHP код:
[Command("goto")]
[
Street("street")]
public static 
void goto(Player senderStreet street)
{

Notice you need to specify that 'street' is a Street using [Street("street")]

If you want SA-MP# to automatically detect this, you need to add it to the parameter resolve delegate:

PHP код:
//Somewhere near you initialization code...
DetectedCommand.ResolveParameterType = (typename) => 
            {
                if (
type == typeof (Street)) return new StreetAttribute(name);
                
// I haven't tested this, but AFAIK it should not recursively call this delegate, but call the previous (default) delegate.
                
return DetectedCommand.ResolveParameterType(typename);
            }; 
Now you can use:
PHP код:
[Command("goto")]
public static 
void goto(Player senderStreet street)
{

Default values

If you want a parameter to have a default value, it needs to be at the end of the command:
PHP код:
[Command("tell")]
[
Text("message")]
public static 
void tell(Player senderPlayer receiverint times 1string message "I like trains!")
{

If you now type /tell. It will send the following message:
Usage: /tell [receiver] (times) (message)
Notice the ( ) brackets instead of [ ]. This indicates that these parameters are optional.

usage format message
If you enter invalid parameters you will be shown a "Usage" message. By default this message looks like this:
Quote:

Usage: /tell [receiver] (times) (message)

It is generated using the following delegate:
PHP код:
public class DetectedCommand Command
{
    
//...
    
public static Func<stringParameterAttribute[], stringUsageFormat getset; }
    
//...
    // default value:
    
UsageFormat = (nameparameters) =>
                
string.Format("Usage: /{0}{1}{2}"nameparameters.Any() ? ": " string.Empty,
                    
string.Join(" "parameters.Select(
                        
=> p.Optional
                            
string.Format("({0})"p.DisplayName)
                            : 
string.Format("[{0}]"p.DisplayName)
                        ))
                    );

You can change it by setting the delegate:
PHP код:
//Somewhere near you initialization code...
DetectedCommand.UsageFormat = (nameparameters) =>
{
    return 
"some usage message";

________

If you have any remaining questions, don't hesitate to ask.
Reply


Messages In This Thread
SampSharp - Write gamemodes in .NET - by ikkentim - 06.05.2014, 20:53
Re: SampSharp - Write gamemodes in .NET - by NoahF - 06.05.2014, 21:09
Re: SampSharp - Write gamemodes in .NET - by Gigi-The-Beast - 06.05.2014, 21:36
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.05.2014, 21:43
Re: SampSharp - Write gamemodes in .NET - by Gigi-The-Beast - 06.05.2014, 21:59
Re: SampSharp - Write gamemodes in .NET - by Scaleta - 06.05.2014, 22:39
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.05.2014, 22:51
Re: SampSharp - Write gamemodes in .NET - by Kar - 07.05.2014, 02:07
Re: SampSharp - Write gamemodes in .NET - by 123marvin123 - 07.05.2014, 17:44
Re: SampSharp - Write gamemodes in .NET - by iZN - 07.05.2014, 18:21
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 07.05.2014, 20:16
Re: SampSharp - Write gamemodes in .NET - by 123marvin123 - 08.05.2014, 13:13
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 08.05.2014, 16:04
Re: SampSharp - Write gamemodes in .NET - by 123marvin123 - 08.05.2014, 16:14
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 08.05.2014, 17:08
Re: SampSharp - Write gamemodes in .NET - by 123marvin123 - 08.05.2014, 18:05
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 08.05.2014, 18:16
Re: SampSharp - Write gamemodes in .NET - by 123marvin123 - 08.05.2014, 18:31
Re: SampSharp - Write gamemodes in .NET - by Niko_boy - 09.05.2014, 03:38
Re: SampSharp - Write gamemodes in .NET - by Hwang - 17.05.2014, 07:01
Re: SampSharp - Write gamemodes in .NET - by Lorenc_ - 17.05.2014, 09:16
Re: SampSharp - Write gamemodes in .NET - by CoaPsyFactor - 24.05.2014, 14:24
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 24.05.2014, 14:55
Re: SampSharp - Write gamemodes in .NET - by carlo rizzi - 09.06.2014, 17:11
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 09.06.2014, 18:16
AW: SampSharp - Write gamemodes in .NET - by Joe_Morito - 19.06.2014, 21:10
Re: AW: Re: AW: Re: AW: SampSharp - Write gamemodes in .NET - by ikkentim - 21.06.2014, 12:14
AW: SampSharp - Write gamemodes in .NET - by Joe_Morito - 21.06.2014, 19:14
Re: SampSharp - Write gamemodes in .NET - by Morion - 26.10.2014, 13:19
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.10.2014, 13:40
Re: SampSharp - Write gamemodes in .NET - by Morion - 26.10.2014, 14:45
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.10.2014, 14:50
Re: SampSharp - Write gamemodes in .NET - by IDarkness - 26.10.2014, 22:37
Re: SampSharp - Write gamemodes in .NET - by [SU]Spartan - 06.11.2014, 18:29
Re: SampSharp - Write gamemodes in .NET - by ExtremeHostOwner - 06.11.2014, 20:52
Re: SampSharp - Write gamemodes in .NET - by Arastair - 07.11.2014, 04:25
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 05.03.2015, 21:56
Re: SampSharp - Write gamemodes in .NET - by BeesSi - 05.03.2015, 22:59
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 05.03.2015, 23:04
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.03.2015, 11:02
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 06.03.2015, 11:09
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.03.2015, 11:16
Re: SampSharp - Write gamemodes in .NET - by Ahmad45123 - 06.03.2015, 13:12
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.03.2015, 13:32
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 06.03.2015, 15:50
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 07.03.2015, 10:53
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 07.03.2015, 12:53
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 07.03.2015, 13:01
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 07.03.2015, 19:12
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 09.03.2015, 17:52
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 11.03.2015, 14:11
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 11.03.2015, 22:47
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 14.03.2015, 13:32
Re: SampSharp - Write gamemodes in .NET - by TakeiT - 14.03.2015, 14:15
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 14.03.2015, 14:32
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 14.03.2015, 14:42
Re: SampSharp - Write gamemodes in .NET - by PaSaSaP - 14.03.2015, 21:44
Re: SampSharp - Write gamemodes in .NET - by Sithis - 21.03.2015, 21:49
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 22.03.2015, 15:10
Re: SampSharp - Write gamemodes in .NET - by Sithis - 30.03.2015, 14:03
Re: SampSharp - Write gamemodes in .NET - by Sithis - 03.04.2015, 19:44
Re: SampSharp - Write gamemodes in .NET - by DevinPatino - 03.04.2015, 23:13
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 08.04.2015, 09:04
Re: SampSharp - Write gamemodes in .NET - by Sithis - 10.04.2015, 10:55
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 10.04.2015, 16:59
Re: SampSharp - Write gamemodes in .NET - by Sithis - 12.04.2015, 14:39
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 12.04.2015, 14:59
Re: SampSharp - Write gamemodes in .NET - by lol1 - 25.04.2015, 16:11
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.04.2015, 16:31
Re: SampSharp - Write gamemodes in .NET - by nighthammer - 26.04.2015, 09:02
Re: SampSharp - Write gamemodes in .NET - by Sithis - 26.04.2015, 09:57
Re: SampSharp - Write gamemodes in .NET - by lol1 - 26.04.2015, 10:20
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.04.2015, 12:03
Re: SampSharp - Write gamemodes in .NET - by Sithis - 01.05.2015, 12:17
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 01.05.2015, 12:25
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 02.05.2015, 14:55
Re: SampSharp - Write gamemodes in .NET - by Sithis - 01.07.2015, 12:23
Re: SampSharp - Write gamemodes in .NET - by kaZax - 04.07.2015, 20:15
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 05.07.2015, 10:08
Re: SampSharp - Write gamemodes in .NET - by kaZax - 05.07.2015, 15:34
Re: SampSharp - Write gamemodes in .NET - by SecretBoss - 05.07.2015, 16:12
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 05.07.2015, 20:10
Re: SampSharp - Write gamemodes in .NET - by kaZax - 06.07.2015, 07:31
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 06.07.2015, 09:50
Re: SampSharp - Write gamemodes in .NET - by Bravo81 - 07.07.2015, 11:53
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 07.07.2015, 12:01
Re: SampSharp - Write gamemodes in .NET - by Bravo81 - 07.07.2015, 12:22
Re: SampSharp - Write gamemodes in .NET - by Bravo81 - 08.07.2015, 14:03
Re: SampSharp - Write gamemodes in .NET - by KingServerIRAN - 08.07.2015, 16:22
Re: SampSharp - Write gamemodes in .NET - by Buero - 24.07.2015, 18:38
Re: SampSharp - Write gamemodes in .NET - by WopsS - 24.07.2015, 19:01
Re: SampSharp - Write gamemodes in .NET - by urss - 27.08.2015, 05:46
Re: SampSharp - Write gamemodes in .NET - by erorcun - 24.09.2015, 07:31
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 24.09.2015, 08:12
Re: SampSharp - Write gamemodes in .NET - by HardWar - 05.10.2015, 16:49
Re: SampSharp - Write gamemodes in .NET - by Buero - 06.10.2015, 13:47
Re: SampSharp - Write gamemodes in .NET - by HardWar - 06.10.2015, 16:15
Re: SampSharp - Write gamemodes in .NET - by Buero - 09.10.2015, 18:14
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 10.10.2015, 08:56
Re: SampSharp - Write gamemodes in .NET - by Buero - 11.10.2015, 11:48
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 11.10.2015, 13:52
Re: SampSharp - Write gamemodes in .NET - by Buero - 11.10.2015, 15:31
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.10.2015, 21:11
Re: SampSharp - Write gamemodes in .NET - by Buero - 24.12.2015, 19:58
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 24.12.2015, 21:03
Re: SampSharp - Write gamemodes in .NET - by Buero - 26.12.2015, 07:42
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.12.2015, 09:24
Re: SampSharp - Write gamemodes in .NET - by Buero - 26.12.2015, 09:55
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.12.2015, 10:14
Re: SampSharp - Write gamemodes in .NET - by Buero - 26.12.2015, 10:40
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 28.12.2015, 16:12
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 13.02.2016, 19:15
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 13.02.2016, 19:23
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 13.02.2016, 19:29
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 19.02.2016, 13:01
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 19.02.2016, 13:02
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 19.02.2016, 13:11
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 19.02.2016, 13:12
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 19.02.2016, 13:37
Re: SampSharp - Write gamemodes in .NET - by SourceCode - 19.02.2016, 13:39
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 19.02.2016, 16:19
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 20.02.2016, 10:49
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 20.02.2016, 10:53
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 21.02.2016, 13:39
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 21.02.2016, 15:52
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 21.02.2016, 16:32
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 21.02.2016, 17:05
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 21.02.2016, 17:39
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 21.02.2016, 17:39
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 21.02.2016, 17:57
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 21.02.2016, 18:19
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 21.02.2016, 20:50
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 21.02.2016, 20:56
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 21.02.2016, 21:12
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 22.02.2016, 17:04
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 24.02.2016, 08:48
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 24.02.2016, 19:17
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 25.02.2016, 08:51
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.02.2016, 17:25
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 26.02.2016, 11:00
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.02.2016, 11:05
Re: SampSharp - Write gamemodes in .NET - by Alcatrik - 25.03.2016, 18:03
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 03.04.2016, 16:21
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 03.04.2016, 16:28
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 04.04.2016, 22:00
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 05.04.2016, 13:53
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 05.04.2016, 19:46
Re: SampSharp - Write gamemodes in .NET - by xyyy018 - 07.04.2016, 14:07
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 08.04.2016, 11:36
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 23.04.2016, 10:57
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 23.04.2016, 15:14
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 23.04.2016, 15:46
Re: SampSharp - Write gamemodes in .NET - by SomeDevil - 23.04.2016, 17:02
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.04.2016, 22:14
Re: SampSharp - Write gamemodes in .NET - by Buero - 29.04.2016, 14:45
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 29.04.2016, 15:09
Re: SampSharp - Write gamemodes in .NET - by Buero - 30.04.2016, 10:57
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 13.05.2016, 18:52
Re: SampSharp - Write gamemodes in .NET - by unSatisfied - 30.05.2016, 07:06
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 30.05.2016, 07:15
Re: SampSharp - Write gamemodes in .NET - by unSatisfied - 30.05.2016, 07:39
Re: SampSharp - Write gamemodes in .NET - by unSatisfied - 31.05.2016, 18:59
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 01.06.2016, 06:42
Re: SampSharp - Write gamemodes in .NET - by unSatisfied - 01.06.2016, 10:43
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 01.06.2016, 14:35
Re: SampSharp - Write gamemodes in .NET - by unSatisfied - 01.06.2016, 15:34
Re: SampSharp - Write gamemodes in .NET - by Reek - 17.08.2016, 20:36
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 17.08.2016, 21:31
Re: SampSharp - Write gamemodes in .NET - by Reek - 18.08.2016, 10:25
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 18.08.2016, 10:35
Re: SampSharp - Write gamemodes in .NET - by NewbProgrammer - 01.10.2016, 19:21
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 01.10.2016, 19:44
Re: SampSharp - Write gamemodes in .NET - by NewbProgrammer - 01.10.2016, 20:10
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 01.10.2016, 21:13
Re: SampSharp - Write gamemodes in .NET - by Cookland - 02.10.2016, 07:50
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 02.10.2016, 11:22
Re: SampSharp - Write gamemodes in .NET - by Alcatrik - 03.10.2016, 14:35
Re: SampSharp - Write gamemodes in .NET - by NewbProgrammer - 03.10.2016, 15:23
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 03.10.2016, 16:49
Re: SampSharp - Write gamemodes in .NET - by Sasino97 - 09.10.2016, 14:49
Re: SampSharp - Write gamemodes in .NET - by NewbProgrammer - 09.10.2016, 17:09
Re: SampSharp - Write gamemodes in .NET - by Alcatrik - 09.10.2016, 18:43
Re: SampSharp - Write gamemodes in .NET - by NewbProgrammer - 09.10.2016, 18:45
Re: SampSharp - Write gamemodes in .NET - by Alcatrik - 11.10.2016, 00:28
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 12.10.2016, 12:01
Re: SampSharp - Write gamemodes in .NET - by Sasino97 - 13.10.2016, 19:46
Re: SampSharp - Write gamemodes in .NET - by LifeIsGood - 24.11.2016, 13:47
Re: SampSharp - Write gamemodes in .NET - by Kalashnecov - 03.01.2017, 13:50
Re: SampSharp - Write gamemodes in .NET - by K0P - 07.01.2017, 13:28
Re: SampSharp - Write gamemodes in .NET - by Jay_ - 09.01.2017, 20:31
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 09.01.2017, 20:40
Re: SampSharp - Write gamemodes in .NET - by MrViolence101 - 17.04.2017, 19:15
Re: SampSharp - Write gamemodes in .NET - by Jay_ - 18.04.2017, 11:52
Re: SampSharp - Write gamemodes in .NET - by WooTFTW - 19.04.2017, 18:37
Re: SampSharp - Write gamemodes in .NET - by Battlezone - 19.04.2017, 21:35
Re: SampSharp - Write gamemodes in .NET - by Jay_ - 21.04.2017, 10:25
Re: SampSharp - Write gamemodes in .NET - by MrViolence101 - 21.04.2017, 12:27
Re: SampSharp - Write gamemodes in .NET - by amirm3hdi - 21.04.2017, 19:13
Re: SampSharp - Write gamemodes in .NET - by amirm3hdi - 21.04.2017, 19:15
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 22.04.2017, 03:18
Re: SampSharp - Write gamemodes in .NET - by WopsS - 22.04.2017, 11:38
Re: SampSharp - Write gamemodes in .NET - by renatog - 22.04.2017, 16:51
Re: SampSharp - Write gamemodes in .NET - by WooTFTW - 22.04.2017, 17:07
Re: SampSharp - Write gamemodes in .NET - by amirm3hdi - 25.04.2017, 20:04
Re: SampSharp - Write gamemodes in .NET - by MrViolence101 - 26.04.2017, 06:09
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.04.2017, 06:56
Re: SampSharp - Write gamemodes in .NET - by BR3TT - 26.04.2017, 09:04
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.04.2017, 09:09
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 26.04.2017, 09:58
Re: SampSharp - Write gamemodes in .NET - by amirm3hdi - 26.04.2017, 20:28
Re: SampSharp - Write gamemodes in .NET - by NoahF - 26.04.2017, 21:54
Re: SampSharp - Write gamemodes in .NET - by Richi - 25.05.2017, 17:43
Re: SampSharp - Write gamemodes in .NET - by CoaPsyFactor - 25.05.2017, 18:44
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.05.2017, 23:00
Re: SampSharp - Write gamemodes in .NET - by CoaPsyFactor - 26.05.2017, 01:05
Re: SampSharp - Write gamemodes in .NET - by Richi - 28.05.2017, 17:25
Re: SampSharp - Write gamemodes in .NET - by Cadilab - 29.05.2017, 10:17
Re: SampSharp - Write gamemodes in .NET - by Gigi-The-Beast - 05.06.2017, 18:06
Re: SampSharp - Write gamemodes in .NET - by daemondas - 09.06.2017, 18:43
Respuesta: SampSharp - Write gamemodes in .NET - by Richi - 11.06.2017, 11:44
Re: SampSharp - Write gamemodes in .NET - by wsll789 - 15.06.2017, 07:57
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 16.06.2017, 11:12
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 25.06.2017, 06:38
Re: SampSharp - Write gamemodes in .NET - by sampkinq - 25.06.2017, 07:10
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 25.06.2017, 07:24
Re: SampSharp - Write gamemodes in .NET - by sampkinq - 25.06.2017, 10:26
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 25.06.2017, 11:08
Re: SampSharp - Write gamemodes in .NET - by sampkinq - 25.06.2017, 11:19
Re: SampSharp - Write gamemodes in .NET - by Nominal - 25.06.2017, 16:02
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.06.2017, 16:21
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 25.06.2017, 17:21
Re: SampSharp - Write gamemodes in .NET - by Nominal - 25.06.2017, 21:10
Re: SampSharp - Write gamemodes in .NET - by sammp - 26.06.2017, 00:16
Re: SampSharp - Write gamemodes in .NET - by sammp - 26.06.2017, 17:33
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 26.06.2017, 17:51
Re: SampSharp - Write gamemodes in .NET - by sammp - 26.06.2017, 18:23
Re: SampSharp - Write gamemodes in .NET - by DRIFT_HUNTER - 26.06.2017, 20:01
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 26.06.2017, 20:11
Re: SampSharp - Write gamemodes in .NET - by sammp - 26.06.2017, 21:45
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 27.06.2017, 00:13
Re: SampSharp - Write gamemodes in .NET - by sammp - 27.06.2017, 16:23
Re: SampSharp - Write gamemodes in .NET - by AwareWolf - 28.06.2017, 05:26
Re: SampSharp - Write gamemodes in .NET - by SkyLoKi - 22.09.2017, 12:50
Re: SampSharp - Write gamemodes in .NET - by bib - 26.10.2017, 15:30
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 27.11.2017, 20:23
Re: SampSharp - Write gamemodes in .NET - by lepegadore - 28.11.2017, 00:22
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 28.11.2017, 07:29
Re: SampSharp - Write gamemodes in .NET - by dbogdan - 28.11.2017, 09:13
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 28.11.2017, 09:15
Re: SampSharp - Write gamemodes in .NET - by dbogdan - 28.11.2017, 10:06
Re: SampSharp - Write gamemodes in .NET - by Meller - 28.11.2017, 10:53
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 28.11.2017, 10:54
Re: SampSharp - Write gamemodes in .NET - by Sithis - 28.11.2017, 11:03
Re: SampSharp - Write gamemodes in .NET - by SchurmanCQC - 28.11.2017, 22:05
Re: SampSharp - Write gamemodes in .NET - by lepegadore - 29.11.2017, 18:56
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 29.11.2017, 19:17
Re: SampSharp - Write gamemodes in .NET - by Chaser98 - 22.04.2018, 21:59
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 25.04.2018, 19:02
Re: SampSharp - Write gamemodes in .NET - by Chaser98 - 26.04.2018, 00:26
Re: SampSharp - Write gamemodes in .NET - by =KempeR= - 20.11.2018, 18:45
Re: SampSharp - Write gamemodes in .NET - by corne - 21.11.2018, 05:54
Re: SampSharp - Write gamemodes in .NET - by Banditul18 - 21.11.2018, 07:05
Re: SampSharp - Write gamemodes in .NET - by Geese - 16.02.2019, 20:46
Re: SampSharp - Write gamemodes in .NET - by RenanMsV - 18.02.2019, 01:44
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 18.02.2019, 05:28
Re: SampSharp - Write gamemodes in .NET - by RenanMsV - 18.02.2019, 13:28
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 18.02.2019, 13:47
Re: SampSharp - Write gamemodes in .NET - by RenanMsV - 18.02.2019, 23:47
Re: SampSharp - Write gamemodes in .NET - by RenanMsV - 23.02.2019, 23:29
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 24.02.2019, 11:31
Re: SampSharp - Write gamemodes in .NET - by m3shys - 28.02.2019, 04:31
Re: SampSharp - Write gamemodes in .NET - by ikkentim - 28.02.2019, 14:21
Re: SampSharp - Write gamemodes in .NET - by Crayder - 28.02.2019, 23:35
Re: SampSharp - Write gamemodes in .NET - by Banditul18 - 01.03.2019, 08:09
Re: SampSharp - Write gamemodes in .NET - by Crayder - 01.03.2019, 18:01
Re: SampSharp - Write gamemodes in .NET - by Banditul18 - 01.03.2019, 18:18

Forum Jump:


Users browsing this thread: 8 Guest(s)