Jump to content

Recommended Posts

Hi guys!

First of all, I have to thank Mateos for his help, without whom I wouldn't be here. 

I am a big fan of the RtCW game. I missed 8 years, then returned to RtCW in 2020. I am very happy to see that there are still active players, so I started setting up servers. I currently run 3 servers, one of which is omni-bot. (More info: rtcw.hu)

I have many questions, but I will try to summarize them briefly:

- Is there a similar program to RtCW that would make my job significantly easier?
=== I see that there is one for ET: http://svn.assembla.com/svn/omnibot/Enemy-Territory/0.8/tools/route_tool/ or OB_DMS https://www.mediafire.com/file/r78cd624jmjwr09/OB_DMS.zip/file 
I see that this is a good program that would make my job easier! So is such a program available for RtCW? (Pictures attached)

- The question is, how to specify something to do with the bot?
=== For example the radar_b1 map Allies spawn. Bots start by firing a gun at the window. How can this be programmed? (They only advance if the player shoots out the window.)
Then mp_ruiner map.  I lead the bots to the big gate, where at first the bots just run around, then they realize that dynamite needs to be installed, but minutes go by until then, this doesn't look very good in gameplay. 
The other way is up a ladder to a cliff where they don't deposit dynamite at all. I believe these features work by default, no?


 

2022-10-07-214133-goldrush.jpg.b8909029614f763b0397151bb244f9b8.jpg

OB_DMS.jpg.013291b800377249a68b93c3697d0c84.jpg

Edited by PuNkReAS
Link to comment
Share on other sites

  • Moderators

Hi,

I never used OB_DMS. I use keyboard shortcuts for everything. You can bind keys to Omni-bot commands in your server config.

bind KP_INS "bot addbot"
bind KP_DEL "bot kickall"
bind g "bot sag"
bind = "set timescale 9"
bind - "set timescale 1"
bind BACKSPACE "noclip"

You can also define your custom commands in file omni-bot/rtcw/scripts/rtcw_autoexec_user.gm

Commands["wc"] = function(_params)
{
	ExecCommand("waypoint_addflag crouch");
};
Commands["g"] = function(_params)
{
	ExecCommand("goal_create " + _params[0] + " " + _params[1]);
};
Commands["gp"] = function(_params)
{
	arg = _params[0];
	if (tableCount(_params) > 1) {
		arg += " " + _params[1];
	}
	ExecCommand("goal_setproperty " + arg);
};
Commands["nav"] = function(_params)
{
	if(_params[0]==null){ ExecCommand("waypoint_clearproperty paththrough"); }
	else{ ExecCommand("waypoint_setproperty paththrough Navigation_PT:" + _params[0]); }
};

Bots need a gm script in order to know what to do. Have you read the wiki ?

If you already made some waypoints, please post them here.

Link to comment
Share on other sites

Thank you for your reply Palota! 
I'll start by saying that I'm just an enthusiastic tester, not a programmer. I've been involved in setting up and testing our servers but I have some beginner bots knowledge. So I am learning :)
- Well, does the noclip work? I have needed it many times already...does it only work for key command invocation (for example:bind BACKSPACE "noclip") can't it be written into the console or put into the map startup code? For example: "wolfmp +set fs_game omnibot +map mp_escape - noclip" (will this work?)
- Yes I looked on the wiki but I had difficulties (English on one hand and programming on the other. But both can be learned I believe :)
It's good that you showed me a code snippet right away, so I can get straight to the point, this is exactly where I got stuck: programming gm files. Dumping and setting up waypoints is lengthy but I like doing it, but I can't manage the gm files. 
Yes I have at least 10 maps for which I have created the waypoints, but maybe more. However, this way I can't publish them on a public server, because it's funny how the bots just run around the map without a destination. I can create the mapgm and the goals gm ("bot makemapgm", "/bot goal_save") but I can't type in when to do what.
My last job is the ww_beach map (wildwest_beach) where the waypoints are 95% done and the allies go for the obj but can't get it to the goal, so I didn't continue working on the map (I wrote about it here: Fearless Assassins.  I upload the working files here, and map dl: Wildwest Beach

(Then the ff_axis_complex v2 is my latest work where the flag is in another room and therefore cannot find the allies checkpoint however if I delete the goals file then it works with the map. Interesting :))

I have more maps questions, but let's not get ahead of ourselves...

wildwest_beach.gm wildwest_beach.way wildwest_beach_goals.gm wildwest_beach-jobb.way

Link to comment
Share on other sites

  • Moderators
  • noclip works only if cheats are enabled. To enable cheats, you must start a map with devmap command instead of map command.
  • English is easy to learn. Programming languages are hard to learn.
  • Wildwest beach is similar to mp_beach. I would recommend to look into file mp_beach.gm to find some inspiration.
  • Engineer try to plant a dynamite on the nearest waypoint. If the nearest waypoint is behind the wall, they cannot get to it and fail. You should move the waypoints near the beach wall.
  • You must create a CAPPOINT goal at the mine cart where the gold has to be delivered.
  • Why there is usepath property at the waypoints near the mine cart ? You should never use usepath, it is obsolete. If you remove it, then bots can go downstairs to the gold.
Link to comment
Share on other sites

  • 1 month later...

Thanks for the advice. I will finish this map later.
I have some important questions. From the beginning, I don't know how to load .bsp files into the RtCW 1.4 client? I am building a new server, the test version is already available. The point is, I am transferring Single Player maps to MultiPlayer and I have a map (Baseout) with .bsp, .script .way file available for me. The map works, but the bug is that after the Axis spawn, the bots run in the wrong direction, leaving the obj virtually unguarded, so the Allies can win in 40 seconds. I should edit it to make them run in the right direction or to protect the obj, but I can't load the map edit. I can only load .pk3 files. So: how to load bsp files into RtCW 1.4 client? 

Link to comment
Share on other sites

  • Moderators

I think it's impossible to directly load a .bsp file. But you can easily make .pk3 from it. Create a new maps folder, move .bsp and .script files into the folder, compress the maps folder to ZIP, rename ZIP to PK3, then move PK3 to Return to Castle Wolfenstein/Main.

Link to comment
Share on other sites

  • 3 weeks later...

Well I think I'm completely lost. Before I jump out the downstairs window, I thought I'd ask a quick question. 
mp_beachii map. // DL: mp_beachii_breezie.pk3

I used the Wolfbot converter as a first step. // DL: wolfbot_converter 
Someone made the files for this map for which I am very grateful, but I am scratching my head while doing it. It's beside the point that step 5 has NEVER worked.

Quote

 

(1. Open a command prompt and navigate to the location of WpsRead.exe
2. Make sure the waypoint you want converted is in this folder.
3. Run WpsRead.  Format: WpsRead.exe <wps-file> [txt-file]
4. Take the output, rename to filename.gm and move it to "omnibot-rtcw\omni-bot\rtcw\scripts"
5. Open the desired map and issue command "bot convert"
6. Done.)

The 2 files are done, hooray! 
If I copy these two files into the /nav folder the bots work, with 1-2 small bugs but they work.

I thought I'd fix the broken waypoints...ladder climb, path to flag etc. I did. I also managed to recreate the gm file...but I wish I hadn't touched it... Allies finds the obj but forgot to take it to the ship. And Axis doesn't know that the Allies ship needs to be blown up.
For sure the original 2 files the converter made are not good, I think the gm file has the waypoints, but how? omfg lol...

Please see what I should and where to write, because I don't know what to do anymore.

I upload here the converted files and the ones I generated:converted_mp_beachii.gmconverted_mp_beachii.waymp_beachii.gmmp_beachii.waymp_beachii_goals.gmmp_beachii_goals.txtmp_beachii_test.gm

Link to comment
Share on other sites

  • Moderators

You've converted the waypoints successfully. Now you should create some goals.

  • Add a CAPPOINT goal at the ship so that Allies know where to take the documents
  • Add three GRENADE goals to destroy barriers on the beach
  • Enable MOUNTMG42 goals for Axis team
  • Change priorities. CHECKPOINT_beach_flag should have the same priority as FLAG_War_Documents.
  • Create routes.
Link to comment
Share on other sites

Posted (edited)

Well, I'm glad! Thank you for your reply!
- Please can you also link how to shoot out the window with them? For example, for the radar_b1 map, when the Allies start by shooting the window with a gun.
In the axis_railway map I showed you earlier, I had to delete a route because the window doesn't fire:image.png.83faab621e9fcc0306868b69e7224b

image.png.73a6bff204e6c9cb37efefcfdb1e24

- So if I turn this on: 
 'Availability' will they already repair the MG42 guns?

Okay, well I'll try, I'll come back one day, whether I succeed or not :)

 

Edited by PuNkReAS
Link to comment
Share on other sites

  • Moderators

To shoot windows you have to add this line into the OnBotJoin function:

bot.TargetBreakableDist = 90.0;

New scripts already have that line, then just delete //~

You can use regular expressions .* to enable all MOUNTMG42 and REPAIRMG42 goals:

SetAvailableMapGoals( TEAM.AXIS, true, ".*MG42_.*" );

 

Link to comment
Share on other sites

Posted (edited)

To shoot windows you have to add this line into the OnBotJoin function:

bot.TargetBreakableDist = 90.0;

New scripts already have that line, then just delete //~

Its working ^^

Edited by PuNkReAS
Link to comment
Share on other sites

  • 2 weeks later...
Posted (edited)

mp_basor2light.pk3 
What am I doing wrong again? The paths are pretty much done, Allies finds the obj, 'route' is inserted -I guess not in the right places- and 'cappoint' at the exit. 
Of course it's funny that  Allies  drops a  dynamite  at the exit without a waypoint leading there... 

image.png

basor2light.way basor2light_goals.gm basor2light.gm basor2light_goals.txt basor2light_test.gm

Edited by PuNkReAS
Link to comment
Share on other sites

  • 1 month later...
Posted (edited)

How can this be done? It's okay for the Engineers to come here to install dyna, but how can you make it so that the others aren't there until after the door has blown up?

edit: I solved it in the meantime

image.thumb.png.f4bb3f6bd29e6d6e8dcaf265d09acb06.png

Edited by PuNkReAS
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...