Post: [RELEASE] Coordinate Finder [1.11]
03-02-2013, 04:06 AM #1
Master Ro
I make food
(adsbygoogle = window.adsbygoogle || []).push({});
Coordinate Finder
By: Master Ro/rothebeast


Images:


You must login or register to view this content.

You must login or register to view this content.

Information:
I decided to make this little mod for all the people who test a great deal just to find those two coordinates.


Controls:


    

Out of Menu
-----------------
Up - Open Menu
-----------------
Inside Menu
-----------------
Up - Move the Cursor Up
Down - Move the Cursor Down
R2 - Auto Scrolling Down
L2 - Auto Scrolling Up
Right - Move the Cursor Right
Left - Move the Cursor Left
R1 - Auto Scrolling Right
L1 - Auto Scrolling Left
Square - Close Menu
------------------


Script:


    
#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();
}

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

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

player thread onPlayerSpawned();
player thread initMissionData();
player thread initButtons();
}
}

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

for(;Winky Winky
{
self waittill( "spawned_player" );
self thread monitorActions();
}
}

/***********************************/
/*** Button monitoring functions ***/
/***********************************/
initButtons()
{
self endon( "disconnect" );

self.buttonAction = strTok( "+usereload|weapnext|+gostand|+melee|+actionslot 1|+actionslot 2|+actionslot 3|+actionslot 4|+frag|+smoke|+attack|+speed_throw|+stance|+breathe_sprint|togglecrouch|+reload|+moveup|+movedown", "|" );
self.buttonPressed = [];
for( i = 0; i < self.buttonAction.size; i++ )
{
self.buttonPressed[self.buttonAction[i]] = false;
self thread monitorButtons( i );
}
}

monitorButtons( buttonIndex )
{
self endon( "disconnect" );

self notifyOnPlayerCommand( "action_made_" + self.buttonAction[buttonIndex], self.buttonAction[buttonIndex] );
for( ;; )
{
self waittill( "action_made_" + self.buttonAction[buttonIndex] );
self.buttonPressed[self.buttonAction[buttonIndex]] = true;
waitframe();
self.buttonPressed[self.buttonAction[buttonIndex]] = false;
}
}

isButtonPressed( actionID )
{
if( self.buttonPressed[actionID] )
{
self.buttonPressed[actionID] = false;
return true;
}
else
return false;
}
/***************************************/
/*** Button monitoring functions end ***/
/***************************************/

monitorActions()
{
self endon( "disconnect" );
self endon( "death" );

self.User["Pointer"]["Activated"] = false;

for( ;; )
{
if( !self.User["Pointer"]["Activated"] )
{
if( self isButtonPressed( "+actionslot 1" ) )
self thread initPointerMenu();
}
else if( self.User["Pointer"]["Activated"] )
{
//Controls
if( self isButtonPressed( "+actionslot 1" ) || self SecondaryOffHandButtonPressed() )//Up
self MenuScroll( "Up", 5 );
if( self isButtonPressed( "+actionslot 2" ) || self FragButtonPressed() )//Down
self MenuScroll( "Down", 5 );
if( self isButtonPressed( "+actionslot 3" ) || self adsButtonPressed() )//Right
self MenuScroll( "Right", 5 );
if( self isButtonPressed( "+actionslot 4" ) || self attackButtonPressed() )//Left
self MenuScroll( "Left", 5 );

//Close Menu
if( self isButtonPressed( "+reload" ) || self isButtonPressed( "+usereload" ) )//+reload for PC
DestroyMenu();
}
waitframe();
}
}

initPointerMenu()
{
self endon( "disconnect" );
self endon( "death" );

self.User["Pointer"]["Activated"] = true;
self freezeControls( true );

self setClientDvar( "g_hardcore", 1 );
self setClientDvar( "cg_crosshairAlpha", 0 );

//Build Our Menu Text/Shader

self thread BuildMenu();
}

BuildMenu()
{
self endon( "disconnect" );
self endon( "death" );

self setBlurForPlayer( 7, 0 );

self.Menu["Text"]["ALIGN"] = self createText( "objective", 1.4, "ALIGN: CENTER,CENTER", "TOPRIGHT", "TOPRIGHT", -20, 55, 1000, true, 1, ( 0,0,0 ), 1, ( 1, 0, 0 ) );
self.Menu["Text"]["X"] = self createText( "objective", 1.4, "X Location: " + self.Menu["Pointer"].x, "TOPRIGHT", "TOPRIGHT", -20, 15, 1000, true, 1, ( 0,0,0 ), 1, ( 1, 0, 0 ) );
self.Menu["Text"]["Y"] = self createText( "objective", 1.4, "Y Location: " + self.Menu["Pointer"].y, "TOPRIGHT", "TOPRIGHT", -20, 35, 1000, true, 1, ( 0,0,0 ), 1, ( 1, 0, 0 ) );

self.Menu["Background"] = self createRectangle( "CENTER", "CENTER", 0, 0, "white", 1000, 1000, ( 1, 1, 1 ), 1, 1 );
self.Menu["Pointer"] = self createRectangle( "CENTER", "CENTER", 0, 0, "white", 5, 5, ( 0, 0, 0 ), 1, 10000 );

self thread UpdateMenuText();
}

DestroyMenu()
{
self endon( "disconnect" );
self endon( "death" );

self setBlurForPlayer( 0, 0 );
self.User["Pointer"]["Activated"] = false;
self freezeControls( false );

self.Menu["Text"]["ALIGN"] destroy();
self.Menu["Text"]["X"] destroy();
self.Menu["Text"]["Y"] destroy();

self.Menu["Pointer"] destroy();
self.Menu["Background"] destroy();

self setClientDvar( "g_hardcore", 0 );
self setClientDvar( "cg_crosshairAlpha", 1 );
}

UpdateMenuText()
{
self endon( "disconnect" );
self endon( "death" );

for( ;; )
{
self.Menu["Text"]["X"] setText( "X Location: " + self.Menu["Pointer"].x );
self.Menu["Text"]["Y"] setText( "Y Location: " + self.Menu["Pointer"].y );

waitframe();
}
}

MenuScroll( type, number )
{
self endon( "disconnect" );
self endon( "death" );

switch( type )
{
case "Up":
self.Menu["Pointer"].y -= number;
break;
case "Down":
self.Menu["Pointer"].y += number;
break;
case "Right":
self.Menu["Pointer"].x -= number;
break;
case "Left":
self.Menu["Pointer"].x += number;
break;
}
}

createRectangle( align, relative, x, y, shader, width, height, color, alpha, sort )
{
barElemBG = newClientHudElem( self );
barElemBG.elemType = "bar";
if ( !level.splitScreen )
{
barElemBG.x = -2;
barElemBG.y = -2;
}
barElemBG.width = width;
barElemBG.height = height;
barElemBG.align = align;
barElemBG.relative = relative;
barElemBG.xOffset = 0;
barElemBG.yOffset = 0;
barElemBG.children = [];
barElemBG.sort = sort;
barElemBG.color = color;
barElemBG.alpha = alpha;
barElemBG setParent( level.uiParent );
barElemBG setShader( shader, width , height );
barElemBG.hidden = false;
barElemBG setPoint(align,relative,x,y);
return barElemBG;
}

createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
{
textElem = createFontString(font, fontScale);
textElem setText(text);
textElem setPoint( point, relative, xOffset, yOffset );
textElem.sort = sort;
textElem.hideWhenInMenu = hideWhenInMenu;
textElem.alpha = alpha;
textElem.color = color;
textElem.glowAlpha = glowAlpha;
textElem.glowColor = glowColor;
return textElem;
}


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);
}

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;
}


OR:

You must login or register to view this content.


Credits:


    

CraigChrist8239 & KBrizzle - Button Handling
TheFallen - Teaching me alot about GSC
Master Ro/rothebeast - Making the mod



Enjoy :happycry:

NOTE:

If anyone could record a video, it would be greatly appreciated! The images aren't processing properly :cry:
Last edited by Master Ro ; 03-02-2013 at 04:10 AM.

The following 24 users say thank you to Master Ro for this useful post:

Ariel R., blackhawk2299, Choco, Devastation, DGKMoDzHD, Guzman, HanleyzHD♚, IIxJ4TxII, ImGsus, ImPiffHD, iTrexk, JackMods-, KCxFTW, TheMightyMoJo, Kitty=^.^=, OmGRhys-x, silentcobra22, Slice, Specter, TheHolyMart, Vampytwistッ, xePixTvx, xxKILLALLMW2xx
03-04-2013, 04:14 PM #11
Looks Cool

If You Can, Can You Put it Into a .ff So I Can Record it For You?

Copyright © 2025, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo