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

Members Online

»
0 Active | 6 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
Category: CoD Mapping
CoD mapping and level design.
Moderators: foyleman, Foxhound, Mystic, StrYdeR, batistablr, Welshy, DrBiggzz, supersword
Latest Posts
Subscribed Posts
Search
Restricted Access Topic is Locked subscribe
Author Topic: help with my script for my map (several problems)
uprize
General Member
Since: Jan 13, 2008
Posts: 24
Last: Oct 23, 2008
[view latest posts]
Level 1
Category: CoD Mapping
Posted: Monday, Apr. 28, 2008 12:42 pm
hi all

Im making a map to put on our clan server.
Basically it is a 4player deathmatch arena. All spawn points are outside in the stands, and when a player walks into one of the 4 arena doors, the doors close behind them and the enter the arena.

Players in the stands do not have weapons meaning that they cannot kill eachother. Once players enter the arena they are given a rifle and an pistol.

now here is my script for the map.

Code:
main()
{
	maps\mp\_load::main();

	game["allies"] = "russian";
	game["axis"] = "german";

	game["russian_soldiertype"] = "veteran";
	game["russian_soldiervariation"] = "winter";
	game["german_soldiertype"] = "wehrmacht";
	game["german_soldiervariation"] = "normal";

	game["attackers"] = "allies";
	game["defenders"] = "axis";

	level.give_weps = 0;
	level.player_spawn = 0;
	level.player1_name = "";
	level.player2_name = "";
	level.player3_name = "";
	level.player4_name = "";
	level.high_score_name = "";
	level.high_score_number = 0;
		
	maps\mp\_hud_text::hud_setup();

	thread startup();
	thread check_players();
	thread arena_players();
	thread player1_entrance();
	thread player2_entrance();
	thread player3_entrance();
	thread player4_entrance();
	thread player_deaths();
	thread hud_setup();
} 

startup()
{
	stand_trig = getent("skillz_arena_4player_stand_trig","targetname");
	level.give_weps = 0;
	level.player_spawn = 0;
	while(1)
	{
		stand_trig waittill ("trigger",user);
		user thread players_TakeWeps();
		wait 0.05;
	}
}

players_TakeWeps()
{
	self takeAllWeapons();
}

check_players()
{
	stand_trig = getent("skillz_arena_4player_stand_trig","targetname");
	while(1)
	{
		stand_trig waittill ("trigger",user);
		if(level.player1_name == user.name)
		{
			level.player_spawn = 1;
			user thread players_spawn();
			wait 0.05;
		}
		if(level.player2_name == user.name)
		{
			level.player_spawn = 1;
			user thread players_spawn();
			wait 0.05;
		}
		if(level.player3_name == user.name)
		{
			level.player_spawn = 1;
			user thread players_spawn();
			wait 0.05;
		}
		else if(level.player4_name == user.name)
		{
			level.player_spawn = 1;
			user thread players_spawn();
			wait 0.05;
		}
	}
	wait 0.5;
}		

players_spawn()
{	
	while(1)
	{
		if(level.player_spawn == 1)
		{
			loc[0] = (-720,-720,0);
			loc[1] = (-720,0,0);
			loc[2] = (-720,720,0);
			loc[3] = (0,-720,0);
			loc[4] = (0,720,0);
			loc[5] = (720,-720,0);
			loc[6] = (720,0,0);
			loc[7] = (720,720,0);
   			self setOrigin(loc[randomInt(8)]);
   			level.player_spawn = 0;
   			level.give_weps = 1;
   			wait 0.05;
   		}
	wait 0.1;
	}
}

arena_players()
{
	arena_trig = getent("skillz_arena_4player_arena_trig","targetname");
	while(1)
	{
		arena_trig waittill ("trigger",user);
		if(user.name == level.player1_name)
		{	
			user thread players_GiveWeps();
			wait 0.05;
		}
		if(user.name == level.player2_name)
		{	
			user thread players_GiveWeps();
			wait 0.05;
		}
		if(user.name == level.player3_name)
		{	
			user thread players_GiveWeps();
			wait 0.05;
		}
		if(user.name == level.player4_name)
		{	
			user thread players_GiveWeps();
			wait 0.05;
		}
	}
}

players_GiveWeps()
{
	if(level.give_weps == 1)
	{
		if(self.pers["team"] == "allies")
		{
		   	self GiveWeapon("mosin_nagant_mp");
		   	self GiveWeapon("luger_mp");
		   	self GiveWeapon("rgd-33russianfrag_mp");
			self switchtoweapon("mosin_nagant_mp");
			level.give_weps = 0;
		}
		else if(self.pers["team"] == "axis")
		{
		   	self GiveWeapon("kar98k_mp");
		   	self GiveWeapon("luger_mp");
		   	self GiveWeapon("stielhandgranate_mp");
			self switchtoweapon("kar98k_mp");
			level.give_weps = 0;
		}
	}
	wait 0.05;
}

player1_entrance()
{
	player1_trig = getent("skillz_arena_4player_player1_trig","targetname");
	player1_stand_door = getent("skillz_arena_4player_player1_stand_door","targetname");
	player1_arena_door = getent("skillz_arena_4player_player1_arena_door","targetname");
	player1_arena_pusher = getent("skillz_arena_4player_player1_arena_entrance","targetname");
	while(1)
	{
		player1_trig waittill ("trigger",user);
		player1_stand_door movez (176, 1, 0.5, 0.5);
		player1_arena_pusher movez (176, 1, 0.5, 0.5);
		player1_arena_pusher waittill ("movedone");
		level.player1_name = ""+user.name;
		wait 2;
		player1_arena_door movez (-176, 1, 0.5, 0.5);
		player1_arena_door waittill ("movedone");
		player1_arena_pusher movex (180, 1, 0.5, 0.5);
		player1_arena_pusher waittill ("movedone");
		iprintlnbold(level.player1_name+" ^7has entered the arena!");
		level.give_weps = 1;
		player1_arena_door movez (176, 1, 0.5, 0.5);
		player1_arena_pusher movex (-180, 1, 0.5, 0.5);
		player1_arena_pusher waittill ("movedone");
		wait 0.5;
	}
}

player2_entrance()
{
	player2_trig = getent("skillz_arena_4player_player2_trig","targetname");
	player2_stand_door = getent("skillz_arena_4player_player2_stand_door","targetname");
	player2_arena_door = getent("skillz_arena_4player_player2_arena_door","targetname");
	player2_arena_pusher = getent("skillz_arena_4player_player2_arena_entrance","targetname");
	while(1)
	{
		player2_trig waittill ("trigger",user);
		player2_stand_door movez (176, 1, 0.5, 0.5);
		player2_arena_pusher movez (176, 1, 0.5, 0.5);
		player2_arena_pusher waittill ("movedone");
		level.player2_name = ""+user.name;
		wait 2;
		player2_arena_door movez (-176, 1, 0.5, 0.5);
		player2_arena_door waittill ("movedone");
		player2_arena_pusher movey (-180, 1, 0.5, 0.5);
		player2_arena_pusher waittill ("movedone");
		iprintlnbold(level.player2_name+" ^7has entered the arena!");
		level.give_weps = 1;
		player2_arena_door movez (176, 1, 0.5, 0.5);
		player2_arena_pusher movey (180, 1, 0.5, 0.5);
		player2_arena_pusher waittill ("movedone");
		wait 0.5;
	}
}

player3_entrance()
{
	player3_trig = getent("skillz_arena_4player_player3_trig","targetname");
	player3_stand_door = getent("skillz_arena_4player_player3_stand_door","targetname");
	player3_arena_door = getent("skillz_arena_4player_player3_arena_door","targetname");
	player3_arena_pusher = getent("skillz_arena_4player_player3_arena_entrance","targetname");
	while(1)
	{
		player3_trig waittill ("trigger",user);
		player3_stand_door movez (176, 1, 0.5, 0.5);
		player3_arena_pusher movez (176, 1, 0.5, 0.5);
		player3_arena_pusher waittill ("movedone");
		level.player3_name = ""+user.name;
		wait 2;
		player3_arena_door movez (-176, 1, 0.5, 0.5);
		player3_arena_door waittill ("movedone");
		player3_arena_pusher movex (-180, 1, 0.5, 0.5);
		player3_arena_pusher waittill ("movedone");
		iprintlnbold(level.player3_name+" ^7has entered the arena!");
		level.give_weps = 1;
		player3_arena_door movez (176, 1, 0.5, 0.5);
		player3_arena_pusher movex (180, 1, 0.5, 0.5);
		player3_arena_pusher waittill ("movedone");
		wait 0.5;
	}
}

player4_entrance()
{
	player4_trig = getent("skillz_arena_4player_player4_trig","targetname");
	player4_stand_door = getent("skillz_arena_4player_player4_stand_door","targetname");
	player4_arena_door = getent("skillz_arena_4player_player4_arena_door","targetname");
	player4_arena_pusher = getent("skillz_arena_4player_player4_arena_entrance","targetname");
	while(1)
	{
		player4_trig waittill ("trigger",user);
		player4_stand_door movez (176, 1, 0.5, 0.5);
		player4_arena_pusher movez (176, 1, 0.5, 0.5);
		player4_arena_pusher waittill ("movedone");
		level.player4_name = ""+user.name;
		wait 2;
		player4_arena_door movez (-176, 1, 0.5, 0.5);
		player4_arena_door waittill ("movedone");
		player4_arena_pusher movey (180, 1, 0.5, 0.5);
		player4_arena_pusher waittill ("movedone");
		iprintlnbold(level.player4_name+" ^7has entered the arena!");
		level.give_weps = 1;
		player4_arena_door movez (176, 1, 0.5, 0.5);
		player4_arena_pusher movey (-180, 1, 0.5, 0.5);
		player4_arena_pusher waittill ("movedone");
		wait 0.5;
	}
}

player_deaths()
{
	arena_trig = getent("skillz_arena_4player_arena_trig","targetname");
	while(1)
	{
		arena_trig waittill ("trigger");
		players = getentarray("player","classname"); 
		for(i=0;i<players.size;i++)
		{
			if(players[i].deaths == 10)
			{
				if(players[i].score > level.high_score_number) 
				{
					level.high_score_number = players[i].score;
					level.high_score_name = ""+players[i].name;
					iprintlnbold(level.high_score_name+" ^7has set a new high score with "+level.high_score_number+" kills!");
				}
				if(players[i].name == ""+level.player1_name)
				{
					player1_arena_pusher movez (-176, 1, 0.5, 0.5);
					player1_stand_door movez (-176, 1, 0.5, 0.5);
					player1_stand_door waittill ("movedone");
					level.player1_name = "";
					wait 0.05;
				}
				if(players[i].name == ""+level.player2_name)
				{
					player2_arena_pusher movez (-176, 1, 0.5, 0.5);
					player2_stand_door movez (-176, 1, 0.5, 0.5);
					player2_stand_door waittill ("movedone");
					level.player2_name = "";
					wait 0.05;
					
				}
				if(players[i].name == ""+level.player3_name)
				{
					player3_arena_pusher movez (-176, 1, 0.5, 0.5);
					player3_stand_door movez (-176, 1, 0.5, 0.5);
					player3_stand_door waittill ("movedone");
					level.player3_name = "";
					wait 0.05;
				}
				if(players[i].name == ""+level.player4_name)
				{
					player4_arena_pusher movez (-176, 1, 0.5, 0.5);
					player4_stand_door movez (-176, 1, 0.5, 0.5);
					player4_stand_door waittill ("movedone");
					level.player4_name = "";
					wait 0.05;
				}
				players[i].deaths = 0;
				players[i].score = 0;
				players[i] iprintlnbold("You have reached 10 deaths. Game Over");
			}
			wait 0.05;
		}
	}
	wait 0.5;
}
hud_setup()
{
	if(!isdefined(level.hud_text))
   	{
		level.hud_text = newHudElem();    
		level.hud_text.horzAlign = "right";
		level.hud_text.vertAlign = "top";
		level.hud_text.x = 10;
		level.hud_text.y = 5;
		level.hud_text.font = "default";
		level.hud_text.fontScale = 1;
		level.hud_text.archived = true;
		level.hud_text setText(&"hello hello hello");
		thread hud_update();
	}
}

hud_update()
{
	if(level.high_score_number > 0)
	{
		level.hud_text setText(level.high_score_name + &" has got the highest score with " + level.high_score_number + &" kills!"); //updates hud text	
	}
	wait 0.5;
}


Now when a player in the arena reaches 10 deaths, they are out of the arena and are put back into the stand.
If their score is higher than the recorded high score, the new score is saved and they are the current high scorer.

here are my main problems.

1. When a player reaches 10 deaths and they get a new high score, the 'level.high_score_number' and 'level.high_score_name' all update as they should, but the HUD on the top of the screen does not update

2. Once a player has reached 10 deaths, the corresponding door does not open again meaning that it stays close and noone else can enter the arena.

3. MAJOR PROBLEM: Server disconnects once more than 1 player enters the arena!

Can anyone look at the above script and determine what is going wrong here???

Hopefully this all makes sense. If not let me know and I'll try to explain as best I can.

Thanks in advance!!
Share |
shanehayesr
General Member
Since: May 10, 2008
Posts: 125
Last: Jun 8, 2008
[view latest posts]
Level 4
Category: CoD Mapping
Posted: Sunday, May. 11, 2008 06:42 am
[confused]Wow... um....
All I can say.. is That Looks and Sounds Comlicated!

How Many .gsc's do you have? and how many .csv's?

Share |
Restricted Access Topic is Locked subscribe
MODSonline.com Forums : Call of Duty : CoD Mapping

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

»