Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // >>>DuelScript Revisited<<< by Chaos and srbs
- // (C) 2011 David "srbs" Forrest & Chaos, ZLIB license
- // somerandombystander (at) gmail (dot) com
- // sauerchaos (at) gmail (dot) com
- // http://www.opensource.org/licenses/zlib-license.php
- // >> This script is compatible with Cube 2: Sauerbraten - Justice Edition.
- // >> Total aliases utilized: 78
- // >> Total keys bound by default: 1
- // >> Total number of GUIs: 1
- // Key Bind: (1 in total)
- bind L [ showgui duel ]
- // Defaults: (63 vars in total)
- createine = [ if (=s (getalias $arg1) "") [ $arg1 = $arg2 ] ]
- _ds_go = 0
- _ds_list_original = [ name frags deaths acc kpd flags time ]
- createine _ds_list [ name frags deaths acc kpd flags time ]
- createine _ds_list_duel [ duelstats name frags deaths acc kpd flags time ]
- looplist i $_ds_list_original [
- do [
- createine _ds_color_lbl_@i 7
- createine _ds_color_num_@i 7
- createine _ds_lbl_@i (at "Name: Frags: Deaths: Acc: KpD: Flags: Time:" (indexof $_ds_list @i))
- ]
- ]
- looplist i (concat duelstats $_ds_list_original) [
- do [
- createine _ds_color_lbl_duel_@i 7
- createine _ds_color_num_duel_@i 7
- createine _ds_lbl_duel_@i (at "DuelStats Name: Frags: Deaths: Acc: KpD: Flags: Time:" (indexof (concat duelstats $_ds_list_original) @i))
- ]
- ]
- createine _ds_show_lbl 0
- createine _ds_show_num 0
- createine _ds_show_lbl_duel 0
- createine _ds_show_num_duel 0
- createine _ds_ifw "Winning by"
- createine _ds_ifl "Losing by"
- createine _ds_ift "Tied!"
- createine _ds_color_ifw 0
- createine _ds_color_ifl 1
- createine _ds_color_ift 4
- createine _ds_color_num_ifw 1
- createine _ds_color_num_ifl 1
- createine _ds_delay 3
- createine _ds_opts 30
- // GUI Menu:
- newgui duel [
- guititle "GameHud"
- guistayopen [
- guibar
- guialign 0 [
- guialign 0 [
- guialign 0 [
- guitext "show/hide" 0
- ]
- guibar
- guialign 0 [
- guilist [
- guitext "label" 0
- looplist i $_ds_list [
- guialign 0 [
- guibitfield "" _ds_show_lbl (<< 1 (indexof $_ds_list_original @i))
- ]
- ]
- ]
- guibar
- guilist [
- guitext "value" 0
- looplist i $_ds_list [
- guialign 0 [
- guibitfield "" _ds_show_num (<< 1 (indexof $_ds_list_original @i)) [
- if (&& (! (& $_ds_show_num (<< 1 (indexof $_ds_list_original @@i)))) (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original @@i)))) [
- _ds_show_lbl = (- $_ds_show_lbl (<< 1 (indexof $_ds_list_original @@@i)))
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "color" 0
- ]
- guibar
- guialign 0 [
- guilist [
- guitext "label" 0
- looplist i $_ds_list [
- guialign 0 [
- guibutton "" [
- _ds_color_lbl_@i = (mod (+ $_ds_color_lbl_@i 1) 8)
- ]
- ]
- ]
- ]
- guibar
- guilist [
- guitext "value" 0
- looplist i $_ds_list [
- guialign 0 [
- guibutton "" [
- _ds_color_num_@i = (mod (+ $_ds_color_num_@i 1) 8)
- ]
- ]
- ]
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "label" 0
- ]
- guibar
- guibar
- looplist i $_ds_list [
- do [
- _ds_guieditable _ds_lbl_@i $_ds_color_lbl_@i
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "value" 0
- ]
- guibar
- guibar
- looplist i $_ds_list [
- do [
- guitext (concatword "^f4[" "^f" $_ds_color_num_@i $i "^f4]") 0
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "location" 0
- ]
- guibar
- guibar
- //guistrut 1
- loop i (listlen $_ds_list) [
- guialign 0 [
- guibutton "" [
- _ds_list = (
- strreplace $_ds_list (concat (at $_ds_list (- @@i 1)) (at $_ds_list @@i)) (concat (at $_ds_list @@i) (at $_ds_list (- @@i 1)))
- )
- ] "arrow_bw.jpg"
- guibutton "" [
- _ds_list = (
- strreplace $_ds_list (concat (at $_ds_list @@i) (at $_ds_list (+ @@i 1))) (concat (at $_ds_list (+ @@i 1)) (at $_ds_list @@i))
- )
- ] "arrow_fw.jpg"
- ]
- ]
- ]
- ]
- guibar
- guitab "DuelHud"
- guititle "DuelHud"
- guibar
- guialign 0 [
- guialign 0 [
- guialign 0 [
- guitext "show/hide" 0
- ]
- guibar
- guialign 0 [
- guilist [
- guitext "label" 0
- looplist i $_ds_list_duel [
- guialign 0 [
- guibitfield "" _ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) @i))
- ]
- ]
- ]
- guibar
- guilist [
- guitext "value" 0
- looplist i $_ds_list_duel [
- guialign 0 [
- guibitfield "" _ds_show_num_duel (<< 1 (indexof (concat duelstats $_ds_list_original) @i)) [
- if (&& (! (& $_ds_show_num_duel (<< 1 (indexof (concat duelstats $_ds_list_original) @@i)))) (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) @@i)))) [
- _ds_show_lbl_duel = (- $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) @@@i)))
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "color" 0
- ]
- guibar
- guialign 0 [
- guilist [
- guitext "label" 0
- looplist i $_ds_list_duel [
- guialign 0 [
- if (=s $i duelstats) [
- guibutton "" [
- echo "^f7Change the DuelStats settings in the 'Options' tab."
- ] 0
- ] [
- guibutton "" [
- _ds_color_lbl_duel_@i = (mod (+ $_ds_color_lbl_duel_@i 1) 8)
- ]
- ]
- ]
- ]
- ]
- guibar
- guilist [
- guitext "value" 0
- looplist i $_ds_list_duel [
- guialign 0 [
- if (=s $i duelstats) [
- guibutton "" [
- echo "^f7Change the DuelStats settings in the 'Options' tab."
- ] 0
- ] [
- guibutton "" [
- _ds_color_num_duel_@i = (mod (+ $_ds_color_num_duel_@i 1) 8)
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "label" 0
- ]
- guibar
- guibar
- looplist i $_ds_list_duel [
- if (=s $i duelstats) [
- guibutton "^f7DuelStats" [ echo "^f7Change the DuelStats settings in the 'Options' tab." ] 0
- ] [
- _ds_guieditable _ds_lbl_duel_@i $_ds_color_lbl_duel_@i
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "value" 0
- ]
- guibar
- guibar
- looplist i $_ds_list_duel [
- do [
- guitext (concatword "^f4[" "^f" $_ds_color_num_duel_@i $i "^f4]") 0
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "location" 0
- ]
- guibar
- guibar
- //guistrut 1
- loop i (listlen $_ds_list_duel) [
- guialign 0 [
- guibutton "" [
- _ds_list_duel = (
- strreplace $_ds_list_duel (concat (at $_ds_list_duel (- @@i 1)) (at $_ds_list_duel @@i)) (concat (at $_ds_list_duel @@i) (at $_ds_list_duel (- @@i 1)))
- )
- ] "arrow_bw.jpg"
- guibutton "" [
- _ds_list_duel = (
- strreplace $_ds_list_duel (concat (at $_ds_list_duel @@i) (at $_ds_list_duel (+ @@i 1))) (concat (at $_ds_list_duel (+ @@i 1)) (at $_ds_list_duel @@i))
- )
- ] "arrow_fw.jpg"
- ]
- ]
- ]
- ]
- guibar
- guitab "Options"
- guititle "DuelScript Options"
- guibar
- guitext "^f2DuelStats:" 0
- guialign 0 [
- guibar
- guialign 0 [
- guialign 0 [
- guitext "color" 0
- ]
- guibar
- guialign 0 [
- guialign 0 [
- looplist i "ifw ifl ift" [
- guibutton "" [
- _ds_color_@i = (+ (mod $_ds_color_@i 7) 1)
- ]
- ]
- ]
- guibar
- guialign 0 [
- looplist i "ifw ifl" [
- guibutton "" [
- _ds_color_num_@i = (+ (mod $_ds_color_num_@i 7) 1)
- ]
- ]
- guistrut 1
- ]
- ]
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "label" 0
- ]
- guibar
- _ds_guieditable_duel _ds_ifw $_ds_color_ifw
- _ds_guieditable_duel _ds_ifl $_ds_color_ifl
- _ds_guieditable_duel _ds_ift $_ds_color_ift
- ]
- guibar
- guialign 0 [
- guialign 0 [
- guitext "value" 0
- ]
- guibar
- guitext (concatword "^f4[^f" $_ds_color_num_ifw "winning^f4]") 0
- guitext (concatword "^f4[^f" $_ds_color_num_ifl "losing^f4]") 0
- guistrut 1
- ]
- guibar
- ]
- guibar
- guilist [
- guitext "^f2Continuous Echo: " 0
- guibitfield "Enable" _ds_opts 1
- if (& $_ds_opts 1) [
- guibar
- guitext "Interval (seconds): " 0
- guifield _ds_delay 2
- ]
- ]
- guibar
- guilist [
- guitext "^f2Echo on Keystroke: " 0
- newbinds = (searchbinds "echo (_ds_duelstats)")
- guikeyfield newbinds -8 [
- looplist i (searchbinds "echo (_ds_duelstats)") [ bind $i "" ]
- looplist i $newbinds [ bind $i "echo (_ds_duelstats)" ]
- ]
- ]
- guibar
- guilist [
- guitext "^f2Duel Gamehud: " 0
- guibitfield "Enable" _ds_opts 2
- ]
- ]
- ] "DuelScript"
- // Miscellaneous Functions: (13 in total)
- _ds_name = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_name (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "name"))) (concatword $_ds_lbl_duel_name " ")) "^f" $_ds_color_num_duel_name (getname)
- ] [
- concatword "^f" $_ds_color_lbl_name (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "name"))) (concatword $_ds_lbl_name " ")) "^f" $_ds_color_num_name (getname)
- ]
- ]
- _ds_frags = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_frags (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "frags"))) (concatword $_ds_lbl_duel_frags " ")) "^f" $_ds_color_num_duel_frags (getfrags)
- ] [
- concatword "^f" $_ds_color_lbl_frags (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "frags"))) (concatword $_ds_lbl_frags " ")) "^f" $_ds_color_num_frags (getfrags)
- ]
- ]
- _ds_deaths = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_deaths (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "deaths"))) (concatword $_ds_lbl_duel_deaths " ")) "^f" $_ds_color_num_duel_deaths (getdeaths)
- ] [
- concatword "^f" $_ds_color_lbl_deaths (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "deaths"))) (concatword $_ds_lbl_deaths " ")) "^f" $_ds_color_num_deaths (getdeaths)
- ]
- ]
- _ds_acc = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_acc (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "acc"))) (concatword $_ds_lbl_duel_acc " ")) "^f" $_ds_color_num_duel_acc (getaccuracy)
- ] [
- concatword "^f" $_ds_color_lbl_acc (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "acc"))) (concatword $_ds_lbl_acc " ")) "^f" $_ds_color_num_acc (getaccuracy)
- ]
- ]
- _ds_kpd = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_kpd (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "kpd"))) (concatword $_ds_lbl_duel_kpd " ")) "^f" $_ds_color_num_duel_kpd (substr (divf (getfrags) (max (getdeaths) 1)) 0 4)
- ] [
- concatword "^f" $_ds_color_lbl_kpd (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "kpd"))) (concatword $_ds_lbl_kpd " ")) "^f" $_ds_color_num_kpd (substr (divf (getfrags) (max (getdeaths) 1)) 0 4)
- ]
- ]
- _ds_flags = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_flags (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "flags"))) (concatword $_ds_lbl_duel_flags " ")) "^f" $_ds_color_num_duel_flags (getflags)
- ] [
- concatword "^f" $_ds_color_lbl_flags (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "flags"))) (concatword $_ds_lbl_flags " ")) "^f" $_ds_color_num_flags (getflags)
- ]
- ]
- _ds_time = [
- if $arg1 [
- concatword "^f" $_ds_color_lbl_duel_time (? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "time"))) (concatword $_ds_lbl_duel_time " ")) "^f" $_ds_color_num_duel_time (_ds_timeleft)
- ] [
- concatword "^f" $_ds_color_lbl_time (? (& $_ds_show_lbl (<< 1 (indexof $_ds_list_original "time"))) (concatword $_ds_lbl_time " ")) "^f" $_ds_color_num_time (_ds_timeleft)
- ]
- ]
- _ds_duelstats = [
- cond (> (getfrags) (getdeaths)) [
- concatword "^f" $_ds_color_ifw (
- ? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "duelstats"))) (concatword $_ds_ifw " ")) "^f" $_ds_color_num_ifw (- (getfrags) (getdeaths)
- )
- ] (= (getfrags) (getdeaths)) [
- concatword "^f" $_ds_color_ift (
- ? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "duelstats"))) $_ds_ift
- )
- ] (< (getfrags) (getdeaths)) [
- concatword "^f" $_ds_color_ifl (
- ? (& $_ds_show_lbl_duel (<< 1 (indexof (concat duelstats $_ds_list_original) "duelstats"))) (concatword $_ds_ifl " ")) "^f" $_ds_color_num_ifl (- (getdeaths) (getfrags)
- )
- ]
- ]
- _ds_getstats = [
- _ds_stats = ""
- if (&& $_ds_go (& $_ds_opts 2)) [ // in case _ds_go changes during the loop
- looplist i $_ds_list_duel [
- if (&& (& $_ds_show_num_duel (<< 1 (indexof (concat duelstats $_ds_list_original) $i))) (|| (!=s $i flags) (m_ctf (getmode)))) [
- _ds_stats = (concat $_ds_stats (_ds_@i 1))
- ]
- ]
- ] [
- looplist i $_ds_list [
- if (&& (& $_ds_show_num (<< 1 (indexof $_ds_list_original $i))) (|| (!=s $i flags) (m_ctf (getmode)))) [
- _ds_stats = (concat $_ds_stats (_ds_@i))
- ]
- ]
- ]
- result (substr $_ds_stats 1)
- ]
- _ds_addzero = [ ? (> $arg1 9) $arg1 (concatword "0" $arg1) ]
- _ds_timeleft = [ format "%1:%2" (div (timeremaining) 60) (_ds_addzero (mod (timeremaining) 60)) ]
- _ds_guieditable = [ guibutton (concatword "^f" $arg2 (getalias $arg1)) [ _ds_guieditable = [ guifield $arg1 -7 [ _ds_guieditable = [@@@_ds_guieditable] ] ] ] 0 ]
- _ds_guieditable_duel = [ guibutton (concatword "^f" $arg2 (getalias $arg1)) [ _ds_guieditable_duel = [ guifield $arg1 -20 [ _ds_guieditable_duel = [@@@_ds_guieditable_duel] ] ] ] 0 ]
- // Perpetual Loops: (2 in total)
- _ds_echoloop = [ if (&& $_ds_go (& $_ds_opts 1)) [ echo (_ds_duelstats) ; echo ":D:D" ] ; sleep (* $_ds_delay 1000) [ _ds_echoloop ] ]
- _ds_echoloop
- _ds_isduel = [
- if (>= (getmode)) [
- count = 0
- looplist i (listclients) [
- if (! (isspectator $i)) [ count = (+ $count 1) ]
- ]
- _ds_go = (&& (= $count 1) (! (isspectator)))
- ] [ _ds_go = 0 ]
- sleep 5000 [ _ds_isduel ]
- ]
- _ds_isduel
- // Gamehud:
- gamehud = [ _ds_getstats ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement