Archived copy of warcraft-source.com, the Warcraft: Source (WCS) forum (2007–2011), rebuilt from the Internet Archive by wc3mods.net. This page was captured on 2009-09-19 (original capture). Home · Forum · All archived topics · Downloads
Warcraft-Source.com - WCS mod for CSS
September 19, 2009, 05:28:24 AM *
Welcome, Guest. Please login or register.
Login with username, password and session length
News: Races and Items added into Download section from our great Race Coders!
Such as... HOLLIDAY|NovaKiller|Stinkyfax|Frodo|TeacherCreature|Phat_Wizard
Google  
  Home   Forum   Help Search Login Register   *
Pages: [1]   Go Down
  Print  
This topic has not yet been rated! You have not rated this topic. Select a rating:
Author Topic: Fast Help!  (Read 61 times)
AvasT
Level 7 Expert
*****
Offline Offline

Brazil Brazil

Posts: 365



doug_tiozao
« on: August 29, 2009, 10:44:26 PM »

Can someone please help me with a Delayed changerace?
can someone check if its right?
Code:
////////////////////////////////////////
// WCS - Warcraft:Source              //
// ---------------------------------- //
//  by kRypT0n!Te                     //
//      http://wc3source.de           //
// ---------------------------------- //
// Content of this subscript          //
// - race handling                    //
////////////////////////////////////////
// say commands:
// raceinfo, changerace
//
// admin commands:
// wcs_race_menu <userid>
// wcs_showraceinfo <userid>
//
////////////////////////////////////////

block load
{
  es_xexists ex keygroup "WCSinfo"
  if (server_var(ex) = 0) then es_xkeygroupcreate "WCSinfo"
  es_xexists ex key "WCSinfo" "raceinfo"
  if (server_var(ex) = 0) do
  {
    es_xkeycreate "WCSinfo" "raceinfo"
  }
  es_xelse do
  {
    es_xkeydelete "WCSinfo" "raceinfo"
    es_xkeycreate "WCSinfo" "raceinfo"
  }
  es_xkeygroupload "WCSraces" "|wcs/WCSraces"
  // loadup races, shop items
  es_xset wcs_numberofraces 0
  alias wcs_checkracealias "if (racealias in server_var(wcs_val)) then es_xkeygetvalue wcs_tmp WCSraces server_var(wcs_key) server_var(wcs_val);if (racealias in server_var(wcs_val)) then alias server_var(wcs_val) server_var(wcs_tmp)"
  alias wcs_checkracelanguage "if (wcs_lng_r in server_var(wcs_name)) then wcs_getlanguage wcs_name server_var(wcs_name);es_keysetvalue WCSraces server_var(wcs_key) name server_var(wcs_name);es_keygetvalue wcs_descr WCSraces server_var(wcs_key) skilldescr;if (wcs_lng_r in server_var(wcs_descr)) then wcs_getlanguage wcs_descr server_var(wcs_descr);es_keysetvalue WCSraces server_var(wcs_key) skilldescr server_var(wcs_descr);es_keygetvalue wcs_tmp WCSraces server_var(wcs_key) skillnames;if (wcs_lng_r in server_var(wcs_tmp)) then wcs_getlanguage wcs_tmp server_var(wcs_tmp);es_keysetvalue WCSraces server_var(wcs_key) skillnames server_var(wcs_tmp);wcs_checkracelanguage2"
  alias wcs_checkracelanguage2 "es_keygetvalue wcs_descr WCSraces server_var(wcs_key) shortdescription;if (wcs_lng_r in server_var(wcs_descr)) then wcs_getlanguage wcs_descr server_var(wcs_descr);es_keysetvalue WCSraces server_var(wcs_key) shortdescription server_var(wcs_descr)"
  es_xforeachkey wcs_key in "WCSraces" "es_keygetvalue wcs_cmd WCSraces server_var(wcs_key) preloadcmd;if (server_var(wcs_cmd) != 0) then alias wcs_loadcmd server_var(wcs_cmd);if (server_var(wcs_cmd) != 0) then wcs_loadcmd;es_foreachval wcs_val in WCSraces server_var(wcs_key) wcs_checkracealias;es_keygetvalue wcs_name WCSraces server_var(wcs_key) name;wcs_checkracelanguage;es echo [WCS] loaded race : server_var(wcs_name);es_xmath wcs_numberofraces + 1"
  es echo "[WCS] total : " server_var(wcs_numberofraces) " races loaded"
  // create the raceinfo data
  es_xdoblock wcs/WCSraces/wcs_raceinfo
  es_xexists ex command wcs_race_menu
  if (server_var(ex) = 0) then es_xregcmd wcs_race_menu wcs/WCSraces/wcs_race_menu "wcs_race_menu - usage: wcs_race_menu <userid>"
  es_xexists ex command wcs_showraceinfo
  if (server_var(ex) = 0) then es_xregcmd wcs_showraceinfo wcs/WCSraces/wcs_showraceinfo "Shows detail info about races"
  es_xexists ex saycommand changerace
  if (server_var(ex) = 0) then es_xregsaycmd changerace wcs/WCSraces/wcs_changerace "Change your race"
  es_xexists ex saycommand raceinfo
  if (server_var(ex) = 0) then es_xregsaycmd raceinfo wcs/WCSraces/wcs_showraceinfo "Shows detail info about the races"
  es_xset avast_ex 0
  es_xkeygroupcreate vippers
}

block unload
{
  es_xkeygroupdelete "WCSraces"
  es_xkeygropudelete vippers
  es_xkeydelete "WCSinfo" "raceinfo"
}

event dod_round_start
{
  // checks the roundstartcmd for all races
  es_xforeachkey wcs_key in "WCSraces" "es_keygetvalue wcs_cmd WCSraces server_var(wcs_key) round_start_cmd;es_strlen wcs_strlen server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then alias wcs_runcmd server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then wcs_runcmd"
}

event round_start
{
  // checks the roundstartcmd for all races
  es_xforeachkey wcs_key in "WCSraces" "es_keygetvalue wcs_cmd WCSraces server_var(wcs_key) round_start_cmd;es_strlen wcs_strlen server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then alias wcs_runcmd server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then wcs_runcmd"
}
event round_end
{
  // checks the roundendcmd for all races, and reset race counter
  es_xforeachkey wcs_key in "WCSraces" "es_keygetvalue wcs_cmd WCSraces server_var(wcs_key) round_end_cmd;es_strlen wcs_strlen server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then alias wcs_runcmd server_var(wcs_cmd);if (server_var(wcs_strlen) > 1) then wcs_runcmd;es_keysetvalue WCSraces server_var(wcs_key) 2 0;es_keysetvalue WCSraces server_var(wcs_key) 3 0"
  if (server_var(wcs_cfg_enableraceteamlimit) = "1") do
  {
    // check the player's races
    es_xforeachkey wcs_key in "WCSuserdata" "es_getplayerteam wcs_team server_var(wcs_key);es_keygetvalue wcs_race WCSuserdata server_var(wcs_key) race;es_keygetvalue wcs_tmp WCSraces server_var(wcs_race) server_var(wcs_team);es_xmath wcs_tmp + 1;if (server_var(wcs_team) >= 2) then es_xif (server_var(wcs_team) <= 3) then es_xkeysetvalue WCSraces server_var(wcs_race) server_var(wcs_team) server_var(wcs_tmp)"
    // check again, if one player is over the race limit/team
    es_xforeachkey wcs_key in "WCSuserdata" "es_getplayerteam wcs_team server_var(wcs_key);es_keygetvalue wcs_race WCSuserdata server_var(wcs_key) race;es_keygetvalue wcs_tmp WCSraces server_var(wcs_race) server_var(wcs_team);es_keygetvalue wcs_limit WCSraces server_var(wcs_race) teamlimit;if (server_var(wcs_limit) != 0) then es_xif (server_var(wcs_limit) < server_var(wcs_tmp)) then es_xdoblock wcs/WCSraces/wcs_checkplayerrace"
  }
}

event player_spawn
{
es_exists avast_ex key vippers event_var(userid)
if (server_var(avast_ex) == 1) then es_keydelete vippers event_var(userid)
}

event player_disconnect
{
es_exists avast_ex key vippers event_var(userid)
if (server_var(avast_ex) == 1) then es_keydelete vippers event_var(userid)
}

event player_team
{
  es_exists ex key WCSuserdata event_var(userid)
  if (server_var(wcs_cfg_enableraceteamlimit) != "1") then es_xset ex "0"
  if (server_var(ex) = "1") do
  {
    es_keygetvalue wcs_limit WCSuserdata event_var(userid) "limitedrace"
    if (server_var(wcs_limit) = "1") do
    {
      ifx true(wcs_cfg_limitedraceforcespec) do
      {
        if (server_var(wcs_game) = server_var(wcs_game_css)) then wcs_moneysavenow
        es est_Team event_var(userid) 1 1
      }
      es_tell event_var(userid) #multi #greenPlease change your race -> #lightgreen'changerace'
    }
  }
}

block wcs_checkplayerrace
{
  // wcs_key=userid wcs_race=race wcs_tmp=status wcs_limit=limit
  es_keysetvalue WCSuserdata server_var(wcs_key) "limitedrace" "1"
  if (server_var(wcs_cfg_limitedraceforcespec) = "1") then est_Team server_var(wcs_key) "1" "1"
  es_keygetvalue wcs_racename "WCSraces" server_var(wcs_race) "name"
  wcs_getlanguage "wcs_lng" "wcs_lng_limitedrace"
  es_format wcs_lng server_var(wcs_lng) server_var(wcs_race) server_var(wcs_racename) server_var(wcs_limit) server_var(wcs_tmp)
  es_menu 10 server_var(wcs_key) server_var(wcs_lng)
}

// >>>>>>>>>>>>>>>>> RACE INFO >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
block wcs_showraceinfo
{
wcs_debuglog wcs_showraceinfo start
  // first, is it a custom command ?
  es_xgetargv wcs_userid 1
  es_exists ex userid server_var(wcs_userid)
  if (server_var(ex) = 0) do
  {
    // or a say command
    es_xgetcmduserid wcs_userid
    es_exists ex userid server_var(wcs_userid)
    es wcs_menuzero server_var(wcs_userid)
    es_keygetvalue wcs_page "WCSuserdata" server_var(wcs_userid) "race"
    es_xmath wcs_page - 1
  }
  es_xelse do
  {
    es_keygetvalue wcs_page WCSuserdata server_var(wcs_userid) page
  }
  es_keysetvalue WCSuserdata server_var(wcs_userid) menu "raceinfo"
  es_xmath wcs_page + 1
  es_keysetvalue WCSuserdata server_var(wcs_userid) page server_var(wcs_page)
  es_xset wcs_infotext 0
  es_keygetvalue wcs_infotext WCSinfo raceinfo server_var(wcs_page)
  if (server_var(wcs_infotext) != "0") do
  {
    es_strlen wcs_strlen server_var(wcs_infotext)
    if (server_var(wcs_strlen) <= 1020) then es_xmenu 0 server_var(wcs_userid) server_var(wcs_infotext)
    if (server_var(wcs_strlen) > 1020) then es_xmenu 0 server_var(wcs_userid) "WARNING:\n \n Text too long ! Report this to an admin."
  }
wcs_debuglog wcs_showraceinfo end
}

block wcs_raceinfo
{
wcs_debuglog wcs_raceinfo start
  es_xforeachkey wcs_key in WCSraces "es_keygetvalue wcs_name WCSraces server_var(wcs_key) name;es_keygetvalue wcs_numberofskills WCSraces server_var(wcs_key) numberofskills;es_keygetvalue wcs_numberoflevels WCSraces server_var(wcs_key) numberoflevels;es_xdoblock wcs/WCSraces/wcs_raceinfo_skills1"
wcs_debuglog wcs_raceinfo end
}

block wcs_raceinfo_skills1
{
  wcs_getlanguage "wcs_lng" "wcs_lng_skills"
  es_format wcs_text "\n->%1.      %2 (%3 lvls/%4 %5)\n" server_var(wcs_key) server_var(wcs_name) server_var(wcs_numberoflevels) server_var(wcs_numberofskills) server_var(wcs_lng)
  es_keygetvalue wcs_requiredlevel WCSraces server_var(wcs_key) required_level
  wcs_getlanguage "wcs_lng" "wcs_lng_required"
  wcs_getlanguage "wcs_lng2" "wcs_lng_level"
  if (server_var(wcs_cfg_requiredlevel) = 1) then es_xif (server_var(wcs_requiredlevel) > 0) then es_xformat wcs_text "%1%2 %3 : %4\n" server_var(wcs_text) server_var(wcs_lng) server_var(wcs_lng2) server_var(wcs_requiredlevel)
  es_keygetvalue wcs_maxlevel "WCSraces" server_var(wcs_key) "maximum_level"
  wcs_getlanguage "wcs_lng" "wcs_lng_maxlevel"
  if (server_var(wcs_cfg_maxracelevel) = 1) then es_xif (server_var(wcs_maxlevel) > 0) then es_xformat wcs_text server_var(wcs_lng) server_var(wcs_text) server_var(wcs_maxlevel)
  es_keygetvalue wcs_allow_only WCSraces server_var(wcs_key) allow_only
  wcs_getlanguage "wcs_lng" "wcs_lng_privaterace"
  if (server_var(wcs_cfg_restrictedrace) = 1) then es_xif (server_var(wcs_allow_only) != "0") then es_xformat wcs_text "%1< %2 > \n" server_var(wcs_text) server_var(wcs_lng)
  es_keygetvalue wcs_tmp1 WCSraces server_var(wcs_key) author
  if (server_var(wcs_tmp1) != "0") then es_xformat wcs_text "%1 credits: %2\n \n" server_var(wcs_text) server_var(wcs_tmp1)
  es_keygetvalue wcs_skillname WCSraces server_var(wcs_key) skillnames
  es_keygetvalue wcs_skilldescr WCSraces server_var(wcs_key) skilldescr
  es_xset wcs_counter 1
  while "server_var(wcs_numberofskills) >= server_var(wcs_counter)" "es_xdoblock wcs/WCSraces/wcs_raceinfo_skills2;es_xmath wcs_counter + 1"
  es_format wcs_text "%1\n \n " server_var(wcs_text)
  if (server_var(wcs_key) > 1) then es_xformat wcs_text "%1\n->8. %2" server_var(wcs_text) server_var(wcs_lng_back)
  es_set wcs_keynext server_var(wcs_key)
  es_xmath wcs_keynext + 1
  es_exists ex key WCSraces server_var(wcs_keynext)
  if (server_var(ex) = 1) then es_xformat wcs_text "%1\n->9. %2" server_var(wcs_text) server_var(wcs_lng_next)
  es_keysetvalue WCSinfo raceinfo server_var(wcs_key) server_var(wcs_text)
}

block wcs_raceinfo_skills2
{
  es_token wcs_skill server_var(wcs_skillname) server_var(wcs_counter) |
  es_token wcs_skilld server_var(wcs_skilldescr) server_var(wcs_counter) |
  if (server_var(wcs_skilld) != "0") then es_xformatv wcs_text "%1\n->%2. %3\n%4" wcs_text wcs_counter wcs_skill wcs_skilld
  if (server_var(wcs_skilld) = "0") then es_xformatv wcs_text "%1\n->%2. %3" wcs_text wcs_counter wcs_skill
}
// <<<<<<<<<<<<<<<<< END RACE INFO <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// >>>>>>>>>>>>>>>>> START RACE MENU >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
block wcs_changerace
{
wcs_debuglog wcs_changerace start
  es_xset wcs_userid 0
  // if its a say command
  es_xgetcmduserid wcs_userid
  es_exists ex userid server_var(wcs_userid)
  if (server_var(ex) = 1) do
  {
    es_exists ex key WCSuserdata server_var(wcs_userid)
    if (server_var(ex) = 1) do
    {
      es_exists avast_ex key vipppers server_var(wcs_userid)
      jf (server_var(avast_ex) ==0) do
      {
      es_keycreate vippers server_var(wcs_userid)
      es_xdelayed 5 es_keydelete vippers server_var(wcs_userid)
    ifx false(wcs_cfg_changeracenextround) do
      {
       wcs_getlanguage "wcs_lng" "wcs_lng_changerace"
       es_tell server_var(wcs_userid) #multi server_var(wcs_lng)
      }
      es wcs_menuzero server_var(wcs_userid)
      es wcs_race_menu server_var(wcs_userid)
       }
       else do
       {      
        es_tell server_var(wcs_userid) Por Favor, use o Changerace no proximo round!
       }
    }
  }
wcs_debuglog wcs_changerace end
}

block wcs_race_menu
{
wcs_debuglog wcs_race_menu start
  // a custom command
  es_xgetargv wcs_userid 1
  wcs_getlanguage "wcs_lng" "wcs_lng_chooserace"
  es_format wcs_text "%1:\n " server_var(wcs_lng)
  es_xset wcs_counter 0
  // get ID
  es_keygetvalue wcs_id WCSuserdata server_var(wcs_userid) id
  es_getplayerteam wcs_team server_var(wcs_userid)
  // get race level
  es_keygetvalue wcs_race "WCSuserdata" server_var(wcs_userid) "race"
  // variables
  es_xset wcs_racename 0
  es_keygetvalue wcs_page WCSuserdata server_var(wcs_userid) page
  es_xmath wcs_page + 1
  es_keysetvalue WCSuserdata server_var(wcs_userid) page server_var(wcs_page)
  es_xset wcs_racenumber 0
  es_xset wcs_raceid 0
  es_xset wcs_addnum 7
  es_math wcs_addnum * server_var(wcs_page)
  es_xmath wcs_addnum - 7
  // how many races ?
  es_xset wcs_racecount 0
  es_xforeachkey wcs_key in WCSraces "es_xmath wcs_racecount + 1"
  // get id
  es_math wcs_raceid + server_var(wcs_addnum)
  // start is at 1
  es_xset wcs_counter 1
  // buildin menu 1..7
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  es_xdoblock wcs/WCSraces/wcs_race_menu_init
  es_xmath wcs_raceid + 1
  // check if we need next page
  es_format wcs_text "%1 %2\n %3\n \n " server_var(wcs_lng_page) server_var(wcs_page) server_var(wcs_text)
  if (server_var(wcs_raceid) > server_var(wcs_racecount)) then es_xif (server_var(wcs_page) = 1) then es_xformat wcs_text "%1 0. %2" server_var(wcs_text) server_var(wcs_lng_exit)
  if (server_var(wcs_raceid) <= server_var(wcs_racecount)) then es_xif (server_var(wcs_page) = 1) then es_xformat wcs_text "%1 9. %2\n 0. %3" server_var(wcs_text) server_var(wcs_lng_next) server_var(wcs_lng_exit)
  if (server_var(wcs_raceid) > server_var(wcs_racecount)) then es_xif (server_var(wcs_page) > 1) then es_xformat wcs_text "%1 8. %2\n 0. %3" server_var(wcs_text) server_var(wcs_lng_back) server_var(wcs_lng_exit)
  if (server_var(wcs_raceid) <= server_var(wcs_racecount)) then es_xif (server_var(wcs_page) > 1) then es_xformat wcs_text "%1 8. %2\n 9. %3\n 0. %4" server_var(wcs_text) server_var(wcs_lng_back) server_var(wcs_lng_next) server_var(wcs_lng_exit)
  es_menu 0 server_var(wcs_userid) server_var(wcs_text)
  es_keysetvalue WCSuserdata server_var(wcs_userid) menu race
wcs_debuglog wcs_race_menu end
}

block wcs_race_menu_init
{
wcs_debuglog wcs_race_menu_init start
  if (server_var(wcs_raceid) <= server_var(wcs_racecount)) do
  {
    es_exists ex key WCSraces server_var(wcs_raceid)
    ifx true(ex) do
    {
      es_keygetvalue wcs_racename WCSraces server_var(wcs_raceid) name
      if (server_var(wcs_racename) != 0) do
      {
        es_keygetvalue wcs_limit "WCSraces" server_var(wcs_raceid) "teamlimit"
        es_xset wcs_limited "0"
        if (server_var(wcs_cfg_enableraceteamlimit) != "1") then es_xset wcs_limit "0"
        if (server_var(wcs_limit) != "0") do
        {
          es_keygetvalue wcs_tmp1 "WCSraces" server_var(wcs_raceid) "2"
          es_keygetvalue wcs_tmp2 "WCSraces" server_var(wcs_raceid) "3"
          if (server_var(wcs_team) = "1") then es_xif (server_var(wcs_tmp1) > server_var(wcs_tmp2)) then es_xcopy wcs_tmp1 wcs_tmp2
          if (server_var(wcs_team) = "1") then es_xif (server_var(wcs_tmp1) >= server_var(wcs_limit)) then es_xset wcs_limited "1"
          if (server_var(wcs_team) = "2") then es_xif (server_var(wcs_tmp1) >= server_var(wcs_limit)) then es_xset wcs_limited "1"
          if (server_var(wcs_team) = "3") then es_xif (server_var(wcs_tmp2) >= server_var(wcs_limit)) then es_xset wcs_limited "1"
        }
        // get level stuff
        es_format wcs_racef "race_%1" server_var(wcs_raceid)
        // TODOOOOOOOOO!!!!!!!
        //es_keygetvalue wcs_level "WCSusers" server_var(wcs_id) server_var(wcs_racef)
        //es_xset wcs_level 0
        es_xformatv wcs_level rl_%1 wcs_raceid
        es_keygetvalue wcs_level WCSuserdata server_var(wcs_userid) server_var(wcs_level)
        if (server_var(wcs_level) = "0") then es_xset wcs_level 0
        //es_token wcs_level server_var(wcs_level) "1" "|"
        ///////////////////
        es_keygetvalue wcs_requiredlevel WCSraces server_var(wcs_raceid) "required_level"
        es_keygetvalue wcs_allow_only WCSraces server_var(wcs_raceid) "allow_only"
        if (server_var(wcs_cfg_restrictedrace) = 0) then es_xset wcs_allow_only 0
        es_keygetvalue wcs_total_level "WCSuserdata" server_var(wcs_userid) "total_level"
        if (server_var(wcs_cfg_requiredlevel) = "0") then es_xset wcs_requiredlevel 0
        if (server_var(wcs_total_level) >= server_var(wcs_requiredlevel)) do
        {
          es_keygetvalue wcs_maxlevel "WCSraces" server_var(wcs_raceid) "maximum_level"
          if (server_var(wcs_cfg_maxracelevel) = "0") then es_xset wcs_maxlevel server_var(wcs_total_level)
          if (server_var(wcs_maxlevel) = "0") then es_xset wcs_maxlevel server_var(wcs_total_level)
          if (server_var(wcs_total_level) <= server_var(wcs_maxlevel)) do
          {
             es_xset wcs_allow 0
            if (server_var(wcs_allow_only) = 0) then es_xset wcs_allow 1
            es_format wcs_uid "<%1>" server_var(wcs_id)
            if (server_var(wcs_uid) in server_var(wcs_allow_only)) then es_xset wcs_allow 1
            if (server_var(wcs_allow_only) != "0") do
            {
              if (server_var(wcs_uid) notin server_var(wcs_allow_only)) do
              {
                // check for admin
                es_exists wcs_isadmin key "WCSadmin" server_var(wcs_id)
                if (server_var(wcs_isadmin) = "1") then es_xif ("<admins>" in server_var(wcs_allow_only)) then es_xset wcs_allow "1"
                if (server_var(wcs_allow) = 0) do
                {
                  wcs_getlanguage "wcs_lng" "wcs_lng_privaterace"
                  es_format wcs_text "%1 \n%2. %3 < %4 >" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_lng)
                }
              }
            }
            if (server_var(wcs_allow) = 1) do
            {
              if (server_var(wcs_limited) = "0") do
              {
                if (server_var(wcs_level) > 0) then es_xif (server_var(wcs_cfg_globallevel) = "0") then es_xformat wcs_text "%1 \n->%2. %3 (lvl %4)" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_level)
                if (server_var(wcs_level) > 0) then es_xif (server_var(wcs_cfg_globallevel) = "1") then es_xformat wcs_text "%1 \n->%2. %3 (lvl %4)" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_total_level)
                if (server_var(wcs_level) = 0) then es_xformat wcs_text "%1 \n->%2. %3" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename)
              }
              es_xelse do
              {
                // level too high
                wcs_getlanguage "wcs_lng" "wcs_lng_limited"
                es_format wcs_text "%1 \n%2. %3 (%4 : %5)" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_lng) server_var(wcs_limit)
              }
            }
          }
          es_xelse do
          {
            // level too high
            wcs_getlanguage "wcs_lng" "wcs_lng_maximum"
            es_format wcs_text "%1 \n%2. %3 (%4 lvl %5)" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_lng) server_var(wcs_maxlevel)
          }
        }
        es_xelse do
        {
          // level too low
          wcs_getlanguage "wcs_lng" "wcs_lng_required"
          es_format wcs_text "%1 \n%2. %3 (%4 lvl %5)" server_var(wcs_text) server_var(wcs_counter) server_var(wcs_racename) server_var(wcs_lng) server_var(wcs_requiredlevel)
        }
        if (server_var(wcs_cfg_changeracedetails) = "1") do
        {
          es_keygetvalue wcs_descr "WCSraces" server_var(wcs_raceid) "shortdescription"
          if (server_var(wcs_descr) != "0") then es_xformat wcs_text "%1\n     %2" server_var(wcs_text) server_var(wcs_descr)
        }
        // IMPORTANT !!
        es_xmath wcs_counter + 1
      }
      es_xelse do
      {
      es_format wcs_text "%1\n (-)" server_var(wcs_text)
      }
    }
    es_xelse do
    {
      es_format wcs_text "%1\n (-)" server_var(wcs_text)
    }
  }
wcs_debuglog wcs_race_menu_init end
}

block wcs_race_handle
{
wcs_debuglog wcs_race_handle start
  es_xset wcs_page 0
  es_keygetvalue wcs_page WCSuserdata event_var(userid) page
  es_keygetvalue wcs_id WCSuserdata event_var(userid) id
  es_xset wcs_racecount 0
  es_xforeachkey wcs_key in WCSraces "es_xmath wcs_racecount + 1"
  es_xset wcs_r8id 7
  es_math wcs_r8id * server_var(wcs_page)
  es_xmath wcs_r8id + 1
  // handle back
  if (event_var(commandstring) = "8") do
  {
    if (server_var(wcs_page) > 1) do
    {
      es_xmath wcs_page - 2
      es_keysetvalue WCSuserdata event_var(userid) page server_var(wcs_page)
      es wcs_race_menu event_var(userid)
    }
  }
  // handle next
  if (event_var(commandstring) = "9") then es_xif (server_var(wcs_r8id) <= server_var(wcs_racecount)) then wcs_race_menu event_var(userid)
  // race selected
  if (event_var(commandstring) < 8) do
  {
    if (event_var(commandstring) > 0) do
    {
      es_xset wcs_raceid 0
      es_xset wcs_racename 0
      es_xset wcs_addnum 7
      es_math wcs_addnum * server_var(wcs_page)
      es_xmath wcs_addnum - 7
      es_math wcs_raceid + server_var(wcs_addnum)
      es_math wcs_raceid + event_var(commandstring)
      es_exists ex key WCSraces server_var(wcs_raceid)
      if (server_var(ex) = 1) do
      {
        es_keygetvalue wcs_racename WCSraces server_var(wcs_raceid) name
        es_keygetvalue wcs_requiredlevel WCSraces server_var(wcs_raceid) required_level
        es_keygetvalue wcs_total_level WCSuserdata server_var(wcs_userid) total_level
        if (server_var(wcs_cfg_requiredlevel) = 0) then es_xset wcs_requiredlevel 0
        es_keygetvalue wcs_allow_only WCSraces server_var(wcs_raceid) allow_only
        if (server_var(wcs_cfg_restrictedrace) = 0) then es_xset wcs_allow_only 0
        if (server_var(wcs_total_level) >= server_var(wcs_requiredlevel)) do
        {
          es_keygetvalue wcs_maxlevel "WCSraces" server_var(wcs_raceid) "maximum_level"
          if (server_var(wcs_cfg_maxracelevel) = "0") then es_xset wcs_maxlevel server_var(wcs_total_level)
          if (server_var(wcs_maxlevel) = "0") then es_xset wcs_maxlevel server_var(wcs_total_level)
          if (server_var(wcs_total_level) <= server_var(wcs_maxlevel)) do
          {
            es_xset wcs_allow 0
            if (server_var(wcs_allow_only) = 0) then es_xset wcs_allow 1
            es_format wcs_uid "<%1>" server_var(wcs_id)
            if (server_var(wcs_uid) in server_var(wcs_allow_only)) then es_xset wcs_allow 1
            if (server_var(wcs_allow_only) != "0") do
            {
              if (server_var(wcs_uid) notin server_var(wcs_allow_only)) do
              {
                // check for admin
                es_exists wcs_isadmin key "WCSadmin" server_var(wcs_id)
                if (server_var(wcs_isadmin) = "1") then es_xif ("<admins>" in server_var(wcs_allow_only)) then es_xset wcs_allow "1"
                if (server_var(wcs_allow) = 0) do
                {
                  wcs_getlanguage "wcs_lng" "wcs_lng_notallowed"
                  es_format wcs_text "#lightgreen%1 : #green%2" server_var(wcs_racename) server_var(wcs_lng)
                  es_tell event_var(userid) #multi server_var(wcs_text)
                }
              }
            }
            // check team limit
            es_getplayerteam wcs_team event_var(userid)
            es_keygetvalue wcs_limit "WCSraces" server_var(wcs_raceid) "teamlimit"
            es_xset wcs_limited "0"
            if (server_var(wcs_cfg_enableraceteamlimit) != "1") then es_xset wcs_limit "0"
            if (server_var(wcs_limit) != "0") do
            {
              es_keygetvalue wcs_tmp1 "WCSraces" server_var(wcs_raceid) "2"
              es_keygetvalue wcs_tmp2 "WCSraces" server_var(wcs_raceid) "3"
              if (server_var(wcs_team) = "1") then es_xif (server_var(wcs_tmp1) > server_var(wcs_tmp2)) then es_xcopy wcs_tmp1 wcs_tmp2
              if (server_var(wcs_team) = "1") then es_xif (server_var(wcs_tmp1) >= server_var(wcs_limit)) then es_xset wcs_allow "0"
              if (server_var(wcs_team) = "2") then es_xif (server_var(wcs_tmp1) >= server_var(wcs_limit)) then es_xset wcs_allow "0"
              if (server_var(wcs_team) = "3") then es_xif (server_var(wcs_tmp2) >= server_var(wcs_limit)) then es_xset wcs_allow "0"
            }
            if (server_var(wcs_allow) = 1) do
            {
             ifx true(wcs_cfg_changeracenextround) do
             {
             wcs_getlanguage wcs_lng wcs_lng_changeracenextround
             es_tell event_var(userid) #multi server_var(wcs_lng)
             es_keysetvalue WCSuserdata event_var(userid) forcechangerace 1
             es_keysetvalue WCSuserdata event_var(userid) forcechangeraceid server_var(wcs_raceid)
             }
             es_xelse do
             {
               if (event_var(es_userdead) = 0) then est_Slay event_var(userid)
               // save the old race !
               es wcs_saveplayer event_var(userid)
               es_keysetvalue "WCSuserdata" event_var(userid) "race" server_var(wcs_raceid)
               es wcs_playercheck server_var(wcs_raceid)
               es wcs_getplayer event_var(userid)
               es_xset wcs_text 0
               wcs_getlanguage "wcs_lng" "wcs_lng_changedrace"
               es_format wcs_text "#lightgreen%1: #green%2" server_var(wcs_lng) server_var(wcs_racename)
               es_tell event_var(userid) #multi server_var(wcs_text)
               // refresh skills
               es_keysetvalue "WCSuserdata" event_var(userid) "skillcheck" "1"
               // unrestrict all (required for predator)
               es est_UnrestrictAll event_var(userid)
               // reset the limited flag
               es_keysetvalue "WCSuserdata" event_var(userid) "limitedrace" "0"
              }
            }
          }
          es_xelse do
          {
            es_math wcs_total_level - server_var(wcs_maxlevel)
            wcs_getlanguage "wcs_lng" "wcs_lng_overmaxlevel"
            es_format wcs_text server_var(wcs_lng) server_var(wcs_racename) server_var(wcs_total_level)
            es_tell event_var(userid) #multi server_var(wcs_text)
          }
        }
        es_xelse do
        {
          es_math wcs_requiredlevel - server_var(wcs_total_level)
          wcs_getlanguage "wcs_lng" "wcs_lng_notreqlevel"
          es_format wcs_text server_var(wcs_lng) server_var(wcs_racename) server_var(wcs_requiredlevel)
          es_tell event_var(userid) #multi server_var(wcs_text)
        }
      }
    }
  }
  // set page to 0 if race selected
  if (event_var(commandstring) != "9") then es_xif (event_var(commandstring) != "8") then es_xkeysetvalue WCSuserdata event_var(userid) menu 0
wcs_debuglog wcs_race_handle end
}

// <<<<<<<<<<<<<<<<< END RACE MENU <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

block wcs_calcracestats
{
  es_xforeachkey wcs_key in WCSraces "es_keysetvalue WCSraces server_var(wcs_key) rcounter 0"
  es_xforeachkey wcs_key in WCSuserdata "es_keygetvalue wcs_raceid WCSuserdata server_var(wcs_key) race;es_keygetvalue wcs_tmp WCSraces server_var(wcs_raceid) rcounter;es_xmath wcs_tmp + 1;es_keysetvalue WCSraces server_var(wcs_raceid) server_var(wcs_tmp)"
}
Thanks!
« Last Edit: August 29, 2009, 11:12:03 PM by CA.Berettonawak » Logged

Smiley
Lunicuss
Level 1 Trained Beginner
*
Offline Offline

Australia Australia

Posts: 22



« Reply #1 on: September 16, 2009, 08:37:03 AM »

Whats it sposed to be?  Shocked
Logged

-Lunicuss
chuck
Level 3 Trained Apprentice
***
Offline Offline

Ukraine

Posts: 78



WWW
bothell24

myServer 72.37.184.130:27018
(Warning: click connects through Steam)
« Reply #2 on: September 16, 2009, 03:16:45 PM »

delayed changerace? if you did something wrong, you can just download the file again and replace the file....
Logged

AvasT
Level 7 Expert
*****
Offline Offline

Brazil Brazil

Posts: 365



doug_tiozao
« Reply #3 on: September 16, 2009, 05:44:21 PM »

i know chuck im not idiot ¬¬' i just forgot a "{" place and then now its wrong
Logged

Smiley
Yiyas
Level 3 Trained Apprentice
***
Offline Offline

United Kingdom

Posts: 74




no1yiyas
no1yiyas
« Reply #4 on: September 16, 2009, 08:48:59 PM »

jf (server_var(avast_ex) ==0) do
needs to be
if (server_var(avast_ex) = 0) do
or
ifx parse("avast_ex = 0") do

About it working or not even after those fixes... I don't know.
Logged
AvasT
Level 7 Expert
*****
Offline Offline

Brazil Brazil

Posts: 365



doug_tiozao
« Reply #5 on: September 16, 2009, 08:50:16 PM »

i know Cheesy
Logged

Smiley
Pages: [1]   Go Up
  Print  
 
Jump to:  

Last 7 Shouts:
September 18, 2009, 09:19:29 PM
I am pretty sure we had more than that. Ask Koshy I think you need your own box to do it though.
September 18, 2009, 07:08:42 PM
anyone here know what was the maximum player was on wcs server... max i seen is 40
September 18, 2009, 06:20:12 PM
:< I would like a guide how to make your own custom races.. but i can't find any :
September 18, 2009, 03:58:41 PM
i just figured that Valve Theme as CS:S setted on this site looks great, u should trie it lads ^^
September 18, 2009, 06:02:19 AM
it would be cool if you can suck my dick too....lol jk
September 18, 2009, 03:37:55 AM
its good enough
September 18, 2009, 02:37:54 AM
not cool -.-
Recent
[Today at 05:16:07 AM]

[Today at 05:07:15 AM]

[Today at 03:36:11 AM]

by MiiX
[Today at 02:44:48 AM]

[September 18, 2009, 10:49:53 PM]

[September 18, 2009, 10:21:46 PM]

[September 18, 2009, 10:11:57 PM]

by Tolk
[September 18, 2009, 09:29:45 PM]

[September 18, 2009, 09:13:17 PM]

[September 18, 2009, 09:08:20 PM]
Theme switch

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC
TinyPortal v0.9.8 © Bloc
Valid XHTML 1.0! Valid CSS!
Page created in 0.116 seconds with 24 queries.