|
Post by Quintaxel on Dec 11, 2019 13:09:02 GMT 1
Okay, can you share it ? Best option would be to share a directory in of a cloud service like Googledrive.
|
|
|
Post by Quintaxel on Dec 12, 2019 13:21:22 GMT 1
.... BTW, I should mention that the map I was working on is a multiplayer map, if that makes any difference. ... As I mentioned earlier, I do not have experience with multi-player maps. Can a 2 vs 2 map also be played as 1 vs 1 or do you need to create two separate maps for this ? I think I could write a function to find out which player occupies an airfield. This function would return the party occupying the airfield. If this function is run every 15 seconds then we could check the current situation vs the previous situation. So if the function runs for the first time and returns 3, the we know that Player 3 is currently occupying the airstrip. If the function runs again after 15 seconds and returns 3 again then we know that player 3 occupied the airstrip for at least 15 seconds. I'll have to find some time to put this into script but I'm sure it can be done.
|
|
|
Post by dogofwar on Dec 12, 2019 13:51:58 GMT 1
Yes, map can be played as either 1v1 or 2v2, there are reinforcement groups for both. What map did you want me to share, the one I did six years ago or the sandbox map I just put together as you suggested? I will just first need to get the local computer service guys to walk me through setting up a share directory like googledrive.
|
|
|
Post by Quintaxel on Dec 12, 2019 15:21:30 GMT 1
Hmm... this will complicate things because the script will have to find out the number of players actually playing the game.
Please share the sandbox map. Best thing is to share a folder.
If you give me an e-mail (use PM for this) then I can send an invitation for setting up an P-Cloud account so you will not need a computer service guy. P-Cloud will give you 10 Gb of free could space, is quite safe and very user friendly.
|
|
|
Post by [BMG]Neutro on Dec 12, 2019 16:29:17 GMT 1
1. Forget about the AI in MP. Basically their is no real AI existing in BK, its more or less all controlled via script and therefore rigid and predictable. 2. Like in a Singleplayer map your create the number of parties you want to have. 1vs1 = 3 parties (0,1,2 neutral) 2vs2 = 5 Parties (0,1,2,3,4 neutral) This means if you play a 2vs2 map with only 2 players 1vs1, 2 parties and their units simply missing and dont show up on the map. Maybe it would be the best to create simply two versions of the map. 3. The MP script from Schrotti have such feature, its in my bugreport included Quin.
function Check_Player() sas = 0 sae = sps - 1 sbs = sps sbe = max_player seite_d = PPS(sas, sae) seite_u = PPS(sbs, sbe) tmpd = 1000 tmpu = 1000 for z = 0, max_player do if IPP(z) == 0 then if z < sps then if seite_d > 0 then while sas <= sae do if IPP(sas) == 1 then if GetNUnitsInPlayerUF(sas) < tmpd then tmpd = GetNUnitsInPlayerUF(sas) min_ply_d = sas end end
sas = sas + 1 end sp_min_d = min_ply_d + 1 reinf_d = sp_min_d * 100 + std_reinf LR(reinf_d) end else if seite_u > 0 then while sbs <= sbe do if IPP(sbs) == 1 then if GetNUnitsInPlayerUF(sbs) < tmpu then tmpu = GetNUnitsInPlayerUF(sbs) min_ply_u = sbs end end
sbs = sbs + 1 end sp_min_u = min_ply_u + 1 reinf_u = sp_min_u * 100 + std_reinf LR(reinf_u) end end end end
std_reinf = std_reinf + 1 if std_reinf > max_reinf then std_reinf = 0 end switch = 0 end
Corresponding INIT and other values are in the script file i am not exactly sure which parts belonging to the function.
|
|
|
Post by Quintaxel on Dec 12, 2019 21:53:53 GMT 1
Nice scripting but this function does more then merely checking the number of players in the game. I think it could The problem is that I have little knowledge of MP games. In the editor there are 2 types of MP games namely "flag control" and "Assault". I do not know the difference between the two game types. I will run some checks.
|
|
|
Post by [BMG]Neutro on Dec 12, 2019 22:55:27 GMT 1
Yes the script does more.. i just wanted to show a example for checking the amount of existing players. Flag Control: You have a number of Flags lets say 3 on the map. If a Team captures all 3 Flags they win the game. Alternatively way to win ...your Team earn "flag points" for every flag that is under your control, the more flags you have the faster you earn flag points. After the match time e.g. 90 min (set by host) are over the team with the most flag points win the game. Assault: One Team is attacking, the other team is defending. On the map side of the defenders, can be one or more flags. if just ONLY ONE of this flags is captured by the attcking team they win the game. The defending team is winning after the match time is over without losing any flag.
Flag points do not exist in Assault mode.
99% of all multiplayer maps are Flag Control. (more fun and the match is not so fast over)
i hope this helps Quin
|
|
|
Post by dogofwar on Dec 13, 2019 1:16:20 GMT 1
Quintaxel....Yes, I can PM you an email, once i figure out where the PM option is.
|
|
|
Post by Quintaxel on Dec 13, 2019 12:44:15 GMT 1
I think you can get the number of player and player number using the script below. When a player has joined a game then the units belonging to this player have been placed on the map. The function checks this for player 0 to 10. (10 or the maximum number of players that can join a MP game). When a player is on the map then this is stored in a global variable (integer value 1) I cannot test the script because it's intended for a MP game.
function GetNPlayerUF ()
local i,p; local p = 0;
for i = 0, 10, 1 do -- 10 is max number of players ? party = "party" ..i; if GetNUnitsInPlayerUF (i) > 0 then p = p + 1; DisplayTrace (party); -- Debug only SetIGlobalVar ("party", 1); end; end; DisplayTrace ("There are %g players in the game",p); -- Debug only Suicide (); end;
|
|
|
Post by dogofwar on Dec 13, 2019 17:48:47 GMT 1
ok Quintaxel, I am signed up on pCloud now. Just trying to figure out how to upload just the sandbox map, as it wants to upload the entire Map Editor.
|
|
|
Post by dogofwar on Dec 13, 2019 19:42:26 GMT 1
ok Quintaxel, I think I am set to send you this sandbox map bzm, all I need is for you to PM me your e-mail now. And please let me know if it sent you my entire BK map editor, or just the sandbox map bzm.
|
|
|
Post by [BMG]Neutro on Dec 14, 2019 14:08:49 GMT 1
I will test the script 1vs1 okay...
btw QUIN BK can manage up to 16 players in mp one of the standard mp maps from the developers is a 16 player map but realistic is 3vs3 because of the lag and well bk ist not a stable game in mp ...
function GetNPlayerUF ()
local i,p; local p = 0;
for i = 0, 10, 1 do -- 10 is max number of players ? party = "party" ..i; if GetNUnitsInPlayerUF (i) > 0 then p = p + 1; DisplayTrace (party); -- Debug only SetIGlobalVar ("party", 1); end; end; DisplayTrace ("There are %g players in the game",p); -- Debug only Suicide (); end;
|
|
|
Post by Quintaxel on Dec 17, 2019 12:30:05 GMT 1
dogofwar, As I understand it in a map 2x2 there are 2 players belonging to the same party (German) If one player captures an airfield he can drop paratroopers. The player can not select the drop zone. The drop zone is the airfield that is occupied. He can do this 8 times on the condition that he occupies at least one airfield. This goes for each German player. So each 'German' Player could have 8 airlifts per airstrip or a total of 32 airlifts. The potential number of airlifts per occupied airstrip is 8. So to get the maximum number of airlifts (32) the German player will have to occupy the 3 airstrips. (Taking into account the set rules for occupation) Is this correct ?
|
|
|
Post by dogofwar on Dec 17, 2019 17:02:55 GMT 1
No....Each German player only gets 8 airlifts, period. Whether they all come in at same airstrip, or are spread out between 3 airstrips. Each German player has potentially 8 airlift groups that can be airlifted into captured/controlled airstrips. Even if Germans control all 3 airstrips, each German player still only gets 8 airlifts total. The only advantage of Germans controlling all 3 airstrips, is that each German player's 8 airlift groups can come in faster, as well as threaten more areas;
1- If Germans control Maleme Airstrip, each German player airlifts in 1 airlift group into Maleme Airstrip every 10 mins till all 8 airlift groups of each German player have landed. At this rate, it would take 80 mins for all 8 airlift groups to land.
2- If Germans control Maleme & Retimo Airstrips, each German player airlifts 1 airlift group into Maleme Airstrip and 1 airlift group into Retimo Airstrip every 10 mins till all 8 airlift groups of each German player have landed. At this rate, it would take 40 mins for all 8 airlift groups to land.
3- If Germans control Maleme, Retimo & Herakleion Airstrips, each German player airlifts 1 airlift group into Maleme Airstrip, 1 airlift group into Retimo Airstrip, and 1 airlift group into Herakleion Airstrip every 10 mins till all 8 airlift groups of each German player have landed. At this rate, it would take 30 mins for all 8 airlift groups to land.
Airlift groups airlift into airstrips in this manner, so long as Germans continue to control the airstrip.
|
|
|
Post by Quintaxel on Dec 17, 2019 19:30:16 GMT 1
Okay, I think I got it. I will see if I can come with something basic for a 1 vs 1. I do most of my scripting when I go running. Looking outside it's dark, cold, windy and drizzling The next hour and a half looks promising
|
|