Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #using scripts\codescripts\struct;
- #using scripts\zm\_zm_score;
- #precache( "material", "chalk_shader" );
- function main()
- {
- level waittill( "all_players_connected" );
- wait(15);
- level.has_chalk = false;
- post_chalk = GetEntArray("post_chalk","script_noteworthy");
- IPrintLnBold("main");
- spawn_list = level._spawned_wallbuys;
- thread create_chalk_hud();
- for(i=0;i<spawn_list.size;i++)
- {
- unitrigger_stub = spawn_list[i].trigger_stub;
- unitrigger_stub.origin = unitrigger_stub.origin + (0,0,300);
- }
- for(i=0;i<post_chalk.size;i++)
- {
- post_chalk[i] Hide();
- IPrintLnBold("post_chalk hidden");
- }
- draw_trigs = GetEntArray("draw_trig","targetname");
- for(i=0;i<draw_trigs.size;i++)
- {
- draw_trigs[i] SetHintString("Requires " + draw_trigs[i].script_string + " chalk");
- draw_trigs[i] SetCursorHint( "HINT_NOICON" );
- }
- trigs = GetEntArray("chalk_trig_grab","targetname");
- for(i=0;i<trigs.size;i++)
- {
- trigs[i] SetHintString( "Press and Hold ^3[{+activate}]^7 to pick up " + trigs[i].script_string + " chalk");
- trigs[i] SetCursorHint( "HINT_NOICON" );
- trigs[i] thread chalk_wait_for_pickup();
- }
- }
- function chalk_wait_for_pickup()
- {
- self waittill("trigger",player);
- if(level.has_chalk == false)
- {
- level.has_chalk = true;
- thread update_chalk_hud(level.chalk_hud);
- weapon = self.script_string;
- IPrintLnBold(weapon);
- draw_trigs = GetEntArray("draw_trig","targetname");
- for(i=0;i<draw_trigs.size;i++)
- {
- if(draw_trigs[i].script_string == weapon)
- {
- draw_trigs[i] thread chalk_wait_for_draw( self );
- other_trig = draw_trigs[i];
- }
- }
- chalk = GetEnt(self.target,"targetname");
- chalk Hide();
- self SetHintString("Press and Hold ^3[{+activate}]^7 to put back " + self.script_string + " chalk");
- self waittill("trigger",player);
- other_trig SetHintString("Requires " + other_trig.script_string + " chalk");
- other_trig notify("chalk_put_back");
- self SetHintString( "Press and Hold ^3[{+activate}]^7 to pick up " + self.script_string + " chalk");
- chalk Show();
- level.has_chalk = false;
- thread update_chalk_hud(level.chalk_hud);
- self chalk_wait_for_pickup();
- }
- else
- {
- IPrintLnBold("CANNOT CARRY MORE THAN ONE CHALK");
- self chalk_wait_for_pickup();
- }
- }
- function chalk_wait_for_draw( other_trig )
- {
- self endon("chalk_put_back");
- self SetHintString("Press and Hold ^3[{+activate}]^7 to draw " + self.script_string );
- self waittill("trigger",player);
- other_trig Delete();
- target = GetEnt(self.target,"targetname");
- target Hide();
- self Delete();
- new_chalk = GetEnt(target.target,"targetname");
- new_chalk Show();
- target Delete();
- IPrintLnBold(new_chalk.script_string + " = weapon_upgrade");
- spawn_list = level._spawned_wallbuys;
- for(i=0;i<spawn_list.size;i++)
- {
- if(spawn_list[i].zombie_weapon_upgrade == new_chalk.script_string)
- {
- unitrigger_stub = spawn_list[i].trigger_stub;
- IPrintLnBold(unitrigger_stub.origin);
- unitrigger_stub.origin = unitrigger_stub.origin - (0,0,300);
- IPrintLnBold(unitrigger_stub.origin);
- }
- }
- level.has_chalk = false;
- thread update_chalk_hud(level.chalk_hud);
- player zm_score::add_to_player_score( 500 );
- IPrintLnBold("finished");
- }
- function create_chalk_hud()
- {
- level.chalk_hud = NewClientHudElem( self );
- level.chalk_hud.foreground = true;
- level.chalk_hud.alpha = 0;
- level.chalk_hud SetShader("chalk_shader",20,20);
- level.chalk_hud.alignX = "left";
- level.chalk_hud.alignY = "bottom";
- level.chalk_hud.horzAlign = "left";
- level.chalk_hud.vertAlign = "bottom";
- level.chalk_hud.x = 8;
- level.chalk_hud.y = level.chalk_hud.y - 150;
- }
- function update_chalk_hud( chalk )
- {
- if(level.has_chalk == false)
- {
- chalk.alpha = 0;
- }
- else if(level.has_chalk == true)
- {
- chalk.alpha = 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement