half life weapon select script I found.

Topics regarding Scripting with Reality Factory
Post Reply
User avatar
fps
Posts: 504
Joined: Mon Sep 26, 2005 9:54 pm
Location: in a magical land devoid of hope, happiness, and sanity.

half life weapon select script I found.

Post by fps »

Hey guys, I found this script on one of my old disks and I was wondering
if anybody here knows how to make it work?
its supposed to be a halflife style weapon selection script but i cant quite get it to work.

this is the origional.

{

//1 key (melee weapons)- slots 1, 2, 3, 4, 5, 6, 7
//2 key (default weapon-pistol)- slot 8
//3 key (subguns)- slots 9, 10, 11, 12, 13, 14
//4 key (shotguns)- slots 15, 16, 17, 18
//5 key (assault weapons)- slots 19, 20, 21, 22
//6 key (grenades)- slots 23, 24, 25
//7 key (explosives)- slots 26, 27, 28, 29
//8 key (heavy weapons)- slots 30, 31, 32
//9 key (support weapons)- slots 33, 34, 35
//0 key (super secret weapons) - slots 36, 37, 38

weapon[0]
slot[0]
LP[0]
KP[0]

Spawn[()
{
Console(true);
LowLevel("Setup");
}]

Setup[()
{
self.ThinkTime=0.1;
PawnRender(false);
self.think="Start";
}]

Start[()
{
self.ThinkTime=0.05;
debug(slot);
debug(weapon);
debug(LP);
debug(KP);
KP=self.key_pressed; // Get key being pressed
// Only perform task if key pressed is not the same as the last key being pressed
if(Integer(KP) != Integer(LP))
{
// Perform task depending on result of key pressed.
switch(KP)
{
case 1
{
if(slot != 1)
{
slot=1;
weapon=1;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 7)
{
weapon=1;
}
}
SetPlayerWeapon(weapon);
}

case 2
{
slot=2;
SetPlayerWeapon(8);
}

case 3
{
if(slot != 3)
{
slot=3;
weapon=9;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 14)
{
weapon=9;
}
}
SetPlayerWeapon(weapon);
}

case 4
{
if(slot != 4)
{
slot=4;
weapon=15;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 18)
{
weapon=15;
}
}
SetPlayerWeapon(weapon);
}

case 5
{
if(slot != 5)
{
slot=5;
weapon=19;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 22)
{
weapon=19;
}
}
SetPlayerWeapon(weapon);
}

case 6
{
if(slot != 6)
{
slot=6;
weapon=23;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 25)
{
weapon=23;
}
}
SetPlayerWeapon(weapon);
}

case 7
{
if(slot != 7)
{
slot=7;
weapon=1;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 29)
{
weapon=26;
}
}
SetPlayerWeapon(weapon);
}

case 8
{
if(slot != 8)
{
slot=8;
weapon=30;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 32)
{
weapon=30;
}
}
SetPlayerWeapon(weapon);
}

case 9
{
if(slot != 9)
{
slot=9;
weapon=33;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 35)
{
weapon=33;
}
}
SetPlayerWeapon(weapon);
}

case 0
{
if(slot != 0)
{
slot=0;
weapon=36;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 38)
{
weapon=36;
}
}
SetPlayerWeapon(weapon);
}

}
}
LP=Integer(KP);
}]



}

If anybody knows whats up with this please tell me. i hope this topic can help others as well.

thanks,
Fps
User avatar
psYco
Posts: 782
Joined: Wed Mar 15, 2006 10:55 am
Location: England

Post by psYco »

Well that looks quite good, and i really liked the wep select system from HL, but could you please post the script again but this time using the 'Code' params I think you just put

Code: Select all

'the script goes here'
I never knew what that was for until now cause some of the script was transformed into smilies in the process of posting.
User avatar
fps
Posts: 504
Joined: Mon Sep 26, 2005 9:54 pm
Location: in a magical land devoid of hope, happiness, and sanity.

Post by fps »

ok, here it is. (ive never used that before, sorry).
But i dont really know how to make this script work, it appears to return a script reader error or somthing.
thanks,
fps

Code: Select all

{

//1 key (melee weapons)- slots 1, 2, 3, 4, 5, 6, 7
//2 key (default weapon-pistol)- slot 8
//3 key (subguns)- slots 9, 10, 11, 12, 13, 14
//4 key (shotguns)- slots 15, 16, 17, 18
//5 key (assault weapons)- slots 19, 20, 21, 22
//6 key (grenades)- slots 23, 24, 25
//7 key (explosives)- slots 26, 27, 28, 29
//8 key (heavy weapons)- slots 30, 31, 32
//9 key (support weapons)- slots 33, 34, 35
//0 key (super secret weapons) - slots 36, 37, 38

weapon[0]
slot[0]
LP[0]
KP[0]

Spawn[()
{
Console(true);
LowLevel("Setup");
}]

Setup[()
{
self.ThinkTime=0.1;
PawnRender(false);
self.think="Start";
}]

Start[()
{
self.ThinkTime=0.05;
debug(slot);
debug(weapon);
debug(LP);
debug(KP);
KP=self.key_pressed; // Get key being pressed
// Only perform task if key pressed is not the same as the last key being pressed
if(Integer(KP) != Integer(LP))
{
// Perform task depending on result of key pressed.
switch(KP)
{
case 1
{
if(slot != 1)
{
slot=1;
weapon=1;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 7)
{
weapon=1;
}
}
SetPlayerWeapon(weapon);
}

case 2
{
slot=2;
SetPlayerWeapon(8);
}

case 3
{
if(slot != 3)
{
slot=3;
weapon=9;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 14)
{
weapon=9;
}
}
SetPlayerWeapon(weapon);
}

case 4
{
if(slot != 4)
{
slot=4;
weapon=15;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 18)
{
weapon=15;
}
}
SetPlayerWeapon(weapon);
}

case 5
{
if(slot != 5)
{
slot=5;
weapon=19;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 22)
{
weapon=19;
}
}
SetPlayerWeapon(weapon);
}

case 6
{
if(slot != 6)
{
slot=6;
weapon=23;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 25)
{
weapon=23;
}
}
SetPlayerWeapon(weapon);
}

case 7
{
if(slot != 7)
{
slot=7;
weapon=1;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 29)
{
weapon=26;
}
}
SetPlayerWeapon(weapon);
}

case 8
{
if(slot != 8)
{
slot=8;
weapon=30;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 32)
{
weapon=30;
}
}
SetPlayerWeapon(weapon);
}

case 9
{
if(slot != 9)
{
slot=9;
weapon=33;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 35)
{
weapon=33;
}
}
SetPlayerWeapon(weapon);
}

case 0
{
if(slot != 0)
{
slot=0;
weapon=36;
}
else
{
weapon=Integer(weapon+1);
if(weapon > 38)
{
weapon=36;
}
}
SetPlayerWeapon(weapon);
}

}
}
LP=Integer(KP);
}]



} 
User avatar
wackedoutbiker
Posts: 189
Joined: Tue Jul 19, 2005 9:11 pm

Post by wackedoutbiker »

How can this be made to work with a scripted player (if that is possible)? And how do you add or remove slots?
More atrocities are committed in the name of that which is holy and righteous than that which is wicked and evil
Post Reply