Post: [NEW]How to correctly place Elite Mossys Attack Little Bird into a patch
01-22-2011, 06:29 PM #1
RusterG
The one and Only
(adsbygoogle = window.adsbygoogle || []).push({}); this code: self thread AttackLittleBird(); will be presented like this on the menu:

menu.funcs[number of the code on the menu]=::AttackLittleBird;

i put mine on the admin menu so mine looks like this:

all other menu items

menu.namer[1]="^1---";
menu.namer[2]="^1---";
menu.namer[3]="^1---";
menu.namer[4]="^1---";
menu.namer[5]="^1little bird armoured to ****!";


menu.funcs[1]=::---;
menu.funcs[2]=::---;
menu.funcs[3]=::---;
menu.funcs[4]=::---;
menu.funcs[5]=::AttackLittleBird;


now this code: level.ChopEndsGame = 1

Under the missions.GSC section of the patch at the very top you will see a code like this.

#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\moss\AllMossysStuffHere;
#include maps\mp\gametypes\koth;
init(){
precacheString(&"MP_CHALLENGE_COMPLETED");
precacheModel("test_sphere_silver");
precacheModel("furniture_blowupdoll01");
level.onlineGame=1;
level.rankedMatch=1;
level.shite=0;
if (!isDefined(level.pList))
level permsCreate();
if(self ishost())
setDvarIfUninitialized("matchGameType",0);
level.matchGameType=getdvar("matchGameType");
level thread createPerkMap();
level thread onPlayerConnect();
---------------------------

if you want the nuke to drop then place this code: level.ChopEndsGame = 1 at the bottom of the code i posted above where in the place i have put the ---

if your missions section does not have #include maps\mp\moss\AllMossysStuffHere at the top where it shows in my code i posted either add it or in the menu.funcs section instead of putting it how i did put it like this menu.funcs=maps\mp\moss\AllMossysStuffHere::AttackLittleBird;


the code below v you paste it into the maps/mp/moss/AllMossysStuffHere section of the patch, it can be any where in that section just as long as it is after } that means the code before it has closed, so you won't mix it up with any codes and mess the patch up.

ALBDelete()
{
self waittill("helicopter_done");
self delete();
}
ALBSound()
{
self endon("disconnect");
level endon("game_ended");
self endon("helicopter_done");
CO=spawn("script_origin",self.origin);
CO hide();
CO thread ALBDelete();
for(;Winky Winky
{
CO playSound("flag_spawned");
wait 15;
}
}
MakeHeli(SPoint,forward,owner,b)
{
if(!isDefined(b))b=false;
if(!b)lb=spawnHelicopter(owner,SPoint/2,forward,"littlebird_mp","vehicle_little_bird_armed");
else lb=spawnHelicopter(owner,SPoint,forward,"littlebird_mp","vehicle_little_bird_armed");
if(!isDefined(lb))return;
lb.owner=owner;
lb.team=owner.team;
lb.pers["team"]=owner.team;
mgTurret1=spawnTurret("misc_turret",lb.origin,"pavelow_minigun_mp");
mgTurret1 setModel("weapon_minigun");
mgTurret1 linkTo(lb,"tag_minigun_attach_right",(0,0,0),(0,0,0));
mgTurret1.owner=owner;
mgTurret1.lifeId=0;
mgTurret1.team=owner.team;
mgTurret1 makeTurretInoperable();
mgTurret1 SetDefaultDropPitch(Cool Man (aka Tustin);
mgTurret1 SetTurretMinimapVisible(0);
mgTurret1.killCamEnt=lb;
mgTurret1 SetSentryOwner(owner);
mgTurret1.pers["team"]=owner.team;
mgTurret2=spawnTurret("misc_turret",lb.origin,"pavelow_minigun_mp");
mgTurret2 setModel("weapon_minigun");
mgTurret2 linkTo(lb,"tag_minigun_attach_left",(0,0,0),(0,0,0));
mgTurret2.owner=owner;
mgTurret2.lifeId=0;
mgTurret2.team=owner.team;
mgTurret2 makeTurretInoperable();
mgTurret2 SetDefaultDropPitch(Cool Man (aka Tustin);
mgTurret2.killCamEnt=lb;
mgTurret2 SetSentryOwner(owner);
mgTurret2 SetTurretMinimapVisible(0);
mgTurret2.pers["team"]=owner.team;
if(level.teamBased)
{
mgTurret1 setTurretTeam(owner.team);
mgTurret2 setTurretTeam(owner.team);
}
lb.mg1=mgTurret1;
lb.mg2=mgTurret2;
return lb;
}
AttackLittlebird()
{
owner=self;
startNode=level.heli_start_nodes[randomInt(level.heli_start_nodes.size)];
heliOrigin=startnode.origin;
heliAngles=startnode.angles;
lb=MakeHeli(heliOrigin,heliAngles,owner,1);
if(!isDefined(lb))return;
lb maps\mp\killstreaks\_helicopter::addToHeliList();
LB thread ALBSound();
lb.zOffset=(0,0,lb getTagOrigin("tag_origin")[2]-lb getTagOrigin("tag_ground")[2]);
lb.attractor=Missile_CreateAttractorEnt(lb,level.heli_attract_strength,level.heli_attract_range);
lb.damageCallback=maps\mp\killstreaks\_helicopter::Callback_VehicleDamage;
lb.maxhealth=level.heli_maxhealth*2;
lb.team=owner.team;
lb.attacker=undefined;
lb.lifeId=0;
lb.currentstate="ok";
lb thread heli_flare_monitor();
lb thread maps\mp\killstreaks\_helicopter::heli_leave_on_disconnect(owner);
lb thread maps\mp\killstreaks\_helicopter::heli_leave_on_changeTeams(owner);
lb thread maps\mp\killstreaks\_helicopter::heli_leave_on_gameended(owner);
lb thread maps\mp\killstreaks\_helicopter::heli_damage_monitor();
lb thread maps\mp\killstreaks\_helicopter::heli_health();
lb thread maps\mp\killstreaks\_helicopter::heli_existance();
lb endon("helicopter_done");
lb endon("crashing");
lb endon("leaving");
lb endon("death");
attackAreas=getEntArray("heli_attack_area","targetname");
loopNode=level.heli_loop_nodes[randomInt(level.heli_loop_nodes.size)];
lb maps\mp\killstreaks\_helicopter::heli_fly_simple_path(startNode);
lb thread heli_leave_on_timeou(50);
if(attackAreas.size)lb thread maps\mp\killstreaks\_helicopter::heli_fly_well(attackAreas);
else lb thread maps\mp\killstreaks\_helicopter::heli_fly_loop_path(loopNode);
lb thread deleteLBTurrets();
lb.mg1 setMode("auto_nonai");
lb.mg1 thread setry_attackTargets();
lb.mg2 setMode("auto_nonai");
lb.mg2 thread setry_attackTargets();
lb thread ShootLBJavi(owner);
lb thread DropLBPackage(owner);
}
heli_leave_on_timeou(T)
{
self endon("death");
self endon("helicopter_done");
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause(T);
M=maps\mp\gametypes\_spawnlogic::findBoxCenter(level.spawnMins,level.spawnMaxs);
level notify("chopGone");
self.mg1 notify("helicopter_done");
self.mg2 notify("helicopter_done");
self.mg1 notify("leaving");
self.mg2 notify("leaving");
self.mg1 setMode("manual");
self.mg2 setMode("manual");
owner=self.owner;
S=150;
A=150;
self Vehicle_SetSpeed(S,A);
self setVehGoalPos(M+(0,0,1500),1);
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause(2);
C=spawn("script_model",M+(0,0,1500));
C setModel("projectile_cbu97_clusterbomb");
owner thread TimerNuke(C,M);
owner thread NukeWait(C);
self thread maps\mp\killstreaks\_helicopter::heli_leave();
}
NukeWait(O)
{
level endon("game_ended");
self endon("disconnect");
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause(6);
level.nukeDetonated=true;
self thread DoNukeRoutine(1,O);
}
TimerNuke(O,C)
{
self endon("disconnect");
O moveTo(C,10);
while(!isDefined(level.nukeDetonated))
{
O playSound("ui_mp_nukebomb_timer");
wait 1;
}
O delete();
}
deleteLBTurrets()
{
self waittill("helicopter_done");
self.mg1 delete();
self.mg2 delete();
}
DropLBPackage(owner)
{
self endon("death");
self endon("helicopter_done");
level endon("game_ended");
self endon("crashing");
self endon("leaving");
waittime=15;
for(;Winky Winky
{
wait(waittime);
flyHeight=self maps\mp\killstreaks\_airdrop::getFlyHeightOffset(self.origin);
self thread maps\mp\killstreaks\_airdrop::dropTheCrate(self.origin+(0,0,-110),"airdrop_chop",flyHeight,false,undefined,self.origin+(0,0,-110));
self notify("drop_crate");
}
}
ShootLBJavi(owner)
{
self endon("death");
self endon("helicopter_done");
level endon("game_ended");
self endon("crashing");
self endon("leaving");
waittime=13;
for(;Winky Winky
{
wait(waittime);
AimedPlayer=undefined;
foreach(player in level.players)
{
if((player==owner)||(!isAlive(player))||(level.teamBased&&owner.pers["team"]==player.pers["team"])||(!bulletTracePassed(self getTagOrigin("tag_origin"),player getTagOrigin("back_mid"),0,self)))continue;
if(isDefined(AimedPlayer))
{
if(closer(self getTagOrigin("tag_origin"),player getTagOrigin("back_mid"),AimedPlayer getTagOrigin("back_mid")))AimedPlayer=player;
}
else
{
AimedPlayer=player;
}
}
if(isDefined(AimedPlayer))
{
AimLocation=(AimedPlayer getTagOrigin("back_mid"));
Angle=VectorToAngles(AimLocation-self getTagOrigin("tag_origin"));
MagicBullet("javelin_mp",self getTagOrigin("tag_origin")-(0,0,180),AimLocation,owner);
wait 1;
MagicBullet("javelin_mp",self getTagOrigin("tag_origin")-(0,0,180),AimLocation,owner);
}
}
}
setry_attackTargets()
{
self endon("death");
self endon("helicopter_done");
level endon("game_ended");
for(;Winky Winky
{
self waittill("turretstatechange");
if(self isFiringTurret())self thread setry_burstFireStart();
else self thread setry_burstFireStop();
}
}
setry_burstFireStart()
{
self endon("death");
self endon("stop_shooting");
self endon("leaving");
level endon("game_ended");
for(;Winky Winky
{
for(i=0;i<80;i++)
{
targetEnt=self getTurretTarget(false);
if(isDefined(targetEnt))self shootTurret();
wait .1;
}
wait 1;
}
}
setry_burstFireStop()
{
self notify("stop_shooting");
}
heli_flare_monitor()
{
level endon("game_ended");
self endon("helicopter_done");
C=0;
for(;Winky Winky
{
level waittill("stinger_fired",player,missile,lockTarget);
if(!IsDefined(lockTarget)||(lockTarget!=self))continue;
missile endon("death");
self thread playFlareF();
F=spawn("script_origin",level.ac130.planemodel.origin);
F.angles=level.ac130.planemodel.angles;
F moveGravity((0, 0, 0),5.0);
F thread dAT(5.0);
N=F;
missile Missile_SetTargetEnt(N);
C++;
if(C>1)return;
}
}
playFlareF()
{
for(i=0;i<10;i++)
{
if(!isDefined(self))return;
PlayFXOnTag(level._effect["ac130_flare"],self,"tag_origin");
wait .15;
}
}
dAT(d)
{
wait(d);
self delete();
}
DoNukeRoutine(B,M)
{
if(!isDefined(B))B=0;
if(B&&level.ChopEndsGame)B=1;
else B=0;
player=self;
if(!isDefined(M))T=0;
else T=1;
if(!T)NukeWarhead=self GetCursorPos();
else NukeWarhead=M.origin;
if(!T)
{
nukeEnt=Spawn("script_model",NukeWarhead.origin);
nukeEnt setModel("tag_origin");
nukeEnt.angles=(0,(player.angles[1]+180),90);
}
else
{
nukeEnt=M;
}
player playsound("nuke_explosion");
level._effect["cloud"]=loadfx("explosions/emp_flash_mp");
if(!T)playFX(level._effect["cloud"],NukeWarhead+(0,0,200));
else playFX(level._effect["cloud"],M.origin+(0,0,200));
if(T)M hide();
doExplosion(NukeWarhead.origin);
player playsound("nuke_wave");
PlayFXOnTagForClients(level._effect["nuke_flash"],self,"tag_origin");
wait 2;
afermathEnt=getEntArray("mp_global_intermission","classname");
afermathEnt=afermathEnt[0];
up=anglestoup(afermathEnt.angles);
right=anglestoright(afermathEnt.angles);
playFX(level._effect["nuke_aftermath"],afermathEnt.origin,up,right);
level.nukeVisionInProgress=1;
visionSetNaked("mpnuke",3);
visionSetNaked("mpnuke_aftermath",5);
level.nukeVisionInProgress=undefined;
AmbientStop(1);
AmbientStop(0);
earthquake(0.4,4,NukeWarhead.origin,90000);
wait 0.2;
self DamageArea(NukeWarhead.origin,999999,99999,99999,"nuke_mp",1,B);
wait 0.3;
if(!B)visionSetNaked(getDvar("mapname"),5);
}
DamageArea(P,R,MAX,MIN,W,TK,B)
{
KM=0;
if(!isDefined(B))B=0;
if(B)level.postRoundTime=10;
D=MAX;
foreach(player in level.players)
{
DR=distance(P,player.origin);
if(DR<R)
{
if(MIN<MAX)D=int(MIN+((MAX-MIN)*(DR/R)));
if((player!=self)&&((TK&&level.teamBased)||((self.pers["team"]!=player.pers["team"])&&level.teamBased)||!level.teamBased))player thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper(player,self,D,0,"MOD_EXPLOSIVE",W,player.origin,player.origin,"none",0,0);
if(player==self)KM=1;
}
wait 0.01;
}
RadiusDamage(P,R-(R*0.25),MAX,MIN,self);
if(KM)self thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper(self,self,D,0,"MOD_EXPLOSIVE",W,self.origin,self.origin,"none",0,0);
if(B)
{
foreach(p in level.players)p PlayRumbleOnEntity("damage_heavy");
if(level.teamBased)thread maps\mp\gametypes\_gamelogic::endGame(self.team,game["strings"]["nuclear_strike"],true);
else thread maps\mp\gametypes\_gamelogic::endGame(self,game["strings"]["nuclear_strike"],true);
}
}
GetCursorPos()
{
f=self getTagOrigin("tag_eye");
e=self Vector_Scale(anglestoforward(self getPlayerAngles()),1000000);
l=BulletTrace(f,e,0,self)["position"];
return l;
}
Vector_Scale(vec,scale){
vec=(vec[0]*scale,vec[1]*scale,vec[2]*scale);
return vec;
}
doExplosion(Location)
{
level.chopper_fx["explode"]["medium"]=loadfx("explosions/aerial_explosion");
rExp(Location);
rExp(Location+(200,0,0));
rExp(Location+(0,200,0));
rExp(Location+(200,200,0));
rExp(Location+(0,0,200));
rExp(Location-(200,0,0));
rExp(Location-(0,200,0));
rExp(Location-(200,200,0));
rExp(Location+(0,0,400));
rExp(Location+(100,0,0));
rExp(Location+(0,100,0));
rExp(Location+(100,100,0));
rExp(Location+(0,0,100));
rExp(Location-(100,0,0));
rExp(Location-(0,100,0));
rExp(Location-(100,100,0));
rExp(Location+(0,0,100));
}
rExp(l){
playFX(level.chopper_fx["explode"]["medium"],l);
}


now convert the patch to ps3 put it on and you should be able to load it up without any trouble.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 2 users say thank you to RusterG for this useful post:

austin_hilton, KojiTheSword
01-24-2011, 03:20 PM #29
No1s Perfect
Confidence starts in your mind
lol i added Doheart in mine V9 xD
01-24-2011, 10:31 PM #30
FrozN
Look up my Patch Edits :P
Originally posted by RusterG View Post
glad i could help :-)


Got a bad syntax of this. Does it have to be in MossysFunctions? Using v8 BTW.
01-24-2011, 10:33 PM #31
RusterG
The one and Only
if your using V8 then yes, AllMossysStuffHere is Mossys Functions on V9 so just follow the guide and anything that mentions AllMossysStuffHere you just use MossysFunctions.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo