Jump to content

Koregan

Member
  • Posts

    138
  • Joined

  • Last visited

Posts posted by Koregan

  1. Mod is back online - running on Zeeks Apocalypse Roleplay-Server.

     

    I did some huge changes in the way the mod is collecting information for our admin-chatlog.

    (Before every client send the information to my webspace - now it is send via clientcommands and the server creating all the files.)

     

    Until now, there were no reports about lags/freezes from the mod, so it seems to be stable now.

     

    I already included some new functions, but they are still hidden at the moment and have to be activated to test.

    I will soon write a topic about it in our forum and later also post it here.

     

    One of the (now solved) problems was that there are no names transmitted for local chat, when the usernames are not displayed in game. It was a mess to read, because you cannot see if one or two or three persons were talking.

    So I wrote a function to transmit the local chat and insert it with the self-given stranger-name of the stranger into the players chatbox.

     

    Ah, I nearly forgot to say: The error-uploader is deactivated. Some people thought the game was freezed, because it took so long to read the gigantic console.txt after longtimeplaying. And at this place (OnPostSave) I am not able to write any onscreen-text. But anyway - I got no error-feedback by my mod - but thousands of lines of errors of the vanilla-game. ;)

     

    Right now, there are no plans on changing the strangers-part of the mod, perhaps just some little finetuning.

     

    Perhaps I can upload a image of the mod running ingame, so you can have a look on the changes for the users.

  2. If you mod the ISChat.lua then you can use the chatbox to start functions.

    Like this I included my own commands for activating/deactivating parts of my servermod or to change settings ingame, without changing the lua-files of my mod.

     

    If there is another (more simple) way to do that, let me know...

  3. We had some freezes on our server, which could be created by some parts the mod.

    So we decided to deactivate it last week.

     

    I have made some bigger changes (instead of url-calls i am using ingame server-and client-commands now) that hopefully will prevent any lags.

     

    Some new features were integrated (but have to be manually activated to test them).

    I will tell more about it when it is reactivated.

     

    We will try to reactivate it tomorrow.

  4. local singleplayer is good, makes it easier than on multiplayer...

     

    Do you have an example on which you based your code? Then you could have another look on the example.

     

    I would use some print()-commands in order to get information about what is going wrong.

    So you can see step by step where the first problems in the code appears.

     

    Do you load your sprites at game-start? If not this would explin, why there is nothing there any more.

    Otherwise you should test with some more print()-commands...

  5. I just want all other modders to know that I am working (for the last 2 months)

    on my Server-Mod for "Zeeks Apocalypse Roleplay-Server".

     

    The mod was installed yesterday, so it is still "in progress"

    and right now tested by our player-community.

     

    At the moment there are certain parts included:

     

    Autoupdater:

    - automaticaly checks for version of the mod on the server and downloads new versions.

    - at the moment not working bugfree: after instaling, the game freezez, but the second time you can login without any errors.

     

    Strangers:

    - That's the interesting part for the players.

    - When you meet a player the first time he is named "Stranger #" on screen.

    - You can rename him to any name you want and after this your given name is shown on screen (for you)

    - Also the chatbox shows the name "Stranger #" or "Voice #" if you did not meet him yet.

     

    Some admin-stuff:

    - Corpse will disappear after a cerain amount of time (no results yet) - (in future version perhaps there will spawn new zombies instead)

    - some information for us admins, like some statistics

    - Error-uploader, so i get feedback about stack-traces in player-consoles.

     

    There are some more things planned, but they will need some more time.

     

    If you want to test the mod, then join our server:

    http://zeeksapocalypse.boards.net/

     

    Special thanks to Blindcoder for his support in all my questions concerning mods, functions, ...

     

    Edit:

    I was asked about a public release of my mod.

    I will post a public-version here on tis-forum, so other modders

    can have a look on the code learn and copy parts of it.

    But because it was a lot of time I spent in programming this mod for our roleplay-server

    and the time to update it constantly, I would not like any admin to use this mod

    on his server without permission.

    MODS_03.png

  6. There are also some other bugs still in the mod.

    I get some error-messages of admins using it on our RP-server, so there is still a mistake in the public version.

     

    (I fixed it for my own, but did not make any comments about it.)

     

    Who is actually working on this mod?

    If you send me the latest version of the files, i can have a look.

    (But only if the autor / actual developper is okay with it.)

     

    There are so much more possibilities:

    Why not set your own coordinates. Could be done simply by pressing some keys on the num-block.

     

    Does anyone here know how the included map works (technically)?

    It is soooo amazing to me, but I do not get how it works... :(

    Would be great to talk with some guys about some things like this.

  7. You are playing on singleplayer?

     

    Because if you are playing on a server, the server has to know that your character has build something, that the server should safe.

    Otherwise it is only seen by the client which build it, and it will disappear when you load the map (after new start of the game or when your character ran around the block.)

  8. To get all online players use code like this: (lists all usernames of the players online into the console)

    local players = getOnlinePlayers();for i=1, players:size(), 1 do	print("Player "..i..": "..getOnlinePlayers():get(i):getUsername() );end

    I never tried to reset the gametime, So this should be answered by some other person.

  9. I already read so much code from you blindcoder, so i think it will be no problem. :D

    I just want to know how it is working exactly.

    In order to prevent collissions with my mods and to find some new nice functions / ways which I can use for my mod-ideas. :D

     

    If anyone wants to start modding, I can recommend just reading blindcoders lua-files.:D

    (I think it is written really nice to understand.)

  10. Unfortunately, there is no possibility to "allow" users to use a mod on multiplayer.

    If the server-owner implements it on the server, you "must" have the mod installed, or you are not able to join the server.

     

    But back to the mod in general.

    As usual, a nice mod from blindcoder.

     

    I will have a look on the code and probably take the files into the mod-package we will install on Zeeks-Roleplay-Server. :D

     

    Thanks to you, blindcoder. You are doing a lot for the PZ.-community!

  11. Check ProjectZomboid\media\lua\client\BuildingObjects\ISUI\ISBuildMenu.lua:

     

    Line 362: ISBuildMenu.onPillarLamp = function(worldobjects, square, sprite, player)

    ...

    Line 435: ISBuildMenu.onWoodenPillar = function(worldobjects, player)

    ...
    etc.

  12. Here is a example Blindcoder has send to me a while ago:

     

    On Client:

    if isClient() then   --sendClientCommand(player, module, command, args);   sendClientCommand(playerNumber, "testMod", "testCommand", {foo: 1, bar: "abc"});end

     

    On Server:

    testMod = {};testMod.OnClientCommand = function(module, command, player, args)  if module ~= "testMod" then return end;  if command == "testCommand" then    print("Player: "..player..": Foo: "..args.foo.." Bar: "..args.bar);endEvents.OnClientCommand.Add(testMod.OnClientCommand);

     

    I also found some more functions in the vanilla lua-files. But I don't know yet how they work exactly. (I have to check the files how it is done there and test it for my planned servermod.)

    Might eventually also be interesting for you.

    vPlant.gridSquare:transmitModdata()thumpable:transmitCompleteItemToServer()object:transmitUpdatedSpriteToClients()self.thumpable:transmitUpdatedSpriteToServer()object:transmitCompleteItemToClients()sq:transmitRemoveItemFromSquare(object)

     

  13. In order to run it on multiplayer, there have to be some changes in the mod-code.

     

    On your local client, you can not spawn any zombies (because only the server can spawn zombies),

    and the server does not spawn zombies because the mod is written for local computers.

     

    This could be done with clientcommands:

     

    If the mod is running on your client, then the client can send a clientcommand to the server instead of trying to spawn zeds himself.

    Then the server has just to spawn a zed on the requested square.

     

    But this should be done with all changes.

    Because I think otherwise, the changes are only on your local map (like probably at the moment).

    If you run around the block and the map-tiles are reloaded from the server, they will be overwritten and there will be no dirt on the floor.

    If the changes are made by the server, the changes will be safed on the map.

     

    So perhaps the autor of the mod will try to do these changes.

    (But I can tell you, it is more difficult to test it, because you need your local server, two clients to check errors with more than one player in game, ...)

  14. Yeah, Dropbox is one way to hand out the needed files to users.

     

    But imagine in a new modversion there is a file now not used any more (for example because lua-files were merged),

    Then if a user just copies and overwrites the old files, the not used file is causing a checksum error.

    The only safe way is to delete all files, and manually install the mod once again.

     

     

    I wrote my own autoupdater for our servermod (WIP, actually test-period before installing it)

    in order to handle all the manual installation of new versions.

     

    But i am really afraid of some users having checksum-errors.

    Beacuse as admin I cannot really help them, because there is no feedback which files are wrong.

  15. I use a search-program called "aborange Searcher" to search text in the lua-files in the /media directory.

    This way you just have to search the function you want and can look into the lines with the command even without opening it.

    You get the whole line and line-nr displayed.

     

    With this program I "copy-and-paste"ed nearly my whole modscript. :D

     

    And another experience:

    Use a lot of 'print()' commands in order to give you feedback in the console about what is actually going on, how the values of the variables are, etc.

    After checking, you can just comment them out, and if you have to change some lines of script, you can comment them in again if you have to fix some bugs.

     

    Modding itself is very easy.

    At least if you do it step by step and always check your code after each step with print commands.

×
×
  • Create New...