Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > FMB, Mission & Campaign builder Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 05-23-2012, 03:58 PM
podvoxx podvoxx is offline
Approved Member
 
Join Date: Feb 2010
Posts: 190
Default

Quote:
Originally Posted by FG28_Kodiak View Post
@podvoxx

btw. ive created a translation system, also:
Big thanks, Kodiak! Now I use Small_bee loc. system
http://www.sukhoi.ru/forum/showthrea...=1#post1765804
Maybe this system will be use in repka comander - http://www.sukhoi.ru/forum/showthread.php?t=75862

About my DLL, it not work
My script:
Code:
//$reference "parts\core\SMP\SMPlocalization.dll"
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using maddox.game;
using maddox.game.world;
using maddox.GP;
using locfiledll;


public class Mission : AMission
{


    public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
    {
        base.OnPlaceEnter(player, actor, placeIndex);

        localization.ToChatbar(player, "Welcome {0}", player);


    }
}
Path to dll-file: parts\core\SMP\SMPlocalization.dll
My dll-file:
Code:
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Diagnostics;
using maddox.game;
using maddox.game.world;
using maddox.GP;
using part;

namespace locfiledll
{
    
        public static class localization 
        {
            static readonly IGamePlay GamePlay = Strategy.THIS.GamePlay;


            public static void ToChatbar(string msg, params object[] args)
            {
                GamePlay.gpLogServer(null, msg, args);
            }


            public static void ToChatbar(Player player, string msg, params object[] args)
            {
                if (player != null)
                    GamePlay.gpLogServer(new[] { player }, msg, args);
            }


            public static void ToChatbar(int army, string msg, params object[] args)
            {
                var consignees = new List<Player>();

                if (GamePlay.gpPlayer() != null)
                    consignees.Add(GamePlay.gpPlayer());
                if (GamePlay.gpRemotePlayers() != null)
                    consignees.AddRange(GamePlay.gpRemotePlayers());

                if (army == -1)
                    GamePlay.gpLogServer(null, msg, args);
                else if (consignees.Exists(item => item.Army() == army))
                    GamePlay.gpLogServer(consignees.FindAll(item => item.Army() == army).ToArray(), msg, args);
            }


            public static void ToScreen(string msg, params object[] args)
            {
                GamePlay.gpHUDLogCenter(null, msg, args);
            }


            public static void ToScreen(Player player, string msg, params object[] args)
            {
                if (player != null)
                    GamePlay.gpHUDLogCenter(new[] { player }, msg, args);
            }     

        }
}
After calling OnPlaceEnter method I have this error:
Code:
[18:42:32]	=================================================
[18:42:32]	System.IO.FileNotFoundException: Could not load file or assembly 'SMPlocalization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Не удается найти указанный файл.
[18:42:32]	File name: 'SMPlocalization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
[18:42:32]	
[18:42:32]	Server stack trace: 
[18:42:32]	   at Mission.OnPlaceEnter(Player player, AiActor actor, Int32 placeIndex)
[18:42:32]	   at maddox.game.ABattle.OnPlaceEnter(Player player, AiActor actor, Int32 placeIndex)
[18:42:32]	   at maddox.game.ABattle.OnEventGame(GameEventId eventId, Object eventArg0, Object eventArg1, Int32 eventArgInt)
[18:42:32]	   at maddox.game.world.Strategy.OnEventGame(GameEventId eventId, Object eventArg0, Object eventArg1, Int32 eventArgInt)
[18:42:32]	   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[18:42:32]	   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[18:42:32]	
[18:42:32]	Exception rethrown at [0]: 
[18:42:32]	   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[18:42:32]	   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[18:42:32]	   at maddox.game.IBattle.OnEventGame(GameEventId eventId, Object eventArg0, Object eventArg1, Int32 eventArgInt)
[18:42:32]	   at maddox.game.GameDef.eventGame(GameEventId eventId, Object eventArg0, Object eventArg1, Int32 eventArgInt)
[18:42:32]	   at QS9s5gXYpyXIbWqUeH5.NEqYCeXQeE9aADb49yZ.LNESqn0gobx(GameEventId , Object , Object , Int32 )
[18:42:32]	
[18:42:32]	WRN: Assembly binding logging is turned OFF.
[18:42:32]	To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
[18:42:32]	Note: There is some performance penalty associated with assembly bind failure logging.
[18:42:32]	To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
[18:42:32]	
[18:42:32]	=================================================

Last edited by podvoxx; 05-23-2012 at 04:09 PM.
Reply With Quote
  #2  
Old 05-23-2012, 04:03 PM
FG28_Kodiak FG28_Kodiak is offline
Approved Member
 
Join Date: Dec 2009
Location: Swabia->Bavaria->Germany
Posts: 884
Default

place your DLL in ..parts\core
and use this:
//$reference parts\core\SMPlocalization.dll

then it should work.
Reply With Quote
  #3  
Old 05-23-2012, 04:11 PM
podvoxx podvoxx is offline
Approved Member
 
Join Date: Feb 2010
Posts: 190
Default

Quote:
Originally Posted by FG28_Kodiak View Post
place your DLL in ..parts\core
and use this:
//$reference parts\core\SMPlocalization.dll

then it should work.
Yes, I have already corrected. It works!
Thank you!
Reply With Quote
  #4  
Old 05-24-2012, 10:31 PM
Smokeynz Smokeynz is offline
Approved Member
 
Join Date: Apr 2011
Posts: 106
Default

I've been using txt files, but the problem is you have to streamread and relist and index internally, it works but is kinda resource hungry.

I really like the dll and xml combination, "find it and use it when needed".
Also means you could just about centralise repeat type messaging used across multi mission packs.
Also arguably a bit more user friendly in that more ppl are used to xml editing for simple configs.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:20 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.