Login x
User Name:
Password:
Social Links Facebook Twitter YouTube Steam RSS News Feeds
Watch MODSonair

Members Online

»
0 Active | 12 Guests
Online:

LATEST FORUM THREADS

»
Single Player Loadout
CoDWW SP Mapping

Forums

»

Welcome to the MODSonline.com forums. Looking for Frequently Asked Questions? Check out our FAQs section or search it out using the SEARCH link below. If you are new here, you may want to check out our rules and this great user's guide to the forums and the website.
For more mapping and modding information, see our Wiki: MODSonWiki.com

Jump To:
Forum: All Forums : Call of Duty 2
Category: CoD2 Scripting
Scripting and coding with Call of Duty 2.
Moderators: foyleman, Foxhound, Mystic, StrYdeR, batistablr, Welshy, supersword, playername
Latest Posts
Subscribed Posts
Search
Restricted Access Restricted Access
Page
Previous Page
subscribe
Author Topic: Sentry Gun
Spik3d
General Member
Since: Jan 29, 2008
Posts: 128
Last: Apr 23, 2013
[view latest posts]
Level 4
Category: CoD2 Scripting
Posted: Thursday, Nov. 17, 2011 04:37 pm
That wouldn't help me debug your code, the only thing that would do is let me join a game with you and get the same error.

If you posted what code you have so far, I could possibly see where the problem was from. If you don't want to, is there any information in the console about it?
Share |
Dobriy
General Member
Since: Mar 31, 2011
Posts: 96
Last: May 23, 2012
[view latest posts]
Level 3
Category: CoD2 Scripting
Posted: Thursday, Nov. 17, 2011 09:10 pm
This mistake may be from for 2 mistake most likely,The first - a considerable quantity of started cycles, whether check up there is no cycle in a cycle where both with wait and both aren't switched off for example:
Code:
while(1)
{
wait 1;
   for(;;)
   {
   wait 1;
   }
}

In one script a cycle one can start another through start of other
function
Code:
thread

Use only one cycle for turrel, rotation murder and other, it will be enough

The second reason that a tourist's fur-tree doesn't find which player it has chosen also the server as takes off, I faced such error when did boats, use conditions that the tourist's fur-tree didn't touch which players isn't present or she them doesn't see
Code:
isAlive(player)//player = purpose

or
Code:
isdefined(player)

It would be certainly better to look at your script, write it to me in pm if be afraid that will steal it
Share |
csocsi96
General Member
Since: Aug 9, 2010
Posts: 70
Last: Apr 21, 2013
[view latest posts]
Level 3
Im a fan of MODSonair
Category: CoD2 Scripting
Posted: Friday, Nov. 18, 2011 08:12 am
Hello!

So, here is my script. (I know it is a peace of poo-poo, because i can't understand some part of the code.)

Code:
init()
{




	
precachemodel("xmodel/sentry_gun_4pod");
precachemodel("xmodel/caspi_minigun_head");






	level.effects["large_bark"]=loadfx("fx/impacts/large_woodhit.efx");
	level.effects["large_brick"]=loadfx("fx/impacts/large_brick.efx");
	level.effects["large_carpet"]=loadfx("fx/impacts/default_hit.efx");
	level.effects["large_cloth"]=loadfx("fx/impacts/cloth_hit.efx");
	level.effects["large_concrete"]=loadfx("fx/impacts/large_plaster.efx");
	level.effects["large_dirt"]=loadfx("fx/impacts/large_dirt.efx");
	level.effects["large_flesh"]=loadfx("fx/impacts/flesh_hit.efx");
	level.effects["large_foliage"]=loadfx("fx/impacts/small_foliage.efx");
	level.effects["large_glass"]=loadfx("fx/impacts/large_glass.efx");
	level.effects["large_grass"]=loadfx("fx/impacts/small_grass.efx");
	level.effects["large_gravel"]=loadfx("fx/impacts/large_gravel.efx");
	level.effects["large_ice"]=loadfx("fx/impacts/small_snowhit.efx");
	level.effects["large_metal"]=loadfx("fx/impacts/large_metalhit.efx");
	level.effects["large_mud"]=loadfx("fx/impacts/large_mud.efx");
	level.effects["large_paper"]=loadfx("fx/impacts/default_hit.efx");
	level.effects["large_plaster"]=loadfx("fx/impacts/large_plaster.efx");
	level.effects["large_rock"]=loadfx("fx/impacts/large_rock.efx");
	level.effects["large_sand"]=loadfx("fx/impacts/large_dirt.efx");
	level.effects["large_snow"]=loadfx("fx/impacts/small_snowhit.efx");
	level.effects["large_water"]=loadfx("fx/impacts/large_waterhit.efx");
	level.effects["large_wood"]=loadfx("fx/impacts/large_woodhit.efx");
	level.effects["large_asphalt"]=loadfx("fx/impacts/large_rock.efx");
	level.effects["large_default"]=loadfx("fx/impacts/default_hit.efx");
	level.effects["small_bark"]=loadfx("fx/impacts/large_woodhit.efx");
	level.effects["small_brick"]=loadfx("fx/impacts/small_brick.efx");
	level.effects["small_carpet"]=loadfx("fx/impacts/default_hit.efx");
	level.effects["small_cloth"]=loadfx("fx/impacts/cloth_hit.efx");
	level.effects["small_concrete"]=loadfx("fx/impacts/small_concrete.efx");
	level.effects["small_dirt"]=loadfx("fx/impacts/small_dirt.efx");
	level.effects["small_flesh"]=loadfx("fx/impacts/flesh_hit.efx");
	level.effects["small_foliage"]=loadfx("fx/impacts/small_foliage.efx");
	level.effects["small_glass"]=loadfx("fx/impacts/small_glass.efx");
	level.effects["small_grass"]=loadfx("fx/impacts/small_grass.efx");
	level.effects["small_gravel"]=loadfx("fx/impacts/small_gravel.efx");
	level.effects["small_ice"]=loadfx("fx/impacts/small_snowhit.efx");
	level.effects["small_metal"]=loadfx("fx/impacts/small_metalhit.efx");
	level.effects["small_mud"]=loadfx("fx/impacts/small_mud.efx");
	level.effects["small_paper"]=loadfx("fx/impacts/default_hit.efx");
	level.effects["small_plaster"]=loadfx("fx/impacts/small_concrete.efx");
	level.effects["small_rock"]=loadfx("fx/impacts/small_rock.efx");
	level.effects["small_sand"]=loadfx("fx/impacts/small_dirt.efx");
	level.effects["small_snow"]=loadfx("fx/impacts/small_snowhit.efx");
	level.effects["small_water"]=loadfx("fx/impacts/small_waterhit.efx");
	level.effects["small_wood"]=loadfx("fx/impacts/large_woodhit.efx");
	level.effects["small_asphalt"]=loadfx("fx/impacts/small_concrete.efx");
	level.effects["small_default"]=loadfx("fx/impacts/default_hit.efx");
	
	
	
	
	
}

/*




fordul()
{
min=-1;
player=getentarray("player","classname");
for(i=0;i<player.size;i++)
{
	time = 0.2;

dst=distance(self._sentryhead.origin,player[i].origin);
ve = vectorNormalize(player[i].origin - self._sentryhead.origin);
angles = vectorToAngles(ve);
fw=maps\mp\_utility::vectorScale(anglestoforward(angles),dst);
trace=bullettrace(self._sentryhead.origin,self._sentryhead.origin+fw,true,self._sentryhead);

	if((dst<min || min<0) && player[i].pers["team"]=="axis" && player[i].pers["team"]!="spectator" && trace["fraction"]<1 && trace["entity"]==player[i] && isPlayer(trace["entity"]))
	{
	self._sentryhead rotateTo(player[i].origin,2); //elfordítja nemtommi nemtomhova (még)
	self._sentryhead rotateTo (vectortoangles(player[i].origin - self._sentryhead.origin), 2); //elforgatja 'time' id&#337; alatt
	
	wait 2; //megvárja a time-t
	self._sentryhead.angles = vectortoangles(player[i].origin - self._sentryhead.origin);
	thread lo();
	}
	wait 0.2;
}
}

lo()
{
min=-1;
founded = undefined;
player=getentarray("player","classname");
for(i=0;i<player.size;i++)
{
dst=distance(self._sentryhead.origin,player[i].origin);
ve = vectorNormalize(player[i].origin - self._sentryhead.origin);
angles = vectorToAngles(ve);
fw=maps\mp\_utility::vectorScale(anglestoforward(angles),dst);
trace=bullettrace(self._sentryhead.origin,self._sentryhead.origin+fw,true,self._sentryhead);

if((dst<min || min<0) && player[i].pers["team"]=="axis" && player[i].pers["team"]!="spectator" && trace["fraction"]<1 && trace["entity"]==player[i] && isPlayer(trace["entity"]))
{
min=dst;
founded=player[i];
player[i] finishPlayerDamage(player[i], self, 5, 1,  "MOD_RIFLE_BULLET", "springfield_mp", (0,0,0), (0,0,0), "none",0);
					self playlocalsound("weap_mp44_fire_plr");
}
}

if(min<0)
return -1;
else
return founded;
}

celratart()
{
	player=getentarray("player","classname");
for(i=0;i<player.size;i++)

	self rotateTo( vectortoangles( player[i].origin - self._sentryhead.origin ), 2 ); // ez meg az alsó akkor kell ha már célra tart a sentry
	wait 2;
}

lockedon()
{
player=getentarray("player","classname");
for(i=0;i<player.size;i++)
	self rotateTo( vectortoangles( player[i].origin - self._sentryhead.origin ), 2 );
	wait 2; //ez a 2 meg "lock on"-kor

}

closest()
{
min=-1;
founded = undefined;
player=getentarray("player","classname");
for(i=0;i<player.size;i++)
{
dst=distance(self._sentryhead.origin,player[i].origin);
ve = vectorNormalize(player[i].origin - self._sentryhead.origin);
angles = vectorToAngles(ve);
fw=maps\mp\_utility::vectorScale(anglestoforward(angles),dst);
trace=bullettrace(self._sentryhead.origin,self._sentryhead.origin+fw,true,self._sentryhead);

if((dst<min || min<0) && player[i].pers["team"]=="axis" && player[i].pers["team"]!="spectator" && trace["fraction"]<1 && trace["entity"]==player[i] && isPlayer(trace["entity"]))
{
min=dst;
founded=player[i];
thread fordul();
}
}

if(min<0)
return -1;
else
return founded;
}

sentrygun()
{


		
players=getentarray("player","classname");
			for(i=0;i<players.size;i++)


	self endon("disconnect");



self._sentry = spawn( "script_model", self.origin );
	self._sentry setModel("xmodel/sentry_gun_4pod");
self._sentry.angles = self.angles;


	self._sentryhead=spawn("script_model", self.origin + (0,0,35));
	self._sentryhead setModel("xmodel/caspi_minigun_head");


	self playsound("minigun");
	self playsound("use_sentry");



for(;;)
{ 



		

			players=getentarray("player","classname");
			for(i=0;i<players.size;i++)
			{
				
				if(players[i].pers["team"]!=self.pers["team"])
				{	
	
thread closest();
				}
			}	
wait 0.2;
}



}



Share |
Dobriy
General Member
Since: Mar 31, 2011
Posts: 96
Last: May 23, 2012
[view latest posts]
Level 3
Category: CoD2 Scripting
Posted: Friday, Nov. 18, 2011 10:35 am
this is poo-poo use my old script?write in pm
Share |
1337MattY
General Member
Since: Sep 11, 2007
Posts: 473
Last: Mar 20, 2013
[view latest posts]
Level 5
Category: CoD2 Scripting
Posted: Sunday, Nov. 20, 2011 06:25 pm
I don't usually post my own code but.. here you go.

it's up to you to make the IsInView() function and obviously handle the shooting, that's all easy though.. just make a handled function that shoots when the target is defined :)



Code:

//////////////////////////////////////////////////////////////////////////////////////
///// CheckCloestPlayer(owner) - Checks for the closest    //
/////player to the object (owner)                                       ///
///// By Matthew Parven - www.mattparven.com               ///
//////////////////////////////////////////////////////////////////////////////////////
CheckClosestPlayer(owner)
{

self endon("wtfLolImDead");

   self.targetPlayer = undefined;
   
   while(1)
   {  
      closestDist = undefined;
      closestPlayer = undefined;
                  
      players = getentarray("player", "classname");

      for(i = 0; i < players.size; i++)
      {
         player = players[i];

         if(player.pers["team"] == "axis" && isAlive(player) && distance(player.origin, owner.origin) <= 2000 )
         {
		 
	    res = self IsInView(player);
	    iprintln(developer - player.name + " " + res);

            if(res >= 0)
            {	
	      iprintln("developer - resCheck1Complete");
              if(!isDefined(closestDist) || res < closestDist)
              {
		  iprintln("developer - Defining");	 	
                  closestDist = res;
                  closestPlayer = player;
              }	
            }
         }
       }

       if(isDefined(closestPlayer))
           self.targetPlayer = closestPlayer;
         
         while(isDefined(closestPlayer) && 
               isAlive(closestPlayer) && 
               closestPlayer.sessionstate == "playing" && 
               self IsInView(closestPlayer) >= 0)
         {
            iprintlnbold("developer - defined");
            self.targetPlayer = closestPlayer;
            wait 0.05;
         }

         self.targetPlayer = undefined;
             
      wait 0.2;
   }
}

Share |
csocsi96
General Member
Since: Aug 9, 2010
Posts: 70
Last: Apr 21, 2013
[view latest posts]
Level 3
Im a fan of MODSonair
Category: CoD2 Scripting
Posted: Sunday, Aug. 5, 2012 04:02 am
how can i make the script to shoot the oppsing team? I mean if i am an American it shoots the germans etc...

I tried that: !=self.pers["team"] not worked
Share |
Restricted Access Restricted Access
Page
Previous Page
subscribe
MODSonline.com Forums : Call of Duty 2 : CoD2 Scripting

Latest Syndicated News

»
Why console gaming is dying
Quote:Consider this: Dedicated gaming sales — including living-room consoles...
Devs: Games are being dumb...
Click 'read more' to view the contents of this post.
Loadout
Gun Crafting to the Max. edited on Sep. 25, 2012 06:57 pm by Morp...
Introducing the Source Fil...
Surprised this wasn't made a long time ago. Sounds like a nice little feature.
Introducing the Source Fil...
The Source Filmmaker (SFM) is the movie-making tool built and used by us he...

Partners & Friends

»