Black Cat Forums   Alien Swarm - Steampowered Forums
Alien Swarm 2K4 - ThieveryUT
Black Cat Games - TTLG Forums

Go Back   Black Cat Forums > Alien Swarm 2K4 Forums > Alien Swarm 2K4 Mapping

Notices

Reply
 
Thread Tools
Old 12th Jun 2008, 10:15 AM   #1
L'architecte
New Member
 
L'architecte's Avatar
 
Registered: Jun 2007
Location: France, Paris
Posts: 25
New marine profiles

Hi there

am back to AS after a (very long) while well I had started a few projects in the past, frozen for ages^^
I have worked alot on usript coding this year and as I still love ASw I think it could be a great idea to bring some new coding things (and maybe a map later...).

I get a little bored to play ASw with humans againts aliens so I am currently working on a new marine profile : the auxiliary drone. I might start to work later on a new monster with a kind of psionic lightning power (like in HL) and the aiblity of summoning parasites (yummy)

Well concerning the marine profile : in fact there are two new profiles, the drone itself which is an authentic robot, and a bionical enhanced dolphin (based on the Neofin model).
Both are used for maintenance, earthworks, mining, mechanical assistance etc and can be only equiped with melee weapons (ie the chainsaw and a new melee weapon I had started to developp : the pneumatic drill).





New features :
  • 1░ bionical enhanced dolphin (aka Flipper)
    bWorker //disallow non melee weapon
    bDolphin // echolocalisation : works as the radar map but applied directly in the map for the dolphin only. That means you can spot any monster around you in your default view radius, even if moving in the dark. At level 5 xp, gains an autoaim ability (yes, for melee weapons)
    Btw melee weapons counts as extra items (with no ammo needed), also the dolphin may carry 2 sentrykit, 2 ammobags or whatever in two exemplary

  • 2░ assist drone :
    bWorker
    bRobot // parasites never effect the robot, hostile environnement (no oxygen, toxic atmoshpere...) doesn't affect him
    No special ability for the moment, but I may not continue to work on that profile.
Coding problems :
  • bRobot means immune to parasites and no need to use oxygen masks. this coding part is horrible to do.
  • bWorker : I dont know at the moment how to prevent players to choose non melee weapons but it doesnt look too hard
  • I tried to compile it in the default AOSoldierProfiles.u file, but even if the compilation (with WotGreal) works and says it is released without any errors, it is not released. Maybe the file is protected ? The best solution could be to add the new profile with a mutator loaded before the game, but I had lots of difficulties with it (i mean with the mutator system)
Wanna have a look at the code ?

SoldierProfileFlipper.uc
Code:
//-----------------------------------------------------------
//
//-----------------------------------------------------------
#exec OBJ LOAD FILE=AoPrototype.u
class SoldierProfileFlipper extends AoMarineProfile;
defaultproperties
{
Rank="Worker cyborg"
MarineName=none
ShortName="Flipper"
NickName="Flipper"
FirstName=none
Background(0)="A sort of dolphin mated to a hydraulic industrial style robotic arms and legs with jets and and air scoop like a harrier jump jet. Neo is geneticly enginnered to allow him to spend extended amounts of time outside water and he has a neural interface to allow him to control his robotic limbs directly."
Background(1)="Flipper was an experimental subject for geneboosted life forms associated with bionical systems. These hybrid troops are employed as auxiliary workers and are specifically trained to assist soldiers in the battle. Due to their great armor supplied strenght, they are often equiped with pneumatic machines specifically employed for earthworks, mining and any heavy mechanical assistance a human engineer could'nt afford."
Portrait=Texture'neofinTex.Portrait'
BigPortrait=Texture'neofinTex.Portrait'
Age=0.5
HealthMax=150
GroundSpeed=250.000000
WeaponAccuracy=1
// bTracker=True
// bWorker=True // allow only robot tools as weapon (chainsaw, impact hammer)
// bDolphin=True // Echolocalisation allowing a radarmap-like thing directly implemented in the map !
MarineIndex=8
ChatterSelection(0)=Sound'TauntPack.r_got_it'
ChatterSelection(1)=Sound'TauntPack.r_affirmative'
ChatterSelection(2)=Sound'TauntPack.r_roger'
ChatterSelection(4)=Sound'TauntPack.r_I_come_in_peace'
ChatterSelectionNum=4
ChatterSelectionWounded(0)=Sound'TauntPack.r_im_hit'
ChatterSelectionWoundedNum=1
ChatterUse(0)=Sound'TauntPack.r_im_on_it'
ChatterUse(1)=Sound'TauntPack.r_in_position'
ChatterUseNum=2
ChatterLead(0)=Sound'TauntPack.r_cover_me'
ChatterLead(1)=Sound'TauntPack.r_i_need_backup'
ChatterLeadNum=2
ChatterHold(0)=Sound'TauntPack.r_holdthisposition'
ChatterHold(0)=Sound'TauntPack.r_in_position'
ChatterHoldNum=2
ChatterCompliment(0)=Sound'TauntPack.R_nice'
ChatterCompliment(1)=Sound'TauntPack.r_ownage'
ChatterCompliment(2)=Sound'TauntPack.r_ohyeah'
ChatterCompliment(3)=Sound'TauntPack.r_isthatyourbest'
ChatterComplimentNum=3
ChatterFF(0)=Sound'TauntPack.R_youshotmyass'
ChatterFFNum=1
ChatterMedic(0)=Sound'TauntPack.r_medic'
ChatterMedicNum=1
/*
ChatterNeedAmmo(0)=Sound'TauntPack.r_i_need_backup'
ChatterNeedAmmoNum=1
*/
ChatterIncoming(0)=Sound'TauntPack.r_incoming'
ChatterIncoming(1)=Sound'TauntPack.r_were_being_overrun'
ChatterIncoming(2)=Sound'TauntPack.r_searchanddestroy'
ChatterIncoming(3)=Sound'TauntPack.r_under_heavy_attack'
ChatterIncomingNum=4
ChatterIdle(0)=Sound'TauntPack.r_rerouting_critical_systems'
ChatterIdle(1)=Sound'TauntPack.r_rogue_process_terminated'
ChatterIdle(2)=Sound'TauntPack.r_area_secure'
ChatterIdleNum=3
/*
ChatterReload(0)=Sound'TauntPack.Conrad.Conrad_rld_1'
ChatterReload(1)=Sound'TauntPack.Conrad.Conrad_rld_2'
ChatterReload(2)=Sound'TauntPack.Conrad.Conrad_rld_4'
ChatterReloadNum=3
ChatterNoAmmo(0)=Sound'TauntPack.Conrad.Conrad_nam_1'
ChatterNoAmmo(1)=Sound'TauntPack.Conrad.Conrad_nam_2'
ChatterNoAmmo(2)=Sound'TauntPack.Conrad.Conrad_nam_4'
ChatterNoAmmoNum=3
*/
DefaultPrimary="AoPrototype.AoAmmoBag" // ammo bag, sentry kit, medikit...
DefaultSecondary="AoPrototype.AoSentryGunCase" // ammo bag, sentry kit, medikit...
DefaultExtra="AoChainSaw.AoChainSaw" // marteau pneumatique ou tronšonneuse
VoicePackString="AoSoldierProfiles.AoVoiceFlipper"
// PawnClass=Class'AoPrototype.AoRobot'
MarineMesh=SkeletalMesh'Bot.BotB'
MarineBodyTexture=Texture'PlayerSkins.BotBBodyA'
MarineHeadTexture=Texture'PlayerSkins.BotBBodyB'
SpeechVolumeBoost=0.500000
}
BackGround(0) is the default model description made by its author (dont have the right inspiration for it now)

AoVoiceFlipper.uc
Code:
//-----------------------------------------------------------
//
//-----------------------------------------------------------
class AoVoiceFlipper extends AoDroneVoicePacks;
defaultproperties
{
     TauntSound(0)=Sound'TauntPack.r_area_secure'
     TauntSound(1)=Sound'TauntPack.r_incoming'
     TauntSound(2)=Sound'TauntPack.r_get_open'
     TauntSound(3)=Sound'TauntPack.r_holdthisposition'
     TauntSound(4)=Sound'TauntPack.r_witness_my_perfection'
     TauntSound(5)=Sound'TauntPack.r_in_position'
     TauntSound(6)=Sound'TauntPack.r_searchanddestroy'
     TauntSound(7)=Sound'TauntPack.r_ive_got_your_back'
     TauntSound(8)=Sound'TauntPack.r_rerouting_critical_systems'
     TauntSound(9)=Sound'TauntPack.r_rogue_process_terminated'
     TauntSound(10)=Sound'TauntPack.r_man_down'
     TauntSound(11)=Sound'TauntPack.r_am_on_it'
     TauntSound(12)=Sound'TauntPack.r_affirmative'
     TauntSound(13)=Sound'TauntPack.r_negative'
     TauntSound(14)=Sound'TauntPack.r_nice'
     TauntSound(15)=Sound'TauntPack.r_under_heavy_attack'
     TauntSound(16)=Sound'TauntPack.r_targeteliminated'
     TauntSound(17)=Sound'TauntPack.r_isthatyourbest'
     TauntSound(18)=Sound'TauntPack.r_talktothehand'
     TauntString(0)="Area secure"
     TauntString(1)="Incoming"
     TauntString(2)="Get open"
     TauntString(3)="Hold this position"
     TauntString(4)="Witness my perfection"
     TauntString(5)="In position"
     TauntString(6)="Search and destroy"
     TauntString(7)="I've got your back"
     TauntString(8)="Rerouting critical systems"
     TauntString(9)="Rogue process terminated"
     TauntString(10)="Man down !"
     TauntString(11)="I'm on it"
     TauntString(12)="Affirmative"
     TauntString(13)="Negative"
     TauntString(14)="Nice"
     TauntString(15)="Under heavy attack"
     TauntString(16)="Target eliminated"
     TauntString(17)="Is that your best ?"
     TauntString(18)="Talk to the hand"
     numTaunts=18
}
AoDroneVoicePacks
Code:
//-----------------------------------------------------------
//
//-----------------------------------------------------------
class AoDroneVoicePacks extends RobotVoice;
#exec OBJ LOAD FILE=TauntPack.uax
defaultproperties
{
     TauntSound(0)=None
     TauntSound(1)=None
     TauntSound(2)=None
     TauntSound(3)=None
     TauntSound(4)=None
     TauntSound(5)=None
     TauntSound(6)=None
     TauntSound(7)=None
     TauntSound(8)=None
     TauntSound(9)=None
     TauntSound(10)=None
     TauntSound(11)=None
     TauntSound(12)=None
     TauntSound(13)=None
     TauntSound(14)=None
     TauntSound(15)=None
     TauntSound(16)=None
     TauntSound(17)=None
     TauntSound(18)=None
     TauntSound(19)=None
     TauntSound(20)=None
     TauntSound(21)=None
     TauntSound(22)=None
     TauntSound(23)=None
     TauntSound(24)=None
     TauntSound(25)=None
     TauntSound(26)=None
     TauntSound(27)=None
     TauntSound(28)=None
     TauntSound(29)=None
     TauntSound(30)=None
     TauntSound(31)=None
     TauntString(0)=
     TauntString(1)=
     TauntString(2)=
     TauntString(3)=
     TauntString(4)=
     TauntString(5)=
     TauntString(6)=
     TauntString(7)=
     TauntString(8)=
     TauntString(9)=
     TauntString(10)=
     TauntString(11)=
     TauntString(12)=
     TauntString(13)=
     TauntString(14)=
     TauntString(15)=
     TauntString(16)=
     TauntString(17)=
     TauntString(18)=
     TauntString(19)=
     TauntString(20)=
     TauntString(21)=
     TauntString(22)=
     TauntString(23)=
     TauntString(24)=
     TauntString(25)=
     TauntString(26)=
     TauntString(27)=
     TauntString(28)=
     TauntString(29)=
     TauntString(30)=
     TauntString(31)=
     TauntAbbrev(24)=
}
This does the same thing as AoMArineVoicePacks but it extends RobotVoice and not MaleMercVoice (remember the dolphin is using a bionical microphone that sounds like a robot voice)

Ok what do you think of all these ideas ?

ps I need to translate french => english (my english isnt perfect is it)



edit : compilation problums solved : i got 2 alienswarms.ini files with different editpackages cmd lines^^ see how stupid i can be...
__________________
More than ever hour after our work is never over.

Last edited by L'architecte; 12th Jun 2008 at 01:21 PM.
L'architecte is offline   Reply With Quote
Old 12th Jun 2008, 03:43 PM   #2
Moses2k
Member
 
Moses2k's Avatar
 
Registered: Oct 2004
Location: Was actually here before Fuzz
Posts: 5,674
Seen Johnny Mnemonic recently?
Moses2k is offline   Reply With Quote
Old 12th Jun 2008, 04:01 PM   #3
L'architecte
New Member
 
L'architecte's Avatar
 
Registered: Jun 2007
Location: France, Paris
Posts: 25
 Originally Posted by Moses2k: ( link to post ) 
Seen Johnny Mnemonic recently?
nope, simply inspired by the model
__________________
More than ever hour after our work is never over.
L'architecte is offline   Reply With Quote
Old 14th Jun 2008, 10:17 AM   #4
L'architecte
New Member
 
L'architecte's Avatar
 
Registered: Jun 2007
Location: France, Paris
Posts: 25
ok for the moment marine profile is pretty hard to code, but I ve made it work as NPC.
Here is a list of the new NPC I have coded (using AOScientist's code) :
- Worker Drone
- Worker Cyborg
- Guerilleros (3 male models)
- Guerilleros (3 female models)

I'will add later a few more different ones, I need first to set up a new controller to give to the guerilleros that turn em agressive against both marines players and aliens.
All the sources are compiled in a new file, so if anyone wants to use it for its map, you dont have to replace any default AS file (easy to use )

What are the differences between the GM or GF ?
1░ not the same models
2░ Males move a bit slower than females but have a lil more HP
3░ Equipement may vary accoriding to models maybe, or it can be randomly given when spawned ?

I got troubles :

=> with giving them a weapon (I dont even know if it is possible).

=> there is also a problem with the scientist code : I tell him to follow me, then while he's moving I say hold position, but he continues to move straight in the direction he was moving before. He only stops if he encounters any obstacle (geometry / pawns / whatever)


Could you please tell me if it is possible to assign any equipement to NPC and how to do it please ?
__________________
More than ever hour after our work is never over.
L'architecte is offline   Reply With Quote
Old 14th Jun 2008, 11:54 AM   #5
Maniac
Member
 
Maniac's Avatar
 
Registered: Aug 2006
Location: Sweden
Posts: 46
Haha nice ^^
__________________
Game over man... game over!
Maniac is offline   Reply With Quote
Old 14th Jun 2008, 08:52 PM   #6
Fuzzy Bunny
Member
 
Fuzzy Bunny's Avatar
 
Registered: Sep 2004
Location: In before Moses
Posts: 4,002
 Originally Posted by L'architecte: ( link to post ) 
Could you please tell me if it is possible to assign any equipement to NPC and how to do it please ?
Try looking at how it was done for Williams in Ao-Rescue and Ao-EFR2-Trench.
Fuzzy Bunny is offline   Reply With Quote
Old 15th Jun 2008, 11:41 AM   #7
L'architecte
New Member
 
L'architecte's Avatar
 
Registered: Jun 2007
Location: France, Paris
Posts: 25
 Originally Posted by Fuzzy Bunny: ( link to post ) 
Try looking at how it was done for Williams in Ao-Rescue and Ao-EFR2-Trench.
Well I already had a look at it, but I havnt found anything.
I my case, I think I should add a function to my marines code that give em any actor to their inventory when they spawn.

I noticed Lt Williams has no inventory, maybe he is linked to a (ao) scripted sequence that assumes this role ? not sure about this cause I really found nothing

Concerning the new bots, I can create any kind of bots (it is really easy^^), they can be employed for a lot of differents scenarios. Just imagine the jungle themed campaign I started, where you should infiltrate a rebel base infested with both swarms and rebels
Or AO-BugCity during a civil war, with human replacing aliens... could be funny, esp if they are equiped with rifles or pistols

I still need to write the agressive controller making rebels... agressive, but dont expect too much from them^^


edit : ah Ive just found an actor in EFR2-Trenchwar, the so called AoTelicEquipHelmets_WilliamsSupported. Well I notice its properties looks the same as the alienspawner (in editor). Anyway this actor isnt placed in AO-Rescue, but Williams still gets his weapon I dont understand how...
__________________
More than ever hour after our work is never over.

Last edited by L'architecte; 15th Jun 2008 at 01:43 PM.
L'architecte is offline   Reply With Quote
Old 15th Jun 2008, 04:50 PM   #8
reemulmyu
Member
 
reemulmyu's Avatar
 
Registered: Jul 2004
Location: uk:somewhere in the verse
Posts: 587
ask the devs try dalai
__________________
also known as mega ,On the internet, everyone can hear you scream - it's just that no-one cares.except moses{also been known to use rapidfire}was also here before fuzzy and moses
reemulmyu is offline   Reply With Quote
Old 15th Jun 2008, 08:09 PM   #9
x-newbie
Member
 
x-newbie's Avatar
 
Registered: Mar 2006
Location: Hive
Posts: 348
I blame Donator for that.
Could it be relateted to EFR mutator?
x-newbie is offline   Reply With Quote
Old 15th Jun 2008, 09:56 PM   #10
Fuzzy Bunny
Member
 
Fuzzy Bunny's Avatar
 
Registered: Sep 2004
Location: In before Moses
Posts: 4,002
Kind of fumbling about in the dark, but this might help:
Code:
function BeginPlay()
{
	Super.BeginPlay();

	// when summoned needs to be set up
	if ( AoGameInfo(Level.Game) != None )
	{
		AoGameInfo(Level.Game).SetupNPC(self);
		AoGameInfo(Level.Game).AddDefaultInventory(self);
	}
	// add weapon
	Primary=AoGiveWeapon("AoEFRCode.AoDSMG_Conelly");
	Secondary=AoGiveWeapon("AoEFRCode.AoDSMG_Conelly");
    	GiveClips("AoEFRCode.AoDSMG_Conelly", 20);
	//GiveSecondaryAmmo("AoTelicBeta.AoDSMG",4);

	// bring it up
	if ( Primary != None)
		SwitchToBestWeapon();
}
Part of Conelly's code that might be relevant; taken from the AoEFRCode.u file.

Code:
// class of the current weapon this pawn is using
var class<AoWeapon> MarineWeaponClass;

// this marine's marineinfo object
var AoMarineInfo MarineInfo;

// primary and secondary equipment slots
var Inventory Primary;
var Inventory Secondary;
var Inventory Extra;

var Actor LastDroppedPickup;	// the last pickup we spawned when dropping an item
var int SelectedSlot;       //1=primary 2=secondary 3=extra
This is from the AoMarine class, and I think subclasses inherit everything from the original class.



My actual knowledge of uscript is a bit sketchy, so I don't really know if this helps or not
Fuzzy Bunny is offline   Reply With Quote
Old 16th Jun 2008, 08:33 AM   #11
lightfoot
Member
 
lightfoot's Avatar
 
Registered: Oct 2005
Location: *teleports up front*
Posts: 576
I never had any problem with giving the marines equipment, right from the start.

I just had to include stuff into the inventory list, and set bNoDefaultInventory to false.

If I remember right.
lightfoot is offline   Reply With Quote
Old 16th Jun 2008, 09:08 AM   #12
L'architecte
New Member
 
L'architecte's Avatar
 
Registered: Jun 2007
Location: France, Paris
Posts: 25
Well I have modified the subclass of my pawns, they extend the xpawn class and no more the aomarinenpc class, it is really easier, especially with scritpted actions^^

the main probleme is that the AI marines cant attack agressive xpawns. There wont be any bot support ?

Thanks for those parts of code, they may help me
__________________
More than ever hour after our work is never over.
L'architecte is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Marine Renders f0nx Alien Swarm Discussion 30 6th Oct 2006 04:15 AM
Who is the cutest marine now ? Butters Alien Swarm 2K4 Discussion 47 19th Oct 2004 07:37 PM


All times are GMT -5. The time now is 02:11 PM.


Powered by vBulletin®
Copyright ©2000 - 2017, vBulletin Solutions, Inc.