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

Members Online

»
0 Active | 9 Guests
Online:

LATEST FORUM THREADS

»
warfare
CoD4 Map + Mod Releases
Voting menu on maps
CoD+UO General
Hauling 911
CoDBO3 General

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, DrBiggzz, supersword, playername
Latest Posts
Subscribed Posts
Search
Restricted Access Topic is Locked
Page
Previous Page
subscribe
Author Topic: Sentry Gun
Spik3d
General Member
Since: Jan 30, 2008
Posts: 130
Last: Feb 19, 2015
[view latest posts]
Level 4
Category: CoD2 Scripting
Posted: Thursday, Nov. 17, 2011 11: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: Friday, Nov. 18, 2011 04:10 am
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: 75
Last: Aug 24, 2014
[view latest posts]
Level 3
Im a fan of MODSonair
Category: CoD2 Scripting
Posted: Friday, Nov. 18, 2011 03:12 pm
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 05:35 pm
this is poo-poo use my old script?write in pm
Share |
tHMatt
General Member
Since: Sep 11, 2007
Posts: 473
Last: Mar 20, 2013
[view latest posts]
Level 5
Category: CoD2 Scripting
Posted: Monday, Nov. 21, 2011 01:25 am
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: 75
Last: Aug 24, 2014
[view latest posts]
Level 3
Im a fan of MODSonair
Category: CoD2 Scripting
Posted: Sunday, Aug. 5, 2012 11: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 Topic is Locked
Page
Previous Page
subscribe
MODSonline.com Forums : Call of Duty 2 : CoD2 Scripting

Latest Syndicated News

»
Codutility.com up and runn...
Nice, and there still using the logo and template for the screenshots, which...
Codutility.com up and runn...
dundy writes...Quote:Call of Duty modding and mapping is barly alive only a ...
Codutility.com up and runn...
Mystic writes...Quote:It seems to me the like the site is completely dead? ...
Codutility.com up and runn...
It seems to me the like the site is completely dead?

Partners & Friends

»