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!

... but yea it seems no1 is interested in colossus........

fly and shoot missiles and I will +rep you (pretty sure all ![[Image: lQDUjba.jpg]](http://i.imgur.com/lQDUjba.jpg)
+ explaining tutorial