Author |
Topic: Give Player Ammo (MP) |
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
Category: CoD4 Scripting Posted: Monday, Mar. 23, 2009 08:21 pm |
|
Could anyone cook up a script quick to give a player max ammo for the current gun they have, when they press a trigger?
Trigger = Array of Triggers
I have a (lot) of ammo boxes set up with a trigger_use_touch around them for players get get full ammo when trigger is pressed. Just need a script to run it. I tried one way, but failed.
I would just spawn a weapon with full ammo, but it doesn't work.
IE:
Right click 2D, weapon>mp44_mp
Ticked "Respawn" doesn't even respawn when player picks up weapon.
Tried also adding, "count" - Specifies a specific amount of ammo to include with the weapon. Amount is capped to ammo max.
Key = count
Value = 50
Adding a count doesn't do anything, no clue, so my only other option was to run a script so players can get ammo for the gun they pickup. Can anyone help me out with the script, or inform me why the count is not working? |
|
|
|
techno2sl |
|
General Member Since: Aug 5, 2004 Posts: 2977 Last: Oct 14, 2010 [view latest posts] |
|
|
Category: CoD4 Scripting Posted: Monday, Mar. 23, 2009 08:42 pm |
|
Check out.
Looks like what you need, I'll have to check out another idea a sec. |
|
|
|
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
Category: CoD4 Scripting Posted: Monday, Mar. 23, 2009 08:58 pm |
|
Yeah, I already found that, but I don't know how to apply it to script, when I said I tried something but failed, that is what I tried.
I was going to post that in my opening thread, but forgot, and ten minutes edit time was up. You're right, that is the line I need to make it work, or one of them. |
|
|
|
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
Category: CoD4 Scripting Posted: Wednesday, Apr. 1, 2009 12:06 am |
|
I was able to get it working this way.
Created a "trigger_use_touch" around where I want a player to get ammo from.
Gave trigger a targetname of: "ammo_trig" and a hintstring.
I used "player GiveStartAmmo" insead of "player GiveMaxAmmo" because max ammo was too much.
For now I just added each individual gun to the list, so no matter what gun you are carrying, it will give you ammo for it. there is probably a way to separate the code by class, but I don't know how to do it that way.
Code: main()
{
thread ammo();
}
ammo()
{
ammotrigger = getentarray("ammo_trig","targetname");
for(i=0;i< ammotrigger.size;i++)
{
ammotrigger[i] thread give_ammo();
}
}
give_ammo()
{
while(1)
{
self waittill("trigger", player);
player GiveStartAmmo( "ak47_acog_mp" );
player GiveStartAmmo( "ak47_gl_mp" );
player GiveStartAmmo( "ak47_mp" );
player GiveStartAmmo( "ak47_reflex_mp" );
player GiveStartAmmo( "ak47_silencer_mp" );
player GiveStartAmmo( "ak74u_acog_mp" );
player GiveStartAmmo( "ak74u_mp" );
player GiveStartAmmo( "ak74u_reflex_mp" );
player GiveStartAmmo( "ak74u_silencer_mp" );
player GiveStartAmmo( "barrett_acog_mp" );
player GiveStartAmmo( "barrett_mp" );
player GiveStartAmmo( "beretta_mp" );
player GiveStartAmmo( "beretta_silencer_mp" );
player GiveStartAmmo( "colt45_mp" );
player GiveStartAmmo( "colt45_silencer_mp" );
player GiveStartAmmo( "deserteagle_mp" );
player GiveStartAmmo( "deserteaglegold_mp" );
player GiveStartAmmo( "dragunov_acog_mp" );
player GiveStartAmmo( "dragunov_mp" );
player GiveStartAmmo( "g3_acog_mp" );
player GiveStartAmmo( "g3_gl_mp" );
player GiveStartAmmo( "g3_mp" );
player GiveStartAmmo( "g3_reflex_mp" );
player GiveStartAmmo( "g3_silencer_mp" );
player GiveStartAmmo( "g36c_acog_mp" );
player GiveStartAmmo( "g36c_gl_mp" );
player GiveStartAmmo( "g36c_mp" );
player GiveStartAmmo( "g36c_reflex_mp" );
player GiveStartAmmo( "g36c_silencer_mp" );
player GiveStartAmmo( "m4_acog_mp" );
player GiveStartAmmo( "m4_gl_mp" );
player GiveStartAmmo( "m4_mp" );
player GiveStartAmmo( "m4_reflex_mp" );
player GiveStartAmmo( "m4_silencer_mp" );
player GiveStartAmmo( "m14_acog_mp" );
player GiveStartAmmo( "m14_gl_mp" );
player GiveStartAmmo( "m14_mp" );
player GiveStartAmmo( "m14_reflex_mp" );
player GiveStartAmmo( "m14_silencer_mp" );
player GiveStartAmmo( "m16_acog_mp" );
player GiveStartAmmo( "m16_gl_mp" );
player GiveStartAmmo( "m16_mp" );
player GiveStartAmmo( "m16_reflex_mp" );
player GiveStartAmmo( "m16_silencer_mp" );
player GiveStartAmmo( "m21_acog_mp" );
player GiveStartAmmo( "m21_mp" );
player GiveStartAmmo( "m40a3_acog_mp" );
player GiveStartAmmo( "m40a3_mp" );
player GiveStartAmmo( "m60e4_acog_mp" );
player GiveStartAmmo( "m60e4_grip_mp" );
player GiveStartAmmo( "m60e4_mp" );
player GiveStartAmmo( "m60e4_reflex_mp" );
player GiveStartAmmo( "m1014_grip_mp" );
player GiveStartAmmo( "m1014_mp" );
player GiveStartAmmo( "m1014_reflex_mp" );
player GiveStartAmmo( "mp5_acog_mp" );
player GiveStartAmmo( "mp5_mp" );
player GiveStartAmmo( "mp5_reflex_mp" );
player GiveStartAmmo( "mp5_silencer_mp" );
player GiveStartAmmo( "mp44_mp" );
player GiveStartAmmo( "p90_acog_mp" );
player GiveStartAmmo( "p90_mp" );
player GiveStartAmmo( "p90_reflex_mp" );
player GiveStartAmmo( "p90_silencer_mp" );
player GiveStartAmmo( "remington700_acog_mp" );
player GiveStartAmmo( "remington700_mp" );
player GiveStartAmmo( "rpd_acog_mp" );
player GiveStartAmmo( "rpd_grip_mp" );
player GiveStartAmmo( "rpd_mp" );
player GiveStartAmmo( "rpd_reflex_mp" );
player GiveStartAmmo( "saw_acog_mp" );
player GiveStartAmmo( "saw_grip_mp" );
player GiveStartAmmo( "saw_mp" );
player GiveStartAmmo( "saw_reflex_mp" );
player GiveStartAmmo( "skorpion_acog_mp" );
player GiveStartAmmo( "skorpion_mp" );
player GiveStartAmmo( "skorpion_reflex_mp" );
player GiveStartAmmo( "skorpion_silencer_mp" );
player GiveStartAmmo( "usp_mp" );
player GiveStartAmmo( "usp_silencer_mp" );
player GiveStartAmmo( "uzi_acog_mp" );
player GiveStartAmmo( "uzi_mp" );
player GiveStartAmmo( "uzi_reflex_mp" );
player GiveStartAmmo( "uzi_silencer_mp" );
player GiveStartAmmo( "winchester1200_grip_mp" );
player GiveStartAmmo( "winchester1200_mp" );
player GiveStartAmmo( "winchester1200_reflex_mp" );
self playsound ("weap_pickup");
wait(0.5);
}
}
I also made a different one for Explosives ammo, but only for RPG and the Grenade Launchers. The Explosive ammo has a targetname of "explo_trig". This one can be mixed into the code above in a separate thread like this, or simply all in the same thread.
Code: main()
{
thread ammo();
thread expolsive_ammo();
}
ammo()
{
ammotrigger = getentarray("ammo_trig","targetname");
for(i=0;i< ammotrigger.size;i++)
{
ammotrigger[i] thread give_ammo();
}
}
give_ammo()
{
while(1)
{
self waittill("trigger", player);
player GiveStartAmmo( "ak47_acog_mp" );
player GiveStartAmmo( "ak47_gl_mp" );
player GiveStartAmmo( "ak47_mp" );
player GiveStartAmmo( "ak47_reflex_mp" );
player GiveStartAmmo( "ak47_silencer_mp" );
player GiveStartAmmo( "ak74u_acog_mp" );
player GiveStartAmmo( "ak74u_mp" );
player GiveStartAmmo( "ak74u_reflex_mp" );
player GiveStartAmmo( "ak74u_silencer_mp" );
player GiveStartAmmo( "barrett_acog_mp" );
player GiveStartAmmo( "barrett_mp" );
player GiveStartAmmo( "beretta_mp" );
player GiveStartAmmo( "beretta_silencer_mp" );
player GiveStartAmmo( "colt45_mp" );
player GiveStartAmmo( "colt45_silencer_mp" );
player GiveStartAmmo( "deserteagle_mp" );
player GiveStartAmmo( "deserteaglegold_mp" );
player GiveStartAmmo( "dragunov_acog_mp" );
player GiveStartAmmo( "dragunov_mp" );
player GiveStartAmmo( "g3_acog_mp" );
player GiveStartAmmo( "g3_gl_mp" );
player GiveStartAmmo( "g3_mp" );
player GiveStartAmmo( "g3_reflex_mp" );
player GiveStartAmmo( "g3_silencer_mp" );
player GiveStartAmmo( "g36c_acog_mp" );
player GiveStartAmmo( "g36c_gl_mp" );
player GiveStartAmmo( "g36c_mp" );
player GiveStartAmmo( "g36c_reflex_mp" );
player GiveStartAmmo( "g36c_silencer_mp" );
player GiveStartAmmo( "m4_acog_mp" );
player GiveStartAmmo( "m4_gl_mp" );
player GiveStartAmmo( "m4_mp" );
player GiveStartAmmo( "m4_reflex_mp" );
player GiveStartAmmo( "m4_silencer_mp" );
player GiveStartAmmo( "m14_acog_mp" );
player GiveStartAmmo( "m14_gl_mp" );
player GiveStartAmmo( "m14_mp" );
player GiveStartAmmo( "m14_reflex_mp" );
player GiveStartAmmo( "m14_silencer_mp" );
player GiveStartAmmo( "m16_acog_mp" );
player GiveStartAmmo( "m16_gl_mp" );
player GiveStartAmmo( "m16_mp" );
player GiveStartAmmo( "m16_reflex_mp" );
player GiveStartAmmo( "m16_silencer_mp" );
player GiveStartAmmo( "m21_acog_mp" );
player GiveStartAmmo( "m21_mp" );
player GiveStartAmmo( "m40a3_acog_mp" );
player GiveStartAmmo( "m40a3_mp" );
player GiveStartAmmo( "m60e4_acog_mp" );
player GiveStartAmmo( "m60e4_grip_mp" );
player GiveStartAmmo( "m60e4_mp" );
player GiveStartAmmo( "m60e4_reflex_mp" );
player GiveStartAmmo( "m1014_grip_mp" );
player GiveStartAmmo( "m1014_mp" );
player GiveStartAmmo( "m1014_reflex_mp" );
player GiveStartAmmo( "mp5_acog_mp" );
player GiveStartAmmo( "mp5_mp" );
player GiveStartAmmo( "mp5_reflex_mp" );
player GiveStartAmmo( "mp5_silencer_mp" );
player GiveStartAmmo( "mp44_mp" );
player GiveStartAmmo( "p90_acog_mp" );
player GiveStartAmmo( "p90_mp" );
player GiveStartAmmo( "p90_reflex_mp" );
player GiveStartAmmo( "p90_silencer_mp" );
player GiveStartAmmo( "remington700_acog_mp" );
player GiveStartAmmo( "remington700_mp" );
player GiveStartAmmo( "rpd_acog_mp" );
player GiveStartAmmo( "rpd_grip_mp" );
player GiveStartAmmo( "rpd_mp" );
player GiveStartAmmo( "rpd_reflex_mp" );
player GiveStartAmmo( "saw_acog_mp" );
player GiveStartAmmo( "saw_grip_mp" );
player GiveStartAmmo( "saw_mp" );
player GiveStartAmmo( "saw_reflex_mp" );
player GiveStartAmmo( "skorpion_acog_mp" );
player GiveStartAmmo( "skorpion_mp" );
player GiveStartAmmo( "skorpion_reflex_mp" );
player GiveStartAmmo( "skorpion_silencer_mp" );
player GiveStartAmmo( "usp_mp" );
player GiveStartAmmo( "usp_silencer_mp" );
player GiveStartAmmo( "uzi_acog_mp" );
player GiveStartAmmo( "uzi_mp" );
player GiveStartAmmo( "uzi_reflex_mp" );
player GiveStartAmmo( "uzi_silencer_mp" );
player GiveStartAmmo( "winchester1200_grip_mp" );
player GiveStartAmmo( "winchester1200_mp" );
player GiveStartAmmo( "winchester1200_reflex_mp" );
self playsound ("weap_pickup");
wait(0.5);
}
}
expolsive_ammo()
{
explo_ammo = getentarray("explo_trig","targetname");
for(i=0;i< explo_ammo.size;i++)
{
explo_ammo[i] thread give_explo_ammo();
}
}
give_explo_ammo()
{
while(1)
{
self waittill("trigger", player);
player GiveMaxAmmo( "rpg_mp" );
player GiveMaxAmmo( "gl_ak47_mp" );
player GiveMaxAmmo( "gl_g3_mp" );
player GiveMaxAmmo( "gl_g36c_mp" );
player GiveMaxAmmo( "gl_m4_mp" );
player GiveMaxAmmo( "gl_m14_mp" );
player GiveMaxAmmo( "gl_m16_mp" );
player GiveMaxAmmo( "gl_mp" );
self playsound ("weap_pickup");
wait(0.5);
}
}
I'm sure there is an easier way to write it, but this is how I did it and it works just fine. |
|
|
|
_INSANE_ |
|
General Member Since: Nov 7, 2008 Posts: 352 Last: Jul 10, 2011 [view latest posts] |
|
|
|
|
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
|
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
Category: CoD4 Scripting Posted: Wednesday, Apr. 1, 2009 04:42 pm |
|
This seems to work. No Ammo for Claymores or C4, but for all other weapons.
Code: give_ammo()
{
while(1)
{
self waittill("trigger", player);
weapon = player GetCurrentWeapon();
if (weapon == "c4_mp" || weapon == "claymore_mp")
{
player iprintln("Ammo Unavailable");
wait(0.5);
}
else
{
player GiveStartAmmo(weapon);
self playsound ("weap_pickup");
wait(0.5);
}
}
}
It's not a big deal that those two were in there, I just needed them for my map to play properly I guess. Anyways, thanks for the "getcurrentweapon" didn't see that there, helps simplify the code. |
|
|
|
TFD|Gumpi |
General Member Since: Aug 28, 2008 Posts: 37 Last: May 16, 2009 [view latest posts] |
|
|
|
DeekCiti |
|
General Member Since: Mar 13, 2008 Posts: 1293 Last: Jul 9, 2016 [view latest posts] |
|
|
|
TFD|Gumpi |
General Member Since: Aug 28, 2008 Posts: 37 Last: May 16, 2009 [view latest posts] |
|
|
|