06.03.2015, 11:09 
	
	
	
		Target framework should be 4.0 or can be 4.5?
	
	
	
	
| I actually like this... But I have some questions... Does this affect the speed of execution in runtime or does it affect any thing ? And will I have to create a wrapper for each and every plugin I use ? | 
    class Vehicle: GtaVehicle
    {
        public Vehicle(int i): base(i)
        {
        }
    }
class Vehicle
{
    GtaVehicle vehicle;
    //for example in constructor
    public Vehicle(GtaVehicle v)
    {
        vehicle = v;
    }
}
    class Vehicle: GtaVehicle
    {
        public Vehicle(int v):base(v)
        {
        }
    }
        [Command("car")]
        public static void commandCar(Player player)
        {
            player.SendClientMessage("No i masz samochуd.");
            //Vehicle car = new Vehicle(GtaVehicle.CreateStatic(400, player.Position, 0.0f, 1, 2));
            //car.vehicle.Position = player.Position;
            //player.PutInVehicle(car.vehicle);
            Vehicle car = (Vehicle) Vehicle.Create(400, player.Position, player.Rotation.Z, 3, 3, -1);
            car.Position = player.Position;
            player.PutInVehicle((GtaVehicle) car);
        }
[06/03/2015 20:15:36] Exception thrownOnPlayerCommandText: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Cannot cast from source type to destination type. at PaSaSaPGM.GameMode.commandCar (PaSaSaPGM.World.Player player) [0x00000] in <filename unknown>:0 at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 at SampSharp.GameMode.SAMP.Commands.DetectedCommand.RunCommand (SampSharp.GameMode.World.GtaPlayer player, System.String args) [0x00000] in <filename unknown>:0 at SampSharp.GameMode.Controllers.CommandController+<>c__DisplayClass8.<gameMode_PlayerCommandText>b__6 (System.Tuple`2 candidate) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.First[Tuple`2] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.FirstOrDefault[Tuple`2] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at SampSharp.GameMode.Controllers.CommandController.gameMode_PlayerCommandText (System.Object sender, SampSharp.GameMode.Events.CommandTextEventArgs e) [0x00000] in <filename unknown>:0 at (wrapper delegate-invoke) System.EventHandler`1<SampSharp.GameMode.Events.CommandTextEventArgs>:invoke_void_object_TEventArgs (object,SampSharp.GameMode.Events.CommandTextEventArgs) at SampSharp.GameMode.BaseMode.OnPlayerCommandText (SampSharp.GameMode.World.GtaPlayer player, SampSharp.GameMode.Events.CommandTextEventArgs e) [0x00000] in <filename unknown>:0 at PaSaSaPGM.GameMode.OnPlayerCommandText (SampSharp.GameMode.World.GtaPlayer player, SampSharp.GameMode.Events.CommandTextEventArgs e) [0x00000] in <filename unknown>:0 at SampSharp.GameMode.BaseMode.OnPlayerCommandText (Int32 playerid, System.String cmdtext) [0x00000] in <filename unknown>:0
public class Vehicle: GtaVehicle
{
    public Vehicle(int id) : base(id)
    {
    }
}
    public class VehicleController : GtaVehicleController
    {
        public override void RegisterTypes()
        {
            Vehicle.Register<Vehicle>();
        }
    }
        protected override void LoadControllers(ControllerCollection controllers)
        {
            base.LoadControllers(controllers);
            controllers.Remove<GtaVehicleController>();
            controllers.Add(new VehicleController());
        }
Native.CallNative("CallRemoteFunction", __arglist("Function", arg1, arg2));
[07/03/2015 20:34:06] Exception thrownOnGameModeInit: FluentNHibernate.Cfg.FluentConfigurationException: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail. ---> NHibernate.HibernateException: Could not create the driver from NHibernate.Driver.MySqlDataDriver, NHibernate, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Configuration.ConfigurationErrorsException: Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'. at System.Data.Common.DbProviderFactories.GetFactory (System.String providerInvariantName) [0x00000] in <filename unknown>:0 at NHibernate.Driver.ReflectionBasedDriver..ctor (System.String providerInvariantName, System.String driverAssemblyName, System.String connectionTypeName, System.String commandTypeName) [0x00000] in <filename unknown>:0 at NHibernate.Driver.MySqlDataDriver..ctor () [0x00000] in <filename unknown>:0 at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0 at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0 at NHibernate.Bytecode.ActivatorObjectsFactory.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0 at NHibernate.Connection.ConnectionProvider.ConfigureDriver (IDictionary`2 settings) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at NHibernate.Connection.ConnectionProvider.ConfigureDriver (IDictionary`2 settings) [0x00000] in <filename unknown>:0 at NHibernate.Connection.ConnectionProvider.Configure (IDictionary`2 settings) [0x00000] in <filename unknown>:0 at NHibernate.Connection.ConnectionProviderFactory.NewConnectionProvider (IDictionary`2 settings) [0x00000] in <filename unknown>:0 at NHibernate.Cfg.SettingsFactory.BuildSettings (IDictionary`2 properties) [0x00000] in <filename unknown>:0 at NHibernate.Cfg.Configuration.BuildSettings () [0x00000] in <filename unknown>:0 at NHibernate.Cfg.Configuration.BuildSessionFactory () [0x00000] in <filename unknown>:0 at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory () [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory () [0x00000] in <filename unknown>:0 at PaSaSaPGM.DbSession.CreateSessionFactory () [0x00000] in <filename unknown>:0 at PaSaSaPGM.DbSession.get_Factory () [0x00000] in <filename unknown>:0 at PaSaSaPGM.DbSession.OpenSession () [0x00000] in <filename unknown>:0 at PaSaSaPGM.GameMode.OnInitialized (System.EventArgs e) [0x00000] in <filename unknown>:0 at SampSharp.GameMode.BaseMode.OnGameModeInit () [0x00000] in <filename unknown>:0
//Lets store our current session
            using (ISession session = DbSession.OpenSession())
            {
                session.Save(new ServerInfo { Number = new Random().Next(0, 100) });
            }
            //...
            //... lets open a bunch of sessions
            
            for (int x = 0; x < 10; x++)
            {
                using (ISession session = DbSession.OpenSession())
                {
                    //Get first 10 sessions
                    IQueryable<ServerInfo> serverinfos = session.Query<ServerInfo>().Take(10);
                    foreach (ServerInfo si in serverinfos)
                    {
                        Console.WriteLine(si);
                    }
                }
            }
| Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient' | 
new Vehicle(400); new Vehicle(400, new Vector(1.0f, 1.0f, 1.0f), 1.0f, 3, 3);
| I changed MySQL package ;'D I have the Vehicle class and it looks like You wrote above. What is difference between constructors: Код: new Vehicle(400); new Vehicle(400, new Vector(1.0f, 1.0f, 1.0f), 1.0f, 3, 3); | 
| OK. I cant find how to start with linux server. Mybe I am so stupid to do this. So how to start with linux server? | 
Failed (plugins/libtest.so: undefined symbol: mono_string_to_utf8)
| Been doing some testing with this. Some additional questions: How to handle dialogs inline, such as implementing the response logic in the relevant classes? I tried spawning the player manually using this.spawn() in the Player class when the login would be successful. In Pawn, i used to return 0 on OnPlayerRequestClass. What would be the preffered way in Sharp, since the manual spawn does not work. | 
var dialog = new Dialog(...);
dialog.Response += (sender, args) {
    // handle response
};