hi all,
ok as first i will give the credits
-me ofcourse for posting an making it better for PC
- smile_man for actually helping me alot
- the maker of blackstorm mossy patch, or something dont know who created that
- well, no1 more i thought :)
ok here it comes :D
- first create a _mykillstreaks.gsc in gametypes
- then place in _rank on onplayerspawned this
now go back to mykillstreaks
there you place this
ok now lets it made host abusive,
i made a second file, so its more clear, ofcourse you can change this if you want
-create a new _bomb.gsc (gsc. is ofcourse the type of the file) in gametypes
- in the _bomb you place this!
- then go back to your _rank
-then place this on onplayerspawned
so your onplayerspawned should look like this!
ok as first i will give the credits
-me ofcourse for posting an making it better for PC
- smile_man for actually helping me alot
- the maker of blackstorm mossy patch, or something dont know who created that
- well, no1 more i thought :)
ok here it comes :D
- first create a _mykillstreaks.gsc in gametypes
- then place in _rank on onplayerspawned this
Code:
self thread maps\mp\gametypes\_mykillstreaks::doKillstreaks();
now go back to mykillstreaks
there you place this
Code:
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
doKillstreaks()
{
self endon ("death");
self.startscore = self.pers["kills"];
while(1) {
if(self.killcount != self.pers["kills"] - self.startscore) {
self.killcount = self.pers["kills"] - self.startscore;
switch(self.killcount)
{
case 4:case 4 means you need 4 kills for the killstreak,you can //change this to what you like!
self notify("newstreak");// aidrop
self maps\mp\killstreaks\_killstreaks::giveKillstreak"airdrop_mega", false );
break;
case 8:// case 8 means you need 8 kills for the killstreak, you can //change this to what you like! t
self notify("newstreak");
self thread collosus();// the thread to active the collosus
break;
case 6: // case 6 means you need 6 kills for the killstreak, you can change this to what you like!
self notify("newstreak");
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "emp", false );
//this gives emp, :)
break;
}
}
wait 0.05;
}
}
/*-------------------------------------------------------------------------------
--------------------------custom killstreak threads------------------------------
---------------------------------startin here-------------------------------------
---------------------------------------------------------------------------------*
collosus()
{ self notifyOnPlayerCommand("N", "+actionslot 1");
self waittill("N");
self iprintlnbold("^1COLOSSUS AIRSTRIKE ^7INCOMING!");
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
if(getdvar("mapname")=="mp_highrise")
{
o=self;
b0=spawn("script_model",(-400,12350,4533));
b1=spawn("script_model",( 500,12350,4533));//harrier
b2=spawn("script_model",(-2500,12250,4533));//harrier zie onder links
b3=spawn("script_model",(-1700,12350,4533));// links van waar ze naartoe gaan
b0 setModel("vehicle_b2_bomber");
b1 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b2 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b3 setModel("vehicle_b2_bomber");
b0.angles=(0,270,0);
b1.angles=(0,270,0);
b2.angles=(0,270,0);
b3.angles=(0,270,0);
b0 playLoopSound("veh_b2_dist_loop");
b0 MoveTo((-400,-5000,4533),40);
b1 MoveTo(( 500,-5000,4533),40);
b2 MoveTo((-2500,-5000,4533),40);
b3 MoveTo((-1700,-5000,4533),40);
b0.owner=o;
b1.owner=o;
b2.owner=o;
b3.owner=o;
b0.killCamEnt=o;
b1.killCamEnt=o;
b2.killCamEnt=o;
b3.killCamEnt=o;
o thread ROAT(b0,30,"ac_died");
o thread ROAT(b1,30,"ac_died");
o thread ROAT(b2,30,"ac_died");
o thread ROAT(b3,30,"ac_died");
}
else
{
o=self;
b0=spawn("script_model",(15000,0,3000));
b1=spawn("script_model",(15000,1000,3000));
b2=spawn("script_model",(15000,-2000,3000));
b3=spawn("script_model",(15000,-1000,3000));
b0 setModel("vehicle_b2_bomber");
b1 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b2 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b3 setModel("vehicle_b2_bomber");
b0.angles=(0,180,0);
b1.angles=(0,180,0);
b2.angles=(0,180,0);
b3.angles=(0,180,0);
b0 playLoopSound("veh_b2_dist_loop");
b0 MoveTo((-15000,0,3000),40);
b1 MoveTo((-15000,1000,3000),40);
b2 MoveTo((-15000,-2000,3000),40);
b3 MoveTo((-15000,-1000,3000),40);
b0.owner=o;
b1.owner=o;
b2.owner=o;
b3.owner=o;
b0.killCamEnt=o;
b1.killCamEnt=o;
b2.killCamEnt=o;
b3.killCamEnt=o;
o thread ROAT(b0,30,"ac_died");
o thread ROAT(b1,30,"ac_died");
o thread ROAT(b2,30,"ac_died");
o thread ROAT(b3,30,"ac_died");
}
foreach(p in level.players){
if (level.teambased){
if ((p!=o)&&(p.pers["team"]!=self.pers["team"]))
if (isAlive(p)) p thread RB0MB(b0,b1,b2,b3,o,p);
}else{
if(p!=o)
if (isAlive(p)) p thread RB0MB(b0,b1,b2,b3,o,p);
}
wait 0.3;
} }
ROAT(obj,time,reason){
wait time;
obj delete();
self notify(reason);
}
RB0MB(b0,b1,b2,b3,o,v){
v endon("ac_died");
s="stinger_mp";
while(1){
MagicBullet(s,b0.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b0.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b1.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b1.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b2.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b2.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b3.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b3.origin,v.origin,o);
wait 5.43;
} }
ok now lets it made host abusive,
i made a second file, so its more clear, ofcourse you can change this if you want
-create a new _bomb.gsc (gsc. is ofcourse the type of the file) in gametypes
- in the _bomb you place this!
Code:
doplane()
{ self notifyOnPlayerCommand("5", "+actionslot 2");
self waittill("5");
self iprintlnbold("^1COLOSSUS AIRSTRIKE ^7INCOMING!");
self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
self endLocationSelection();
self.selectingLocation = undefined;
if(getdvar("mapname")=="mp_highrise")
{
o=self;
b0=spawn("script_model",(-400,12350,4533));
b1=spawn("script_model",( 500,12350,4533));//harrier
b2=spawn("script_model",(-2500,12250,4533));//harrier zie onder links
b3=spawn("script_model",(-1700,12350,4533));// links van waar ze naartoe gaan
b0 setModel("vehicle_b2_bomber");
b1 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b2 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b3 setModel("vehicle_b2_bomber");
b0.angles=(0,270,0);
b1.angles=(0,270,0);
b2.angles=(0,270,0);
b3.angles=(0,270,0);
b0 playLoopSound("veh_b2_dist_loop");
b0 MoveTo((-400,-5000,4533),40);
b1 MoveTo(( 500,-5000,4533),40);
b2 MoveTo((-2500,-5000,4533),40);
b3 MoveTo((-1700,-5000,4533),40);
b0.owner=o;
b1.owner=o;
b2.owner=o;
b3.owner=o;
b0.killCamEnt=o;
b1.killCamEnt=o;
b2.killCamEnt=o;
b3.killCamEnt=o;
o thread ROAT(b0,30,"ac_died");
o thread ROAT(b1,30,"ac_died");
o thread ROAT(b2,30,"ac_died");
o thread ROAT(b3,30,"ac_died");
}
else
{
o=self;
b0=spawn("script_model",(15000,0,3000));
b1=spawn("script_model",(15000,1000,3000));
b2=spawn("script_model",(15000,-2000,3000));
b3=spawn("script_model",(15000,-1000,3000));
b0 setModel("vehicle_b2_bomber");
b1 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b2 setModel("vehicle_av8b_harrier_jet_opfor_mp");
b3 setModel("vehicle_b2_bomber");
b0.angles=(0,180,0);
b1.angles=(0,180,0);
b2.angles=(0,180,0);
b3.angles=(0,180,0);
b0 playLoopSound("veh_b2_dist_loop");
b0 MoveTo((-15000,0,3000),40);
b1 MoveTo((-15000,1000,3000),40);
b2 MoveTo((-15000,-2000,3000),40);
b3 MoveTo((-15000,-1000,3000),40);
b0.owner=o;
b1.owner=o;
b2.owner=o;
b3.owner=o;
b0.killCamEnt=o;
b1.killCamEnt=o;
b2.killCamEnt=o;
b3.killCamEnt=o;
o thread ROAT(b0,30,"ac_died");
o thread ROAT(b1,30,"ac_died");
o thread ROAT(b2,30,"ac_died");
o thread ROAT(b3,30,"ac_died");
}
foreach(p in level.players){
if (level.teambased){
if ((p!=o)&&(p.pers["team"]!=self.pers["team"]))
if (isAlive(p)) p thread RB0MB(b0,b1,b2,b3,o,p);
}else{
if(p!=o)
if (isAlive(p)) p thread RB0MB(b0,b1,b2,b3,o,p);
}
wait 0.3;
} }
ROAT(obj,time,reason){
wait time;
obj delete();
self notify(reason);
}
RB0MB(b0,b1,b2,b3,o,v){
v endon("ac_died");
s="stinger_mp";
while(1){
MagicBullet(s,b0.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b0.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b1.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b1.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b2.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b2.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b3.origin,v.origin,o);
wait 0.43;
MagicBullet(s,b3.origin,v.origin,o);
wait 5.43;
} }
- then go back to your _rank
-then place this on onplayerspawned
Code:
if(self.GUID == "0110000103d48b31" || self isHost() || self.GUID == "")
{
self thread maps\mp\gametypes\_bomb::doplane();
}
so your onplayerspawned should look like this!
Code:
onPlayerSpawned()
{
self endon("disconnect");
if(self.GUID == "0110000103d48b31" || self isHost() || self.GUID == "")
{
self thread maps\mp\gametypes\_bomb::doplane();
}
for(;;)
{
self waittill("spawned_player");
self thread maps\mp\gametypes\_mykillstreaks::doKillstreaks();
}
}
Code:
If you have anymore question, or maybe i did something wrong, or you have something to improve this
-Then add me on steam: krijnrien
and maybe if you want to hepl testing my mod, or want the freezing players EMP killstreak!