OLD Players

User avatar
pooty
Posts: 577
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: OLD Players

Post by pooty »

Almost everything needs tweaked after really playing with people on the server, bots get you close but when you add in the the leons, taters, terminators, rogers.... things you didn't think of or bots never did appear.
ItsMeAgain
Posts: 16
Joined: Thu Nov 04, 2021 11:18 pm

Re: OLD Players

Post by ItsMeAgain »

I decided to go ahead and finish it before break. Here is the link to a google drive share. Please review and let me know what needs changing.
LinkFlyer
User avatar
captainsnarf
Posts: 295
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Contact:

Re: OLD Players

Post by captainsnarf »

Nice!

Here is what I found. In LinkFlyerWeapon

Code: Select all

defaultproperties
{
    WeaponFireAttachmentBone="Muzzle"
    YawBone="Object02"
    PitchBone="Object02"
    Mesh=SkeletalMesh'ONSWeapons-A.PlasmaGun'
}
I know that for the mesh 'ONSWeapons-A.PlasmaGun', those values are not right. It doesn't matter as much in this particular case since PlasmaGun is an empty mesh, but it does still have bones. They should be:

YawBone=PlasmaGunBarrel
PitchBone=PlasmaGunBarrel
WeaponFireAttachmentBone=PlasmaGunBarrel

This will change where the bullets emanate from. With the wrong bone name the get coordinate method will return 0,0,0 so they are probably emanating from the center of the mesh currently. It's a minor difference, probably not very noticeable. Probably not worth fixing this version.

Code: Select all

    FemaleSuicide="%o has problems controling her Link Flyer..."
    MaleSuicide="%o has problems controling his Link Flyer...
'controlling'

Looking forward to trying it out :)
User avatar
pooty
Posts: 577
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: OLD Players

Post by pooty »

Looks really good.

Even with the Mesh item it seems to fire and look ok. The one thing I noticed though was you can't shoot down, basically underneath you. Not sure if that's intentional, but for healing vehicles you almost need the ability to shoot directly below.
User avatar
pooty
Posts: 577
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: OLD Players

Post by pooty »

So it doesn't work right on the server. I added it to the vehicle load out map. It flies, but the primary fire doesn't work, and the link beam is erratic.
User avatar
captainsnarf
Posts: 295
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Contact:

Re: OLD Players

Post by captainsnarf »

pooty wrote: Fri Nov 26, 2021 1:02 pm So it doesn't work right on the server. I added it to the vehicle load out map. It flies, but the primary fire doesn't work, and the link beam is erratic.
This is always the frustrating part. It works on my machine™ is always a devs famous last words :D

Best way to fix these is to setup another machine on the lan running UT2004. Use it to connect to your dev machine by IP address (use add to favorites functionality). On your dev machine, when you run your game with your mod, run ut2004.exe with -lanplay flag. This will make the mod download quickly to your client machine without needing to setup a redirect. Without the flag it downloads mods on the LAN extremely slow.

Generally, the only difference between client and server is if the method has 'simulated' on it or if the variable needs to be replicated. I will add log('') statements, e.g .

Code: Select all

	log("Current Rotation="$WeaponFireRotation$" My Flag="$bMyFlag);
log statements are weird how they concat string with $ symbol so I wanted to show an example.

Run the game, check the logs on the server machine, then check the logs on the client machine. You'll notice some of your variables are not set on the client, maybe bMyFlag is always false. This means it needs to be in replication block, e.g.

Code: Select all

replication
{
    reliable if(Role == ROLE_Authority)
    	bMyFlag;
}
You'll also notice your log statements never get called on the client. This means that function is not called on the client. It might need 'simulated' modifier. It also might need to be redesigned unfortunately.
Post Reply