git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6810 e016b1c5-ed68-44aa-a2f7-31cac88cffde
388 lines
18 KiB
INI
388 lines
18 KiB
INI
// CubeScript placed in this file is automatically executed on each startup.
|
|
|
|
// "editent" command:
|
|
// This command collects all the attributes of the nearest entity, and then
|
|
// prompts that into a handy command that allows you to edit that entities
|
|
// attributes easily.
|
|
// Note: The editent command can NOT define rotation/yaw inside the command!
|
|
// However, the current yaw of the player will define the rotation/yaw when
|
|
// using the command!
|
|
const return [ result $arg1 ]
|
|
|
|
const editent [
|
|
if (strcmp (getenttype) "mapmodel") [ saycommand "/entset" (getenttype) (getentattr 1) (getentattr 2) (getentattr 3) ] [
|
|
if (> (findlist "light sound clip plclip" (getenttype)) -1) [
|
|
saycommand "/entset" (getenttype) (getentattr 0) (getentattr 1) (getentattr 2) (getentattr 3)
|
|
] [
|
|
saycommand "/entset" (getenttype) (getentattr ((> (findlist "playerstart ctf-flag" (getenttype)) -1)))
|
|
]
|
|
]
|
|
]
|
|
|
|
// "convertclips" command:
|
|
// This command automatically changes the a "clip" to a "plclip" entity or vice-versa.
|
|
const convertclips [
|
|
if (strcmp (getenttype) "clip") [ entset plclip (getentattr 0) (getentattr 1) (getentattr 2) (getentattr 3) ] [
|
|
if (strcmp (getenttype) "plclip") [ entset clip (getentattr 0) (getentattr 1) (getentattr 2) (getentattr 3) ] [
|
|
echo No changes made. This entity isn't a clip or a plclip.; echo Try using the /closestenttype command to find a specific entity.
|
|
]
|
|
]
|
|
]
|
|
|
|
// "gibsgore" command:
|
|
// This command controls gib Speed/Number/TTL all in one variable.
|
|
const gibsgore [
|
|
if (= $arg1 4) [ // Unrealistic
|
|
gib 1; gibspeed 40; gibnum 100; gibttl 2500 // Turn TTL down to minimise lag...
|
|
__gibsgore = 4
|
|
] [
|
|
if (= $arg1 3) [ // Messy
|
|
gib 1; gibspeed 15; gibnum 65; gibttl 10000
|
|
__gibsgore = 3
|
|
] [
|
|
if (= $arg1 2) [ // Good
|
|
gib 1; gibspeed 30; gibnum 75; gibttl 5000
|
|
__gibsgore = 2
|
|
] [
|
|
if (= $arg1 1) [ // Normal
|
|
gib 1; gibspeed 30; gibnum 6; gibttl 5000
|
|
__gibsgore = 1
|
|
] [
|
|
if (= $arg1 0) [ // Off
|
|
gib 0
|
|
__gibsgore = 0
|
|
]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
]
|
|
|
|
// "fullscreenscript" command:
|
|
// This command allows swapping of fullscreen mode to be bound to a key.
|
|
const fullscreenscript [ if $fullscreen [ fullscreen 0 ] [ fullscreen 1 ] ]
|
|
|
|
const editmapmsg [ saycommand (concat "/mapmsg" (addpunct (getmapmsg))) ]
|
|
|
|
const run [ exec (concatword config/ $arg1 .cfg) ]
|
|
|
|
// Auto-completions
|
|
const mapcomplete [complete $arg1 "packages/maps/official packages/maps" cgz]
|
|
const mapcommands "map tdm coop dm surv ts ctf pf lss osok tosok htf vip tktf ktf sendmap"
|
|
loop i (listlen $mapcommands) [ mapcomplete (at $mapcommands $i) ]
|
|
complete demo "demos" dmo
|
|
const entcomplete [ listcomplete $arg1 "light playerstart pistol ammobox grenades health armour akimbo mapmodel ladder ctf-flag sound clip plclip helmet" ]
|
|
entcomplete newent; entcomplete clearents; entcomplete closestenttype
|
|
|
|
// TODO:FIXME change all occurrence of SPECT(ator) to GHOST
|
|
listcomplete team "CLA RVSF CLA-SPECT RVSF-SPECT SPECTATOR"
|
|
|
|
// Game mode descriptions...
|
|
gamemodedesc 0 [Team Deathmatch: Find the enemy team and destroy them!]
|
|
gamemodedesc 1 [Co-operative edit: Use this mode to edit maps with others online!]
|
|
gamemodedesc 2 [Deathmatch: Destroy anything that moves! Everyone for themselves!]
|
|
gamemodedesc 3 [Survivor: Everyone for themselves! Once you die, you must wait for the round to restart.]
|
|
gamemodedesc 4 [Team Survivor: Find the enemy team, destroy them. Once everyone on the enemy team is gone... repeat!]
|
|
gamemodedesc 5 [Capture the Flag: Steal the enemy flag and bring it to your home base. Don't let your own flag get stolen.]
|
|
gamemodedesc 6 [Pistol Frenzy: Can you make your enemy eat lead with the most simple of weapons?]
|
|
gamemodedesc 7 [Bot Team Deathmatch: Find the enemy team and destroy them!]
|
|
gamemodedesc 8 [Bot Deathmatch: It's every man and A.I for themselves! Dismantle those bots! ]
|
|
gamemodedesc 9 [Last Swiss Standing: Knive and bomb the enemy!]
|
|
gamemodedesc 10 [One Shot, One Kill: You and your opponents start with 1hp, a sniper rifle, a knife and no pickups. Survive with your sniper, or humiliate with your swiss steel.]
|
|
gamemodedesc 11 [Team One Shot, One Kill: Your team starts with 1hp, a sniper rifle, a knife and no pickups. Survive with your sniper, or humiliate with your swiss steel.]
|
|
gamemodedesc 12 [Bot One-Shot, One Kill: You and the bots start with 1hp, a sniper rifle, a knife and no pickups. Survive with your sniper, or humiliate with your swiss steel.]
|
|
gamemodedesc 13 [Hunt the Flag: Find the enemy flag, frag the flag bearer and collect the flag to score. Protect your own team flag. If the flag bearer collects the enemy flag, they gain a 1 point bonus.]
|
|
gamemodedesc 14 [Team Keep the Flag: There is only one flag. Get the flag and keep it. You score one point every 15 seconds. If your teammate has the flag, protect him. If the flag bearer collects the enemy flag, they gain a 1 point bonus.]
|
|
gamemodedesc 15 [Keep the Flag: Get the flag and keep it. You score one point every 15 seconds. Everybody else will want to destroy you!]
|
|
gamemodedesc 16 [Team Pistol Frenzy: TODO]
|
|
gamemodedesc 17 [Team Last Swiss Standing: TODO]
|
|
gamemodedesc 18 [Bot Pistol Frenzy: TODO]
|
|
gamemodedesc 19 [Bot Last Swiss Standing: TODO]
|
|
|
|
const resetbinds [ run resetbinds; echo (c 3)All binds have been reset to default values! ]
|
|
|
|
const changeteam [ if (< (curteam) 4) [ team (at "RVSF CLA RVSF-SPECT CLA-SPECT" (curteam)) ] ]
|
|
|
|
const NUM_WEAPONS 10
|
|
const NUM_MODES 22
|
|
|
|
const WEAPONS "KNIFE PISTOL CARBINE SHOTGUN SMG SNIPER AR CPISTOL GRENADES AKIMBO"
|
|
const MODES "tdm coop dm surv ts ctf pf btdm bdm lss osok tosok bosok htf tktf ktf tpf tlss bpf blss bts btosok"
|
|
|
|
loop d $NUM_WEAPONS [ const (at $WEAPONS $d) $d ]
|
|
loop r $NUM_MODES [ const (at $MODES $r) (addpunct (concat votemap $r (addpunct arg1 3)) 2) ]
|
|
loop f $NUM_MODES [ const (toupper (at $MODES $f)) $f ]
|
|
|
|
const MAX_BOT_MATCH_LENGTH 60
|
|
|
|
// Mode/map-setting aliases.
|
|
const votemap [ mode $arg1; map $arg2 ]
|
|
|
|
const lms [ votemap 3 $arg1 ]
|
|
const vip [ votemap 13 $arg1 ]
|
|
|
|
// Helper aliases for (c) - easy color insertion. (e.g. echo (red)Hello (blue)world! (white)My fov today is: (orange) $fov)
|
|
loop k 10 [ const (at "green blue yellow red gray white dbrown dred purple orange" $k) (format "result %1" (addpunct (concat c $k) 2)) ]
|
|
|
|
// Weapon switching/action utilities.
|
|
const primary [ weapon (currentprimary) ]
|
|
const ptoggle [ if (= (currentprimary) (curweapon)) [ $arg1 ] [ primary ] ] // Toggle between primary/specified weapon
|
|
const secondary [ weapon 1 ]
|
|
const sndtoggle [ ptoggle secondary ]
|
|
const melee [ weapon 0 ]
|
|
const knftoggle [ ptoggle melee ]
|
|
const grenades [ weapon 8 ]
|
|
const gndtoggle [ ptoggle grenades ]
|
|
|
|
const altaction [ (concatword altaction_ (curweapon)) ]
|
|
|
|
const checkmag [ if (|| (magcontent $arg1) (magreserve $arg1)) [ result 1 ] [ result 0 ] ]
|
|
const checkrange [ if (&& (>=f $arg1 $arg2) (<=f $arg1 $arg3)) [ result 1 ] [ result 0 ] ]
|
|
|
|
const quicknadethrow_old [
|
|
if (> (magcontent 8) 0) [
|
|
if (!= (curweapon) 7) [ grenades ]
|
|
attack
|
|
]
|
|
onrelease [ sleep 1 [ if (= (curweapon) 7) [ weapon (prevweapon) ] ] ]
|
|
]
|
|
|
|
loop i 10 [ (concatword altaction_ $i) = quicknadethrow ] // Quick nade throw is default
|
|
// altaction_0 = [ if (checkmag (currentprimary)) [ primary ] [ if (|| (checkmag 1) (checkmag 9)) [ secondary ] [ if (checkmag 8) [ grenades ] ] ] ] // Knife // uncomment to switch to primary/secondary/grenades with MOUSE2 depending on ammo content for each.
|
|
altaction_5 = [ setscope 1; onrelease [ setscope 0 ] ] // Sniper
|
|
// altaction_7 = [ setburst 1; onrelease [ setburst 0 ] ] // Combat pistol // TODO uncomment when this becomes a priority/testing, for now lets save an unused alias - Bukz
|
|
// altaction_8 = [ attack ] // Grenade // with this comment, you throw the nade and the nade is unselected : Brahma
|
|
|
|
oldsens = $sensitivity
|
|
|
|
const zoom [
|
|
if (= $arg1 1) [
|
|
if (! (=f $sensitivity (scopesens))) [
|
|
oldsens = $sensitivity
|
|
// avoid error if using 0.001 as sensitivity
|
|
newsens = (scopesens)
|
|
if (> (*f 1 1000) $newsens) [ if (< 1000 $newsens) [ sensitivity (scopesens) ] ]
|
|
setscope 1
|
|
]
|
|
] [ sensitivity $oldsens; setscope 0 ]
|
|
]
|
|
|
|
delta_game_0 = [ if (= $arg1 1) [ shiftweapon 1 ] [ shiftweapon -1 ] ] // Cycle through weapons
|
|
delta_game_1 = [ if (checkrange (+ $gamma $arg1) 30 300) [ gamma (+ $gamma $arg1) ] ] // Tweak gamma
|
|
delta_game_2 = [ if (checkrange (+ $fov $arg1) 75 120) [ fov (+ $fov $arg1) ] ] // Tweak fov
|
|
delta_spect_0 = [ changefollowplayer $arg1 ]
|
|
|
|
// Map editing using the mousewheel...
|
|
modifier = 0
|
|
const domodifier [ modifier = $arg1; onrelease [ modifier = 0 ] ]
|
|
|
|
const universaldelta [
|
|
if $editing [ s = "edit" ] [
|
|
if (alive) [ s = "game" ] [ s = "spect" ]
|
|
]
|
|
(concatword delta _ $s _ $modifier)
|
|
]
|
|
// To utilize the below, you will need to bind "domodifier X"
|
|
// (replace X with the number of the delta_edit) to a key. To
|
|
// use them, simply hold the key that the "domodifier" is bound
|
|
// to and then scroll backwards/forwards while looking at the
|
|
// floor/ceiling.
|
|
delta_edit_0 = [ editheight $flrceil $arg1 ] // Move cubes...
|
|
delta_edit_1 = [ if $flrceil [ vdelta $arg1 ] [ vdelta (- 0 $arg1) ] ] // Change heightfielding...
|
|
delta_edit_2 = [ edittex $flrceil $arg1 ] // Change floor/ceiling textures...
|
|
delta_edit_3 = [ edittex (+ $flrceil 1) $arg1 ] // Change wall/upper-wall textures...
|
|
delta_edit_4 = [ equalize $flrceil ] // Equalize floor/ceiling...
|
|
delta_edit_5 = [ entproperty 0 $arg1 ] // Changes the first value on entities...
|
|
delta_edit_6 = [ entproperty $editaxis $arg1 ] // Move map entity...
|
|
delta_edit_7 = [ entproperty 1 $arg1 ] // Changes the second value on entities...
|
|
delta_edit_8 = [ entproperty 2 $arg1 ] // Changes the third value on entities...
|
|
delta_edit_9 = [ entproperty 3 $arg1 ] // Changes the fourth value on entities...
|
|
delta_edit_10 = [ if (checkrange (+f $flyspeed (divf $arg1 4)) 1 5) [ flyspeed (+f $flyspeed (divf $arg1 4)) ]; echo $flyspeed ] // Tweak flyspeed
|
|
|
|
// HUD toggles
|
|
const toggleshowmap [ showmap 1; onrelease [ showmap 0 ] ]
|
|
|
|
// convenient connecting from the serverbrowser
|
|
// sbconnect arg list:
|
|
// arg1 IP, arg2 port,
|
|
// arg3 1: server full
|
|
// arg4 1: password protected
|
|
// arg5 1: private mode, 2: match mode
|
|
// arg6 1: banned, 2: blacklisted 3: both
|
|
// arg7 "server description"
|
|
// TODO: interpret a#3,4,5,6 [ft:any1:2010apr04]
|
|
|
|
sbdns = ""; sbport = ""; sbdesc = ""; sbmsg = ""; sbpwd = ""
|
|
const sbconnect [
|
|
sbdns = $arg1; sbport = $arg2; sbdesc = $arg7; sbpwd = ""; sbmsg = ""
|
|
if (>= $arg5 1) [
|
|
sbmsg = "This server is set to private."; showmenu "password required"
|
|
] [
|
|
if (>= $arg6 1) [
|
|
sbmsg = "You are banned from this server."; showmenu "password required"
|
|
] [
|
|
if (= $arg4 1) [
|
|
sbmsg = "This server is password-protected."; showmenu "password required"
|
|
] [
|
|
echo connecting to $arg7; connect $arg1 $arg2;
|
|
]
|
|
]
|
|
]
|
|
]
|
|
|
|
// answer last PM
|
|
const quickanswer [ if (>= $lastpm 0) [ saycommand (concat "/pm" $lastpm ""); ] [ saycommand (concat "/pm" ""); ] ]
|
|
|
|
// For those players who use IRC too much...
|
|
const join [ connect $arg1 $arg2 $arg3 ]
|
|
const add2alias [
|
|
if (strcmp "" (getalias $arg1)) [ $arg1 = $arg2 ] [
|
|
$arg1 = (concat (concatword (getalias $arg1) ";") $arg2)
|
|
]
|
|
]
|
|
const addOnLoadOnce [ add2alias mapstartonce $arg1 ]
|
|
const addOnLoadAlways [ add2alias mapstartalways $arg1 ]
|
|
const addOnQuit [ add2alias onQuit $arg1 ]
|
|
const checkinit [ if (> $numargs 0) [ if (! (checkalias $arg1)) [ $arg1 = ""; if (> $numargs 1) [ add2alias $arg1 $arg2 ] ] ] ]
|
|
const aliasinit [ loop ail (listlen $arg1) [ if (< $numargs 2) [ checkinit (at $arg1 $ail) ] [ checkinit (at $arg1 $ail) $arg2 ] ] ]
|
|
const add2list [ if (strcmp "" (getalias $arg1)) [ $arg1 = $arg2 ] [ $arg1 = (concat (getalias $arg1) $arg2) ] ]
|
|
const add2bind [ if (! (strstr (keybind $arg1) $arg2)) [ bind $arg1 (format "%1; %2" (keybind $arg1) $arg2) ] ]
|
|
const rndmap [ result (at $defaultmaps (rnd (listlen $defaultmaps))) ]
|
|
|
|
// rrnd - Returns a ranged random integer.
|
|
const rrnd [ + (rnd (- $arg2 $arg1)) $arg1 ]
|
|
|
|
// listaverage - Returns the average of a list of numbers. (Supports ints & floats - e.g. echo (listaverage "2 5 5") // Output: 4.0)
|
|
const listaverage [ if (&& (listlen $arg1) (testlist $arg1)) [ tmp_sum = 0; loop gsl (listlen $arg1) [ +=f tmp_sum (at $arg1 $gsl) ]; result (divf $tmp_sum (listlen $arg1)) ] ]
|
|
|
|
// copyent & pasteent - Quickly copy/paste the current closest entity. Initialize the two aliases below as "NULL" for error catching.
|
|
// If /config/saved.cfg is readable/writable, errors are only possible up until the very first use of /copyent.
|
|
cp_entbuf = NULL; cp_entstr = NULL
|
|
|
|
const get_ent_attrs [ cp_entbuf = (getenttype); loop gea 4 [ add2list cp_entbuf (getentattr $gea) ] ]
|
|
|
|
const copyent [
|
|
if $editing [
|
|
get_ent_attrs
|
|
cp_entstr = (concatword (c 9) "(" (at $cp_entbuf 0) " " (at $cp_entbuf 1) " " (at $cp_entbuf 2) " " (at $cp_entbuf 3) " " (at $cp_entbuf 4) ")" (c 5)) // Output (a string): (enttype param1 param2 param3 param4)
|
|
echo (c 1)Note: (c 5)The current closest entity: $cp_entstr - has been copied.
|
|
]
|
|
]
|
|
|
|
const pasteent [
|
|
if $editing [
|
|
if (&& (! (strcmp $cp_entbuf NULL)) (! (strcmp $cp_entstr NULL))) [
|
|
if (strcmp (at $cp_entbuf 0) mapmodel) [
|
|
newent (at $cp_entbuf 0) (at $cp_entbuf 2) (at $cp_entbuf 3) (at $cp_entbuf 4)
|
|
] [
|
|
newent (at $cp_entbuf 0) (at $cp_entbuf 1) (at $cp_entbuf 2) (at $cp_entbuf 3) (at $cp_entbuf 4)
|
|
]
|
|
echo (c 1)Note: (c 5)The previously copied entity: $cp_entstr - has been pasted.
|
|
] [ echo (c 3)Error: (c 5)pasteent requires an (c 1)initial (c 5)copyent to function. ]
|
|
]
|
|
]
|
|
|
|
// genhex - Randomly generates a valid hexadecimal color value (e.g. 0x2FCAF1) - useful for finding fogcolours.
|
|
const genhex [
|
|
tmp_hex = "0x"
|
|
loop ghl 6 [
|
|
if (rnd 2) [ tmp_hex = (concatword $tmp_hex (rnd 10)) ] [ tmp_hex = (concatword $tmp_hex (at [ A B C D E F ] (rnd 6))) ]
|
|
]
|
|
echo (c 3)Trying hexadecimal color: (c 5) $tmp_hex
|
|
result $tmp_hex
|
|
]
|
|
|
|
// genwc - Randomly generates a valid watercolour value (e.g. 2 17 29) - useful for finding watercolours.
|
|
const genwc [
|
|
if $editing [
|
|
tmp_wc = ""
|
|
loop gwl 3 [ add2list tmp_wc (rrnd 1 256) ]
|
|
echo (c 3)Trying water color: (c 5) $tmp_wc
|
|
watercolour (at $tmp_wc 0) (at $tmp_wc 1) (at $tmp_wc 2)
|
|
]
|
|
]
|
|
|
|
// gencl - Randomly generates a valid coloured light.
|
|
const gencl [
|
|
if $editing [
|
|
tmp_numargs = $numargs; tmp_cl = ""
|
|
loop gcl 3 [ add2list tmp_cl (rrnd 1 256) ]
|
|
if $tmp_numargs [
|
|
if (|| (! (= $selx 0)) (! (= $sely 0))) [
|
|
echo (c 3)Trying colored light: (c 5) $arg1 (at $tmp_cl 0) (at $tmp_cl 1) (at $tmp_cl 2)
|
|
newent light $arg1 (at $tmp_cl 0) (at $tmp_cl 1) (at $tmp_cl 2)
|
|
] [ echo (c 3)Error: (c 5)If an argument "(radius)" is given for (concatword (c 1) gencl (c 5) ",") you must select a cube first. ]
|
|
] [
|
|
if (strcmp (getenttype) light) [
|
|
echo (c 3)Trying colored light: (c 5) (getentattr 0) (at $tmp_cl 0) (at $tmp_cl 1) (at $tmp_cl 2)
|
|
entset light (getentattr 0) (at $tmp_cl 0) (at $tmp_cl 1) (at $tmp_cl 2)
|
|
] [ echo (c 3)Error: (c 5)The current closest entity: (c 9) (getenttype) (c 5)is not a light. ]
|
|
]
|
|
] [ echo (c 3)Error: (c 5)You must be in edit mode for (c 1)gencl (c 5)to function. ]
|
|
]
|
|
|
|
// megabind - Binds a key to many different actions depending on the current game state.
|
|
const megabind [ if (> $numargs 5) [ bind $arg1 (format "if (watchingdemo) [ %1 ] [ if (|| $editing (= $gamemode 1)) [ %2 ] [ if $connected [ %3 ] [ if (curmodeattr bot) [ %4 ] [ %5 ] ] ] ]" $arg2 $arg3 $arg4 $arg5 $arg6) ] ]
|
|
|
|
// storesets - Generates an alias (list) of the current values for the given CVARs.
|
|
const storesets [
|
|
if (> $numargs 1) [
|
|
badargs = 0; $arg2 = ""
|
|
loop ssl (listlen $arg1) [
|
|
if (isIdent (at $arg1 $ssl)) [
|
|
add2list $arg2 (getalias (at $arg1 $ssl))
|
|
] [ badargs = 1; break ]
|
|
]
|
|
if $badargs [ delalias $arg2; echo (c 3)Error: (c 5)Bad "argument(s)" given! ]
|
|
]
|
|
]
|
|
|
|
// switch - Takes an integer argument to determine which block of code to execute.
|
|
// NOTE: This command can only handle up to 23 "cases" (24 arguments).
|
|
switch = [
|
|
if (&& (<= $numargs 24) (checkrange $arg1 0 22)) [
|
|
execute (getalias (format arg%1 (+ $arg1 2)))
|
|
]
|
|
]
|
|
|
|
// cleanshot - Take a "clean" screenshot with no HUD items.
|
|
const cs_sets "clockdisplay crosshairsize hidecompass hideconsole hidectfhud hidedamageindicator hidehudequipment hidehudmsgs hideradar hidespecthud hideteam hidevote hudgun spechudgun showstats showtargetname showgrid"
|
|
const cs_newsets "0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0"
|
|
|
|
const disablehud [ storesets $cs_sets tmp_old_sets; loop csl (listlen $cs_sets) [ (at $cs_sets $csl) (at $cs_newsets $csl) ]; if $editing [ seteditshow 0 ] ]
|
|
const enablehud [ if (checkalias tmp_old_sets) [ loop ros (listlen $cs_sets) [ (at $cs_sets $ros) (at $tmp_old_sets $ros) ]; if $editing [ seteditshow ] ] ]
|
|
const cleanshot [ disablehud; sleep 200 [ screenshot ]; sleep 500 [ enablehud ] ]
|
|
|
|
// convertcase - Zap a list of strings to lower/uppercase.
|
|
const convertcase [
|
|
if (> $numargs 1) [
|
|
tmpCCO = ""
|
|
loop ccl $numargs [ if (> $ccl 0) [ tmpCCO = (concatword $tmpCCO " " (getalias (format arg%1 (+ $ccl 2)))) ] [ tmpCCO = (concatword $tmpCCO $arg2) ] ]
|
|
if (!= $arg1 0) [ result (toupper $tmpCCO) ] [ result (tolower $tmpCCO) ]
|
|
]
|
|
]
|
|
|
|
// Simple claim-admin script for one single-server.
|
|
// Fill in the 3 aliases below, and uncomment the below line to activate.
|
|
// bind F3 "customclaimadminscript"
|
|
_CAS_serverip = "IP ADDRESS"
|
|
_CAS_serverpass = "PASSWORD"
|
|
_CAS_servername = "SERVER NAME"
|
|
const customclaimadminscript [
|
|
if (strcmp (curserver 1) $_CAS_serverip) [
|
|
if (! (currole)) [ setadmin 1 $_CAS_serverpass ] [ setadmin 0; echo you relinquished admin status ]
|
|
] [ echo (c 3)Error: (c 5)you're not connected to $_CAS_servername servers ]
|
|
]
|
|
|
|
// Execute other .cfgs/scripts.
|
|
run on_quit
|
|
run dyngamma
|
|
run survival
|
|
run autosave
|
|
run tutorial
|
|
run faq
|
|
|
|
persistidents 1
|
|
execdir scripts
|
|
persistidents 0
|