[Latest] Biocross RC1 - it`s back!
-
You know, when you ‘vanished’ I was really worried we would never see this completed. I am glad you ‘returned’ and completed it. It’s a wonderful achievement.
Great work! ;D
-
(although I know somebody will find something especially FF, he always has something to say >.>)
He gets kind of repetitive like that after a while, doesn’t he?!
-
Apologies for the double post but:
http://forge.the-starport.net/gf/project/biocross/frs/?action=index
the updater application is here - I recommend during RC1 you run the application at least once a week to make sure you keep getting the latest fixes and additions…
good luck guys
Major respect to Grimmjow who’s code went into a lot of this updater application
-
Imgetting a 'missing entry 0’when trying to import an XML set, any ideas?
-
If you have used your data gen to make your XML GAMEDATA (I forgot to tell you) it does not work perfectly yet as it leaves *'s in the XML file which the language of XML doesn’t like in itself…
There are 2 other possible explanations, one being a bug in the software (which I have not yet experienced) OR 2 you have a GAMEDATA file which is empty because you have no mines or no torpedoes in your mod (which some mods do). In either case you should be able to continue as errors are skipped per file - check your drop down combo boxes to make sure everything is there, and if one is empty and it shouldn’t be then that is your issue…
An alternative for you would be to convert your IFSO text files using my converter (found on my FLForge page) until your data generator has the ability to remove *'s.
I think that is the final step in your data generator until it achieves perfection
EDIT:
Before reporting bugs I would like you to check the Bug Tracker page over at the Forge (which I believe I have set to public) just so you don’t waste your time making a detailed bug report when it is already known (Lancer Solarus this was not aimed at you don’t worry it’s just a general message and didn’t want to double post ;))
EDIT 2:
Those who have already downloaded the auto updater PLEASE download the patch and also the source code is available for download for anyone who would like to point out a few bugs of their own - or add features
-
I guess that one’s on me, I’ll fix that tonight and upload a new version.
-
I have now released the Language Importer tool which allows you to edit the language that Biocross uses - obviously because I am so lingually stupid there is only one language file at the moment (English (UK)).
Download the program and start translating
Use the English UK file as a template - for those wanting to import the file into another program it is | delimited
PLEASE distribute your language files out to others if you make any
-
Oh Dear… a triple post :S but this IS important for the (1) person who downloaded the language importer (maybe FF :P) the english text file is slightly misformatted through Exporter error, the new language file is here:
-
I checked and the latest version already had that fixed. I am compiling a new list of xml files and testing them out….
-
Development of my FLHook GUI is going well just to document for those out there who care what is going on, I will pencil in what I got going on in here….
FLHook GUI Design Concept:
There will be two flavours of my FLHook GUI - one that is released with Biocross and one that functions on it’s own, essentially both will do the same thing however the Biocross one will be for the server admin’s to use when using a Remote Desktop Connection and the other (standalone) one will be used by people without RDP access. Perhaps I should describe a little about the interaction of the GUI with FLHook…
How Remote Access Works:
FLHook was coded with a remote socket layer, this basically allows anyone to connect to the FLHook console from pretty much anywhere, you MUST have an authorised password and account however!
Biocross and the standalone version will use this socket layer to connect to FLHook - meaning you can download the standalone version to your local computer and still modify the server in a huge way, basically anything FLHook can do you will be able to (you can also set user permissions in the FLHook.ini to prevent people doing some things you wouldn’t want them to, for example SP’s should only be allowed to remote connect to beam kick and ban).
Note that Biocross will use the ANSII port for connecting to and that UNICODE is NOT supported at this time, nor do I see it being supported in the future…
Also note that plugins will be supported in a small sense, which brings me onto how it will look
How it will look:
Essentially I was aiming for the majority of a GUI element as I could, but due to all these plugins floating about and some different FLHook versions and whatever I decided on another approach, I GUI’d the main elements you see in nearly all modern FLHook installations (beam, kick, ban ip, message, add player cargo, delete admin and so on) but also included an MSN kind of interaction with your FLHook, haha very badly explained let me try harder.
The ‘MSN’ interaction is best described if you simply imagine MSN in your head when I am saying this, imagine the send button and the text box and the list of everything that has been “said”.
You type in your command and it shows up like so:
(DATETIME) Admin Said: Â
<plugincommand>After however long it takes for FLHook to process this command and send it back to you this will show up:(DATETIME)The Hooker Said:
Plugin command could not be accepted as parameter {0} was missingand yes it WILL say The Hooker
Out of interest is anyone out there running this on their server yet?</plugincommand>
-
Unable to test yet, posted some new tracker items for ya.
-
I’ll be very mean and suggest adding GUI plugins for Biocross to support the Hook plugins ;D
-
I’ll be very mean and suggest adding GUI plugins for Biocross to support the Hook plugins ;D
-
I’ll be very mean and suggest adding GUI plugins for Biocross to support the Hook plugins ;D
bahahaha
-
Released a patch via the autoupdater, here are the notes:
**This patch adds full support for language selection and integration, and also excites
you by placing a button called FLHook Configuration on your ribbon bar, and then lets
you down because when you click it, it don’t work- Added language select in Program Configuration (requires restart on language change)
- Fixed the wizard, data importing incorrectly, XML Errors and so on
- Added language select screen to the wizard
- Made sure if one XML File errors you know which one, but then the program will continue with the rest ;)**
hope this helps
-
Finished the config page, a reminder to anyone translating the main interface that this will also need to be translated later so you may need to add some new entries to your list when this portion of the app is complete…
Now onto the difficult part… will post back when it’s complete…
and yes…it does say call the hooker
-
Because FF said so I am coding a plugin interface for the FLHook portion of my program, and to serve as a tutorial to other plugin makers, my main FLHook interface will be a plugin itself.
Just to let potential coders know, here are the functions, properties and subroutines your plugin will be able to utilise:
_**Property Password() As String
Property ServerIP() As String
Property Port() As String
Property FactionsGamedata() As DataSet
Property BasesGamedata() As DataSet
Property SystemsGamedata() As DataSetSub InitiatePlugin()
Event OnPlayerUndock As Freelancer.FLHookEventListener.BaseExitEventHandler
Event OnPlayerDock As Freelancer.FLHookEventListener.BaseEnterEventHandlerEvent OnPlayerDeath As Freelancer.FLHookEventListener.KillEventHandler
Event OnPlayerSpawn As Freelancer.FLHookEventListener.SpawnEventHandlerEvent OnPlayerBeginJump As Freelancer.FLHookEventListener.JumpInEventHandler
Event OnPlayerExitJump As Freelancer.FLHookEventListener.JumpOutEventHandlerEvent OnPlayerLaunch As Freelancer.FLHookEventListener.LaunchEventHandler
Event OnPlayerConnect As Freelancer.FLHookEventListener.PlayerConnectEventHandler
Event OnPlayerDisconnect As Freelancer.FLHookEventListener.PlayerDisconnectEventHandlerEvent OnPlayerLogin As Freelancer.FLHookEventListener.LoginEventHandler
Event OnSuccessfulConnection As Freelancer.FLHookEventListener.ConnectedEventHandler
Event OnConnectionFailed As Freelancer.FLHookEventListener.ConnectFailedEventHandler
Event OnDisconnect As Freelancer.FLHookEventListener.DisconnectedEventHandlerEvent OnMessageSent As Freelancer.FLHookEventListener.ChatMessageEventHandler
Function Connect() As Boolean
Sub Disconnect()Function SendData(ByVal Command As String) As String
Overloads Function AddCargo(ByVal ID As Integer, ByVal Good As String, ByVal Amount As Integer, ByVal IsMission As Boolean) As Boolean
Overloads Function AddCargo(ByVal PlayerName As String, ByVal Good As String, ByVal Amount As Integer, ByVal IsMission As Boolean) As Boolean
Overloads Function ReturnPlayerData(ByVal PlayerName As String) As Freelancer.FLHookControl.OnlinePlayer
Overloads Function ReturnPlayerData(ByVal ID As Integer) As Freelancer.FLHookControl.OnlinePlayerOverloads Function AddCash(ByVal ID As Integer, ByVal Cash As String) As Boolean
Overloads Function AddCash(ByVal PlayerName As String, ByVal Cash As String) As BooleanOverloads Function Ban(ByVal ID As Integer) As Boolean
Overloads Function Ban(ByVal PlayerName As String) As BooleanOverloads Function Beam(ByVal ID As Integer, ByVal Base As String) As Boolean
Overloads Function Beam(ByVal PlayerName As String, ByVal Base As String) As BooleanOverloads Function DeleteAdministrator(ByVal ID As Integer) As Boolean
Overloads Function DeleteAdministrator(ByVal PlayerName As String) As BooleanOverloads Function DeleteCharacter(ByVal ID As Integer) As Boolean
Overloads Function DeleteCharacter(ByVal PlayerName As String) As BooleanOverloads Function GetAccountDirectory(ByVal ID As Integer) As String
Overloads Function GetAccountDirectory(ByVal PlayerName As String) As StringOverloads Function GetAdminRights(ByVal ID As Integer) As String
Overloads Function GetAdminRights(ByVal PlayerName As String) As StringFunction GetBaseStatus(ByVal Base As String) As Freelancer.FLHookControl.BaseStatus
Function GetBaseStatusPercent(ByVal Base As String) As SingleOverloads Function GetCash(ByVal ID As Integer) As Long
Overloads Function GetCash(ByVal PlayerName As String) As LongFunction GetClientID(ByVal PlayerName As String) As String
Overloads Function GetGroupMembers(ByVal ID As Integer) As System.Collections.ObjectModel.Collection(Of Freelancer.FLHookControl.OnlinePlayer)
Overloads Function GetGroupMembers(ByVal PlayerName As String) As System.Collections.ObjectModel.Collection(Of Freelancer.FLHookControl.OnlinePlayer)
Function ReturnPlayerList() As System.Collections.ObjectModel.Collection(Of Freelancer.FLHookControl.OnlinePlayer)Overloads Function GetPlayerCargo(ByVal ID As Integer) As Freelancer.FLHookControl.PlayerCargoHold
Overloads Function GetPlayerCargo(ByVal PlayerName As String) As Freelancer.FLHookControl.PlayerCargoHoldFunction GetServerInfo() As Freelancer.FLHookControl.ServerInfo
Function IsLoggedIn(ByVal PlayerName As String) As Boolean
Overloads Function Kick(ByVal PlayerName As String, ByVal Reason As String) As Boolean
Overloads Function Kick(ByVal ID As Integer, ByVal Reason As String) As BooleanOverloads Function Ban(ByVal PlayerName As String, ByVal Reason As String) As Boolean
Overloads Function Ban(ByVal ID As Integer, ByVal Reason As String) As BooleanOverloads Function Kill(ByVal ID As Integer) As Boolean
Overloads Function Kill(ByVal PlayerName As String) As BooleanOverloads Function Message(ByVal ID As Integer, ByVal Text As String, ByVal Formatted As Boolean) As Boolean
Overloads Function Message(ByVal ID As Integer, ByVal msg As String, ByVal Colour As Color, Optional ByVal Bold As Boolean = False, Optional ByVal Italics As Boolean = False, Optional ByVal Underline As Boolean = False, Optional ByVal Big As Boolean = False)
Overloads Function Message(ByVal PlayerName As String, ByVal Text As String, ByVal Formatted As Boolean) As Boolean
Overloads Function Message(ByVal PlayerName As String, ByVal msg As String, ByVal Colour As Color, Optional ByVal Bold As Boolean = False, Optional ByVal Italics As Boolean = False, Optional ByVal Underline As Boolean = False, Optional ByVal Big As Boolean = False)Overloads Function RemoveCargo(ByVal ID As Integer, ByVal GoodID As Integer, ByVal Amount As Integer) As Boolean
Overloads Function RemoveCargo(ByVal PlayerName As String, ByVal GoodID As Integer, ByVal Amount As Integer) As BooleanOverloads Function RenamePlayer(ByVal ID As Integer, ByVal NewName As String) As Boolean
Overloads Function RenamePlayer(ByVal PlayerName As String, ByVal NewName As String) As BooleanOverloads Function ResetsReputation(ByVal ID As Integer) As Boolean
Overloads Function ResetsReputation(ByVal PlayerName As String) As BooleanOverloads Function SaveCharacter(ByVal ID As Integer) As Boolean
Overloads Function SaveCharacter(ByVal PlayerName As String) As BooleanOverloads Function SetAdministrator(ByVal ID As Integer, ByVal Rights As String) As Boolean
Overloads Function SetAdministrator(ByVal PlayerName As String, ByVal Rights As String) As BooleanOverloads Function SetCash(ByVal ID As Integer, ByVal Cash As String) As Boolean
Overloads Function SetCash(ByVal PlayerName As String, ByVal Cash As String) As BooleanOverloads Function SetReputation(ByVal ID As Integer, ByVal Faction As String, ByVal Value As Single) As Boolean
Overloads Function SetReputation(ByVal PlayerName As String, ByVal Faction As String, ByVal Value As Single) As BooleanOverloads Function SystemMessage(ByVal System As String, ByVal Text As String, ByVal Formatted As Boolean) As Boolean
Overloads Function SystemMessage(ByVal System As String, ByVal Text As String, ByVal Colour As Color, Optional ByVal Bold As Boolean = False, Optional ByVal Italics As Boolean = False, Optional ByVal Underline As Boolean = False, Optional ByVal Big As Boolean = False) As BooleanOverloads Function Unban(ByVal ID As Integer) As Boolean
Overloads Function Unban(ByVal PlayerName As String) As BooleanOverloads Function UniverseMessage(ByVal Text As String, ByVal Formatted As Boolean) As Boolean
Overloads Function UniverseMessage(ByVal Text As String, ByVal Colour As Color, Optional ByVal Bold As Boolean = False, Optional ByVal Italics As Boolean = False, Optional ByVal Underline As Boolean = False, Optional ByVal Big As Boolean = False) As Boolean**_