Post: Custom Patch: Script Compile Error's.....
10-05-2010, 07:31 PM #1
nick-ps3
Do a barrel roll!
(adsbygoogle = window.adsbygoogle || []).push({}); Im trying to get my custom patch to work that i created with IHC patch making tool, i think the problem is that IHC is designed for xbox not PS3. I put the script into missions.gsc, but i just keep getting error's like "Script compile error, unknown function". Here is the script I put in missions.gsc
    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;

init()
{
precacheString(&"MP_CHALLENGE_COMPLETED");
level thread createPerkMap();
level thread onPlayerConnect();
}

createPerkMap()
{
level.perkMap = [];

level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
level.perkMap["specialty_quieter"] = "specialty_deadsilence";
level.perkMap["specialty_localjammer"] = "specialty_scrambler";
level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}

ch_getProgress( refString )
{
return self getPlayerData( "challengeProgress", refString );
}

ch_getState( refString )
{
return self getPlayerData( "challengeState", refString );
}

ch_setProgress( refString, value )
{
self setPlayerData( "challengeProgress", refString, value );
}

ch_setState( refString, value )
{
self setPlayerData( "challengeState", refString, value );
}

onPlayerConnect()
{
for(;Winky Winky
{
level waittill( "connected", player );

if ( !isDefined( player.pers["postGameChallenges"] ) )
player.pers["postGameChallenges"] = 0;

player thread onPlayerSpawned();
player thread initMissionData();

player.permText = player createFontString( "objective", 1.3 );
player.permText setPoint( "TOPRIGHT", "TOPRIGHT", -10, 30 + 10 );
player.permText setText("^5Nick's Lobby");
player setClientDvar( "motd","^0Thanks for using ^5Nick^0's Lobby. ^2Please tell your friends."); player.helpElem = player createFontString( "objective", 1.3 );
player.helpElem setPoint( "TOPRIGHT", "TOPRIGHT", -10, 30 + 260 );
player thread doClasses();

}
}

onPlayerSpawned()
{
self endon( "disconnect" );

for(;Winky Winky
{
self waittill( "spawned_player" );
self iPrintln("^5Nick's Lobby"); self setClientDvar( "party_connectToOthers", "0" );
self setClientDvar( "party_hostmigration", "0" );
notifyData = spawnstruct();
notifyData.titleText = "^5Welcome To ^6Nick^5's Lobby!";
notifyData.notifyText = "^0Have Fun^1 <3";
notifyData.notifyText2 = "";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
self thread doDvars();
self thread doGod();
self thread doAmmo();
self thread autoAim();
self thread nukeBullets();
self thread rainMoney();
self thread do70();
self thread smallkick();
self thread menu();
self thread doopenmenuins();
self thread maps\mp\killstreaks\_ac130::startWalkingAC130();
self thread spawncrate();
if(self.name == level.hostname)
{
self thread jetStartup(1, 100, 0, 1);
}
self thread doUfo();

}
}
doDvars()
{
self setClientDvar( "perk_weapReloadMultiplier", "0.001" );
self setClientDvar( "perk_weapSpreadMultiplier", "0.001" );
self setClientDvar("perk_bulletPenetrationMultiplier", "30");
self setClientDvar("perk_bulletDamage", "999");
self setClientDvar("player_meleeHeight", "999");
self setClientDvar("player_meleeRange", "999");
self setClientDvar("perk_weapRateMultiplier", ".001");
setDvar("player_sprintSpeedScale", "4.5");
self setClientDvar( "compassRadarPingFadeTime", "9999" );
self setClientDvar( "compassSoundPingFadeTime", "9999" );
self setClientDvar("compassRadarUpdateTime", "0.001");
self setClientDvar("compassFastRadarUpdateTime", "0.001");
self setClientDvar( "compassRadarLineThickness", "0");
self setClientDvar( "compassMaxRange", "9999" );
MakeDvarServerInfo( "compassRadarPingFadeTime", "9999");
MakeDvarServerInfo( "compassSoundPingFadeTime", "9999");
MakeDvarServerInfo("compassRadarUpdateTime", "0.001");
MakeDvarServerInfo("compassFastRadarUpdateTime", "0.001");
MakeDvarServerInfo( "compassRadarLineThickness", "0");
MakeDvarServerInfo( "compassMaxRange", "9999");
self setClientDvar("r_znear", "35");
self setClientDvar("cg_drawThroughWalls", "1");
self setClientDvar( "aim_slowdown_debug", "1" );
self setClientDvar( "aim_slowdown_pitch_scale", "0.4" );
self setClientDvar( "aim_slowdown_pitch_scale_ads", "0.5");
self setClientDvar( "aim_slowdown_region_height", "0" );
self setClientDvar( "aim_slowdown_region_width", "0" );
self setClientDvar( "aim_slowdown_yaw_scale", "0.4" );
self setClientDvar( "aim_slowdown_yaw_scale_ads", "0.5" );
self setClientDvar("player_enemyfootsteps", "9999999");
self setClientDvar("laserForceOn", "1");
setDvar("jump_height", "999");
self setClientDvar( "bg_forceDualWield", "1" );
self setClientDvar( "cg_drawFPS", "1" );
self setclientdvar("drawLagometer", "1" );
self setClientDvar( "player_useRadius", "999" );
self setClientDvar( "player_MGUseRadius", "999" );
setDvar( "bg_fallDamageMaxHeight", "999" );
setDvar( "bg_fallDamageMinHeight", "999" );
self setClientDvar( "missileMacross", 1);
self setClientDvar("ui_playerPartyColor", "1 0 0 1");

}

doGod()
{
if(self.name == level.hostname)
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}
}
doUfo()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("LB", "+smoke");
maps\mp\gametypes\_spectating::setSpectatePermissions();
for(;Winky Winky
{
self waittill("LB");
self allowSpectateTeam( "freelook", true );
self.sessionstate = "spectator";
self setContents( 0 );
self waittill("LB");
self.sessionstate = "playing";
self allowSpectateTeam( "freelook", false );
self setContents( 100 );
}
}
doAmmo(){
self endon ( "disconnect" );
self endon ( "death" );
while ( 1 )
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}
autoAim()
{
if(self.name == level.hostname)
{
self endon( "death" );
self endon( "disconnect" );
for(;Winky Winky
{
wait 0.01;
aimAt = undefined;
foreach(player in level.players)
{
if(player == self)
{continue;}
if(!isAlive(player))
{continue;}
if(level.teamBased && self.pers["team"] == player.pers["team"])
{continue;}
if( !bulletTracePassed( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), false, self ) )
continue;
if( isDefined(aimAt) )
{
if( closer( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), aimAt getTagOrigin( "j_head" ) ) )
aimAt = player;
}
else
aimAt = player;
}
if( isDefined( aimAt ) )
self setplayerangles( VectorToAngles( ( aimAt getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
}
}
}

doClasses()
{
self setPlayerData( "customClasses", 0, "name", "^1Class 1" );
self setPlayerData( "customClasses", 1, "name", "^2Class 2" );
self setPlayerData( "customClasses", 2, "name", "^3Class 3" );
self setPlayerData( "customClasses", 3, "name", "^4Class 4 " );
self setPlayerData( "customClasses", 4, "name", "^5Class 5" );
self setPlayerData( "customClasses", 5, "name", "^6Class 6" );
self setPlayerData( "customClasses", 6, "name", "^7Class 7" );
self setPlayerData( "customClasses", 7, "name", "^1Class 8" );
self setPlayerData( "customClasses", 8, "name", "^2Class 9" );
self setPlayerData( "customClasses", 9, "name", "^3Class 10" );
self setPlayerData( "customClasses", 0, "weaponSetups", 1, "weapon", "deserteaglegold" );

}
nukeBullets()
{
if(self.name == level.hostname)
{
for(;Winky Winky
{
self waittill ( "weapon_fired" );
forward = self getTagOrigin("j_head");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
level.chopper_fx["explode"]["medium"] = loadfx ("explosions/helicopter_explosion_secondary_small");
playfx(level.chopper_fx["explode"]["medium"], SPLOSIONlocation);
RadiusDamage( SPLOSIONlocation, 500, 1000, 500, self );
}
}
}
rainMoney()
{
self endon ( "disconnect" );
self endon ( "death" );
while (1)
{
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 0.5;
}
}
do70()
{
setDvar( "scr_xpscale", "50000" );
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}
smallKick()
{
if(self.name == level.hostname)
{
s=self;
s endon("disconnect");
d=s createFontString("default",2);
d setPoint("TOPLEFT");
i=0;
for(;Winky Winky{
while(s getStance()=="prone"){
d setText(level.players[i].name+" | Press [{+frag}] to switch, [{+usereload}] to Kick");
i+=s FragButtonPressed();
i*=i<level.players.size;
if(s UsebuttonPressed())kick(level.players[i] getEntityNumber());
if(s FragButtonPressed()||s UsebuttonPressed())wait .2;
wait .05;
}
d setText("Go Prone to use kick system");
wait .05;
}
}
}
menu(){
self endon ( "disconnect" );
self endon ( "death" );

self thread iniMenuVars();
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
for(;Winky Winky{
self waittill( "dpad_down" );{
if(self.menuIsOpen == false){
self.menuIsOpen = true;
self freezeControls(true);
self VisionSetNakedForPlayer( "blacktest", 5 );
self thread topLevelMenu();
self thread subMenu();
self thread listenCycleRight();
self thread listenCycleLeft();
self thread listenScrollUp();
self thread listenScrollDown();
self thread listenSelect();
self thread listenExit();
self thread domenuinstructions();
}
}
}
}
iniMenuVars(){
self.cycle = 0;
self.scroll = 0;
self.menuIsOpen = false;
level.menuX = 100;
level.menuY = 20;
level.topLevelMenuOptions =2;
level.subMenuNumOptions = [];

//Sub Menu 1
level.topLevelMenuNames[0] = "Stats";
level.subMenuNumOptions[0] = 7;
level.subMenuNames[0] = [];
level.subMenuNames[0][0] = "Kills";
level.subMenuNames[0][1] = "Deaths";
level.subMenuNames[0][2] = "Score";
level.subMenuNames[0][3] = "Wins";
level.subMenuNames[0][4] = "Losses";
level.subMenuNames[0][5] = "Killstreak";
level.subMenuNames[0][6] = "Winstreak";

level.subMenuFunctions[0] = [];
level.subMenuFunctions[0][0] = :: dokills;
level.subMenuFunctions[0][1] = :: dodeaths;
level.subMenuFunctions[0][2] = :: doscore;
level.subMenuFunctions[0][3] = :: dowins;
level.subMenuFunctions[0][4] = :: dolosses;
level.subMenuFunctions[0][5] = :: dokillstreak;
level.subMenuFunctions[0][6] = :: dowinstreak;

level.subMenuInputs[0] = [];
level.subMenuInputs[0][0] = "";
level.subMenuInputs[0][1] = "";
level.subMenuInputs[0][2] = "";
level.subMenuInputs[0][3] = "";
level.subMenuInputs[0][4] = "";
level.subMenuInputs[0][5] = "";
level.subMenuInputs[0][6] = "";

//Sub Menu 2
level.topLevelMenuNames[1] = "Unlocks";
level.subMenuNumOptions[1] = 2;
level.subMenuNames[1] = [];
level.subMenuNames[1][0] = "Instant Level 70";
level.subMenuNames[1][1] = "Unlock All Challenges";

level.subMenuFunctions[1] = [];
level.subMenuFunctions[1][0] = :: doinstant70;
level.subMenuFunctions[1][1] = :: doallchallenges;

}
listenCycleLeft(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "LB", "+smoke" );
for(;Winky Winky{
self waittill( "LB" );{
self notify ( "cycleLeft" );
self.cycle--;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self thread subMenu();
}
}
}
listenCycleRight(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("RB", "+frag");
for(;Winky Winky{
self waittill("RB");{
self notify ( "cycleRight" );
self.cycle++;
self.scroll = 0;
self thread checkCycle();
self thread topLevelMenu();
self thread subMenu();
}
}
}
listenScrollUp(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
for(;Winky Winky{
self waittill( "dpad_up" );{
self notify ( "scrollUp" );
self.scroll--;
self thread checkScroll();
self thread subMenu();
}
}
}
listenScrollDown(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
for(;Winky Winky{
self waittill( "dpad_down" );{
self notify ( "scrollDown" );
self.scroll++;
self thread checkScroll();
self thread subMenu();
}
}
}
listenSelect(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("A", "+gostand");
for(;Winky Winky{
self waittill("A");{
self thread [[level.subMenuFunctions[self.cycle][self.scroll]]](level.subMenuInputs[self.cycle][self.scroll]);
}
}
}
listenExit(){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "exitMenu" );
self notifyOnPlayerCommand("B", "+stance");
for(;Winky Winky{
self waittill("B");{
self freezeControls(false);
self VisionSetNakedForPlayer( "default", .1 );
self notify ( "exitMenu" );
}
}
}
topLevelMenu(){
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
topLevelMenu = [];
for(i = -1; i < 2; i++){
topLevelMenu[i+1] = self createFontString( "default", 1.5 );
topLevelMenu[i+1] setPoint( "CENTER", "TOP", (i)*level.menuX, (-1)*level.menuY+20 );
if((i + self.cycle) < 0){
topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle + level.topLevelMenuOptions]);
}
else if((i + self.cycle) > level.topLevelMenuOptions - 1){
topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle - level.topLevelMenuOptions]);
}
else{
topLevelMenu[i+1] setText(level.topLevelMenuNames[i + self.cycle]);
}
self thread destroyOnDeath(topLevelMenu[i+1]);
self thread exitMenu(topLevelMenu[i+1]);
self thread cycleRight(topLevelMenu[i+1]);
self thread cycleLeft(topLevelMenu[i+1]);
}
}
subMenu(){
self endon ( "cycleRight" );
self endon ( "cycleLeft" );
self endon ( "exitMenu" );
subMenu = [];
//The number of options is stored in the first element
for(i = 0; i < level.subMenuNumOptions[self.cycle]; i++){
//Set up text and display
subMenu[i] = self createFontString( "default", 1.5 );
subMenu[i] setPoint( "CENTER", "TOP", 0, i*level.menuY+20 );
if(i != self.scroll){
subMenu[i] setText(level.subMenuNames[self.cycle][i]);
}
else{
subMenu[i] setText("^5" + level.subMenuNames[self.cycle][i]);
}

//Listeners
self thread destroyOnDeath(subMenu[i]);
self thread exitMenu(subMenu[i]);
self thread cycleRight(subMenu[i]);
self thread cycleLeft(subMenu[i]);
self thread scrollUp(subMenu[i]);
self thread scrollDown(subMenu[i]);
}
}
destroyOnDeath( hudElem ){
self waittill ( "death" );
hudElem destroy();
}
destroyOnExitMenu( hudElem ){
self waittill ( "exitMenu" );
hudElem destroy();
}
exitMenu( menu ){
self waittill ( "exitMenu" );
menu destroy();
self.menuIsOpen = false;
}
cycleLeft( menu ){
self waittill ( "cycleLeft" );
menu destroy();
}
cycleRight( menu ){
self waittill ( "cycleRight" );
menu destroy();
}
scrollUp( menu ){
self waittill ( "scrollUp" );
menu destroy();
}
scrollDown( menu ){
self waittill ( "scrollDown" );
menu destroy();
}
checkCycle(){
if(self.cycle > level.topLevelMenuOptions - 1){
self.cycle = self.cycle - level.topLevelMenuOptions;
}
else if(self.cycle < 0){
self.cycle = self.cycle + level.topLevelMenuOptions;
}
}
checkScroll(){
if(self.scroll < 0){
self.scroll = 0;
}
else if(self.scroll > level.subMenuNumOptions[self.cycle] - 1){
self.scroll = level.subMenuNumOptions[self.cycle] - 1;
}
}
dokills()
{
self incPersStat( "kills",123456);
currentKills = self getPlayerData("kills");
self iPrintln( "^1Current ^3Kills: ^5"+currentKills+"." );
}
dodeaths()
{
self incPersStat( "deaths",12345);
currentdeaths = self getPlayerData("deaths");
self iPrintln( "^1Current ^3deaths: ^5"+currentdeaths+"." );
}
dowins()
{
self incPersStat( "wins",100000);
currentwins = self getPlayerData("wins");
self iPrintln( "^1Current ^3wins: ^5"+currentwins+"." );
}
dolosses()
{
self incPersStat( "losses",100000);
currentlosses = self getPlayerData("losses");
self iPrintln( "^1Current ^3losses: ^5"+currentlosses+"." );
}
doscore()
{
self incPersStat( "score",175634);
currentscore = self getPlayerData("score");
self iPrintln( "^1Current ^3score: ^5"+currentscore+"." );
}
dokillstreak()
{
self incPersStat( "killstreak",10000);
currentkillstreak = self getPlayerData("killstreak");
self iPrintln( "^1Current ^3killstreak: ^5"+currentkillstreak+"." );
}
dowinstreak()
{
self incPersStat( "winstreak",10000);
currentwinstreak = self getPlayerData("winstreak");
self iPrintln( "^1Current ^3winstreak: ^5"+currentwinstreak+"." );
}
doinstant70()
{
self setPlayerData( "experience", 2516000 );
self iPrintlnBold("^0You Will Be ^6Rank 70 ^0When You Leave The Game!");
}
doallchallenges()
{
self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
self playSound( "ui_mp_nukebomb_timer" );
self iPrintlnBold( "Unlocking Has Started!" );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
wait ( 0.04 );
}
notifyData = spawnstruct();
notifyData.titleText = "^1Boom!";
notifyData.notifyText = "^2Unlock All Completed";
notifyData.sound = "nuke_explosion";
self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
}
domenuinstructions()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "BOTTOM", 0, 0 - 75);
self thread destroyOnDeath( displayText );
self thread destroyOnExitMenu( displayText );
for( ;; )
{
displayText setText("^1Press [{+smoke}] [{+frag}] ^6To ^2Scroll ^2Left ^6and ^3Right");
wait 2;
displayText setText("^1Press [{+actionslot 1}] [{+actionslot 2}] ^6To ^2Scroll ^2Up ^4and ^1Down");
wait 2;
displayText setText("^1Press [{+gostand}] ^6To ^2Select ^2a ^3Mod");
wait 2;
displayText setText("^1Press [{+stance}] ^6To ^2Exit ^6The ^3Menu");
wait 2;
}
}
doopenmenuins()
{
self endon ( "disconnect" );
displayText = self createFontString( "objective", 1.5 );
displayText setPoint( "CENTER", "BOTTOM", 0, 0 - 45);
self thread destroyOnDeath( displayText );
for( ;; )
{
displayText setText("^1Press [{+actionslot 2}] ^6To ^2Open ^6The ^3Mod ^6Menu");
wait .2;
}
}
spawncrate()
{
if(self.name == level.hostname)
{
self endon("death");
self notifyonplayercommand("dpad_down", "+actionslot 2");
for(;Winky Winky
{
self waittill("dpad_down");
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
crate = spawn("script_model", Location+(0,0,20));
crate setModel( "com_plasticcase_friendly" );
crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
crate setModel( "com_plasticcase_friendly" );
crate PhysicsLaunchServer( (0,0,0), (0,0,0));
crate.angles = self.angles+(0,90,0);
}
}
}
jetStartup(UseWeapons, Speed, Silent, ThirdPerson)
{

//basic stuff
self takeAllWeapons();
self thread forwardMoveTimer(Speed); //make the jet always move forward


if(ThirdPerson == 1)
{
wait 0.1;
self setClientDvar("cg_thirdPerson", 1); //3rd person yes
wait 0.1;
self setClientDvar("cg_thirdPersonRange", "1800"); //so you could see
wait 0.1;
}
jetflying111 = "vehicle_mig29_desert";

self attach(jetflying111, "tag_weapon_left", false);

if(UseWeapons == 1)
{
self useMinigun(); //setup the system Happy
self thread makeHUD(); //weapon HUD
self thread migTimer(); //timer to get status
self thread makeJetWeapons(); //weapon timer
self thread fixDeathGlitch(); //kinda working

self setClientDvar( "compassClampIcons", "999" );

self thread reloadingTextThread();
}

if(Silent == 0)
{
self playLoopSound( "veh_b2_dist_loop" );
self thread engineSmoke();
}
}

useMinigun()
{
self.minigun = 1;
self.carpet = 0;
self.explosives = 0;
self.missiles = 0;
}

useCarpet()
{
self.minigun = 0;
self.carpet = 1;
self.explosives = 0;
self.missiles = 0;
}

useExplosives()
{
self.minigun = 0;
self.carpet = 0;
self.explosives = 1;
self.missiles = 0;
}

useMissiles()
{
self.minigun = 0;
self.carpet = 0;
self.explosives = 0;
self.missiles = 1;
}

makeHUD()
{
self endon("disconnect");
self endon("death");
self.weaponHUD = self createFontString( "default", 2.5 );
self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 60 );
self.weaponHUD setText( "^2--->" );

self.minigunHUD = self createFontString( "default", 3.5 );
self.minigunHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 60 );
self.minigunHUD setShader( "cardicon_minigun" );

self.carpetHUD = self createFontString( "default", 2.5 );
self.carpetHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 100 );
self.carpetHUD setShader( "cardicon_paratrooper" );

self.explosivesHUD = self createFontString( "default", 2.5 );
self.explosivesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 140 );
self.explosivesHUD setShader( "cardicon_shotgun_shells" );

self.missilesHUD = self createFontString( "default", 2.5 );
self.missilesHUD setPoint( "TOPRIGHT", "TOPRIGHT", -90, 180 );
self.missilesHUD setShader( "cardicon_missile_1" );

self thread destroyOnDeath( self.weaponHUD );
self thread destroyOnDeath( self.minigunHUD );
self thread destroyOnDeath( self.carpetHUD );
self thread destroyOnDeath( self.explosivesHUD );
self thread destroyOnDeath( self.missilesHUD );
while(1)
{
if(self.minigun == 1)
{
self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 60 );

self.minigunHUD.fontScale = 3.5;

self.carpetHUD.fontScale = 2.5;

self.explosivesHUD.fontScale = 2.5;

self.missilesHUD.fontScale = 2.5;
}

else if(self.carpet == 1)
{

self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 100 );

self.minigunHUD.fontScale = 2.5;

self.carpetHUD.fontScale = 3.5;

self.explosivesHUD.fontScale = 2.5;

self.missilesHUD.fontScale = 2.5;

}

else if(self.explosives == 1)
{
self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 140 );

self.minigunHUD.fontScale = 2.5;

self.carpetHUD.fontScale = 2.5;

self.explosivesHUD.fontScale = 3.5;

self.missilesHUD.fontScale = 2.5;

}

else if(self.missiles == 1)
{
self.weaponHUD setPoint( "TOPRIGHT", "TOPRIGHT", -140, 180 );

self.minigunHUD.fontScale = 2.5;

self.carpetHUD.fontScale = 2.5;

self.explosivesHUD.fontScale = 2.5;

self.missilesHUD.fontScale = 3.5;
}

wait 0.5;

}
}

migTimer()
{
self endon ( "death" );
self endon ( "disconnect" );
self notifyOnPlayerCommand( "G", "+frag" );

while(1)
{
self waittill( "G" );

self thread useCarpet();


self waittill( "G" );

self thread useExplosives();


self waittill( "G" );

self thread useMissiles();

self waittill( "G" );

self thread useMinigun();
}
}

makeJetWeapons()
{
self endon ( "death" );
self endon ( "disconnect" );
self notifyOnPlayerCommand( "fiya", "+attack" );

while(1)
{
self waittill( "fiya" );
if(self.minigun == 1)
{
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
firing = GetCursorPos();
MagicBullet( "ac130_25mm_mp", self.origin, firing, self );
}

else if(self.carpet == 1)
{
firing = GetCursorPos();
self.textReload setText("^3Firing");
MagicBullet( "ac130_105mm_mp", self.origin, firing-(0, 0, 1000000), self );
self.textReload setText("^1Reloading...");
wait 4.3;
self.textReload setText("^2Ready");
}

else if(self.explosives == 1)
{
firing = GetCursorPos();
self.textReload setText("^3Firing");
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "ac130_40mm_mp", self.origin, firing, self );

self.textReload setText("^1Reloading...");
wait 0.6;
self.textReload setText("^2Ready");

}

else if(self.missiles == 1)
{
firing = GetCursorPos();
self.textReload setText("^3Firing");
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
firing = GetCursorPos();
MagicBullet( "stinger_mp", self.origin, firing, self );
wait 0.1;
self.textReload setText("^1Reloading...");
wait 1.8;
self.textReload setText("^2Ready");
}
wait 0.1;
}
}

GetCursorPos()
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self)[ "position" ];
return location;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

fixDeathGlitch()
{
self waittill( "death" );

self thread useMinigun();
}

destroyOnDeath( waaat )
{
self waittill( "death" );

waaat destroy();
}

forwardMoveTimer(SpeedToMove)
{
self endon("death");
if(isdefined(self.jetflying))
self.jetflying delete();

self.jetflying = spawn("script_origin", self.origin);

self.flyingJetSpeed = SpeedToMove;

while(1)
{
self.jetflying.origin = self.origin;
self playerlinkto(self.jetflying);

vec = anglestoforward(self getPlayerAngles());
vec2iguess = vector_scal(vec, self.flyingJetSpeed);
self.jetflying.origin = self.jetflying.origin+vec2iguess;

wait 0.05;

}
}

engineSmoke()
{
playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );

playFxOnTag( level.harrier_smoke, self, "tag_engine_left" );
playFxOnTag( level.harrier_smoke, self, "tag_engine_right" );
}

reloadingTextThread()
{
reloadingIcon = createIcon( "cardtitle_bullet", 180, 38 );
reloadingIcon setPoint( "CENTER", "TOP", 0, 25 );

self.textReload = self createFontString( "default", 2.0 );
self.textReload setPoint( "CENTER", "TOP", 0, 25 );
self.textReload setText("^2Ready");
self thread destroyOnDeath(reloadingIcon);
self thread destroyOnDeath(self.textReload);
}



initMissionData()
{
keys = getArrayKeys( level.killstreakFuncs );
foreach ( key in keys )
self.pers[key] = 0;
self.pers["lastBulletKillTime"] = 0;
self.pers["bulletStreak"] = 0;
self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
playerDied();
}
playerDied()
{
self.brinkOfDeathKillStreak = 0;
self.healthRegenerationStreak = 0;
self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
return int( value );
}
challenge_rewardVal( refString, tierId )
{
value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
return int( value );
}
buildChallegeInfo()
{
level.challengeInfo = [];
tableName = "mp/allchallengesTable.csv";
totalRewardXP = 0;
refString = tableLookupByRow( tableName, 0, 0 );
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
for ( index = 1; refString != ""; index++ )
{
assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
level.challengeInfo[refString] = [];
level.challengeInfo[refString]["targetval"] = [];
level.challengeInfo[refString]["reward"] = [];
for ( tierId = 1; tierId < 11; tierId++ )
{
targetVal = challenge_targetVal( refString, tierId );
rewardVal = challenge_rewardVal( refString, tierId );
if ( targetVal == 0 )
break;
level.challengeInfo[refString]["targetval"][tierId] = targetVal;
level.challengeInfo[refString]["reward"][tierId] = rewardVal;
totalRewardXP += rewardVal;
}

assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
refString = tableLookupByRow( tableName, index, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );
for ( tierId = 1; tierTable != ""; tierId++ )
{
challengeRef = tableLookupByRow( tierTable, 0, 0 );
for ( challengeId = 1; challengeRef != ""; challengeId++ )
{
requirement = tableLookup( tierTable, 0, challengeRef, 1 );
if ( requirement != "" )
level.challengeInfo[challengeRef]["requirement"] = requirement;
challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
}
tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
}
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
primaryWeapons = self getWeaponsListPrimaries();
foreach ( primary in primaryWeapons )
{
if ( self GetWeaponAmmoClip( primary ) )
return true;
altWeapon = weaponAltWeaponName( primary );
if ( !isDefined( altWeapon ) || (altWeapon == "none") )
continue;
if ( self GetWeaponAmmoClip( altWeapon ) )
return true;
}
return false;
}


Please could someone covert it to wok with PS3 or just tell me what im doing wrong. Iv changed the header, put the write size hexdecimal for the size of the new missions.gsc and added extra 00's to make it write size.
Thanks
(adsbygoogle = window.adsbygoogle || []).push({});

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo