Some questions to whoward69 (or anyone who can answer them)

Serp

King
Joined
Apr 1, 2015
Messages
661
In the following I will write "you" which means "whoward69". It was a PM previously, but whoward69 asked me to post it, so everyone is able to see it.


1) I improved some of your mods. Would be great if you could take a look at them (see my profile). And feel free to improve them further and update your mods with my changes. If you don't want to update your mods, am I allowed to upload them at steam (only the ones I changed with link to your picknmix website... your DLL is needed anyway) ?

2) You created an Event, that is triggered when a unit is captured. But during improving the Prospector unit, I noticed that it not returns the player who captured the unit. So I had to build a little workaround... but maybe, if you plan to update your DLL, you could add this information

3) I wanted to make your "Global - City States Gifts (v 4)" mod usable for multiplayer. In mutliplayer are no pop ups, so after discovering a city state you can just guess what you got from them.
I tried to add ingame messages (Events.GameplayAlertMessage) into the OnPopup function, but I noticed, that this function is never called in multiplayer while discovering a city state. So I don't know, how to get the information stored in PopupInfo.
Let's assume this problem can be solved, another problem with ingame messages is, that it seems all active player see this message. so in a simultan multiplayer game, all see the message. A workaround would be of course a notificatin popup instead of a message.

4) The "recall" function from your "UI - Trade Routes Enhancements" mod is not multiplayer compatible. I guess it is because PopUps only can do changes for the active player.
This is not only a problem for this mod, but for many many other mods. So do you know a way, to make choosing in popups multiplayer compatible?
In your UI-CityExpansion mod I solved it by introducing a new building. So you can choose automatical city expanding via constructing this building.

Edit:
E.g your DLL - Various Mod Components (v 66) makes shoshone unplayable in mutliplayer. I guess because you made a custom Pop-Up for their goodyhuts choosing.. which does not work in multiplayer.
 
Any news about one of these issues yet? :)

unfortunatly neither whoward nor Gazebo are answering to my PN's =/

At least question 4 is really important for all mods, which should be played in multiplayer. As I know Gazebo is working to make his CP multiplayer compatible, so I don't know, why he does not answer...
 
I don't think you can edit the net command to have a custom action dispatched to other players in MP.

The only way I can think of would be to hack into Events.GameMessageChat.

edit: or maybe

Code:
gDLL->sendDoCommand(iUnitID, ((CommandTypes)iData2), iData3, iData4, bAlt)

and

Code:
CvDllNetMessageHandler::ResponseDoCommand(PlayerTypes ePlayer, int iUnitID, CommandTypes eCommand, int iData1, int iData2, bool bAlt)

using an unit ID which is not a valid unit ID and do our stuff instead when receiving the invalid ID :think:
 
I don't think you can edit the net command to have a custom action dispatched to other players in MP.

The only way I can think of would be to hack into Events.GameMessageChat.

edit: or maybe

Code:
gDLL->sendDoCommand(iUnitID, ((CommandTypes)iData2), iData3, iData4, bAlt)

and

Code:
CvDllNetMessageHandler::ResponseDoCommand(PlayerTypes ePlayer, int iUnitID, CommandTypes eCommand, int iData1, int iData2, bool bAlt)

using an unit ID which is not a valid unit ID and do our stuff instead when receiving the invalid ID :think:

Thank you very much for you answer Gedemon =)

I'm not sure if I understood what you suggest, I will try to summarize, what I think I understood ;)

The sendDoCommand and ResponseDoCommand are exisiting functions we can use. With sendDoCommand we can "send" the information in the arguments and with ResponseDoCommand we can receive sent information ?

And how would this be built into a decision made via popup? I guess we would wirte the sendDoCommand into the popup function and try to send the choosen option to other players?

I don't think I understood how we can use this, to solve the popup problem.
Can you elaborate?
 
That were my thoughts when I was looking at MP modding (still in my mind, but postponed):

In the DLL sendDoCommand is called by SelectionListGameNetMessage which is exposed to Lua.

call Game.SelectionListGameNetMessage with your popup result in Lua, edit the DLL so SelectionListGameNetMessage can call gDLL->sendDoCommand with your custom data (or create a new function exposed to Lua), edit ResponseDoCommand do catch the data and do what you do in Lua after the popup but in C++... Or put a GameEvent there to handle it in Lua.

That's theory, if the netcode (that we don't have access to) check the data validity, nothing will go through, and you're only left with hacking Events.GameMessageChat and Network.SendChat
 
That were my thoughts when I was looking at MP modding (still in my mind, but postponed):

In the DLL sendDoCommand is called by SelectionListGameNetMessage which is exposed to Lua.

call Game.SelectionListGameNetMessage with your popup result in Lua, edit the DLL so SelectionListGameNetMessage can call gDLL->sendDoCommand with your custom data (or create a new function exposed to Lua), edit ResponseDoCommand do catch the data and do what you do in Lua after the popup but in C++... Or put a GameEvent there to handle it in Lua.

That's theory, if the netcode (that we don't have access to) check the data validity, nothing will go through, and you're only left with hacking Events.GameMessageChat and Network.SendChat

Okay... I think I will need some time to understand this .. (I have no knowledge in C++ and about DLL, but maybe Lynnes has?)

But may I ask for what problem this would be the solution? The word "message" appaers very often in your commands. So is this the solution about my question Number 3) ?
Or is it for question 4) ? If so, would this really give all players information about the chosen option from a specific player, so would solve the problem described in question 4)?
 
It's to make a custom action that could lead to desynch from a mod MP compatible, whatever the action (choosing from a popup or new action button on the unit for example). Of course "whatever" has to be modified for MP.

And again it's just theory, it may not work at all, and I would recommend to not use simultaneous move in MP modded games.
 
It's to make a custom action that could lead to desynch from a mod MP compatible, whatever the action (choosing from a popup or new action button on the unit for example). Of course "whatever" has to be modified for MP.

And again it's just theory, it may not work at all, and I would recommend to not use simultaneous move in MP modded games.

okay, thank you for your time :)

So there is no way, to do it like the game itself does it?
I mean e.g the Shoshone.
In a unmodded game you can play with them in MP and you have no problems when choosing your bonus from goody huts.
But when you made your own popup in a mod, it does not work in MP.

Why is it not possible to copy the behaviour of the game popups?
 
Top Bottom