Page 1 of 1

half life weapon select script I found.

Posted: Thu Jan 11, 2007 8:01 pm
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

Posted: Thu Jan 11, 2007 11:05 pm
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.

Posted: Fri Jan 12, 2007 6:57 pm
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);
}]



} 

Posted: Fri Mar 23, 2007 1:16 am
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?