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-16 (original capture). Home · Forum · All archived topics · Downloads
Warcraft-Source.com - WCS mod for CSS
September 16, 2009, 02:16:21 AM *
Welcome, Guest. Please login or register.
Login with username, password and session length
News: Join the new Facebook Warcraft-Source.com Group! It has been currently opened!
Join!
Google  
  Home   Forum   Help Search Login Register   *
Pages: [1]   Go Down
  Print  
Author Topic: some race restrictions not working  (Read 19 times)
skeav
Level 0 Beginner

Offline Offline

United Kingdom

Posts: 2



« on: September 12, 2009, 07:10:09 PM »

scince we upgraded our server we have some problems that we are still struggling with we managed to fix a few but soem are still causing us problems and i was hoping someone here could help

1st beast restricted to one per team  but can have more than one per team scince upgrade

2nd rapscallinon and jhad joe and flame pred can pick up weapons dropped now works fine when server restarts but after map change restrictions not working
unsure as to what to paste  here so copied my es_wcsraces.txt  here

Code
GeSHi (eventscripts):
////////////////////////////////////////
// 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"
}
 
block unload
{
 es_xkeygroupdelete "WCSraces"
 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_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
   {
     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)
   }
 }
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)"
}
« Last Edit: September 12, 2009, 09:17:44 PM by skeav » Logged
AvasT
Level 7 Expert
*****
Offline Offline

Brazil Brazil

Posts: 361



doug_tiozao
« Reply #1 on: September 12, 2009, 07:56:01 PM »

1st problem: if someone got the race beast and left the server, then someone else joined it and got beast too and other person that already has beast joined it would say to both people to changerace but some of then dont respect,force then to changerace or ban...
2nd problem, check you es_tools.cfg there is a part saying (i dont remember but i think its that) allow_restrict or something like that
Logged

Smiley
skeav
Level 0 Beginner

Offline Offline

United Kingdom

Posts: 2



« Reply #2 on: September 12, 2009, 09:16:07 PM »

es_tools.cfg

Code
GeSHi (eventscripts):
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ES_Tools Cvars //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
est_debug 0 // Makes the console spam debug info for es_tools (useless unless you make it crash somehow and want to know why)                               //
est_conprint 0 // Print all commands that are run on the console (usefull for debugging scripts that are not doing what they are suppose to. //
est_Message_Mode 0 // 0 = Message console only (fast), 1 = Send to Rcon user and console only (slow), 2 = Send to console, rcon, and log (Very Slow) //
est_AntiBufferOverun 0 // Enable or Disable The anti Buffer over run //
est_Max_Read_Line 900 // Maximum number of bytes to read in the est_GetLine command //
est_enable_weapon_restrictions 1 // Enabled Es_tools nemod style weapon restrictions (users are unable to use restricted weapons they are holding)                               //
est_enable_weapon_mods 1 // Enables Weapon mods, (see addons/est/weapons.cfg)                                                                                            //
est_enable_weapon_speed_mods 1 // Enables or Disables es_tools weapon speed mods. //
est_enable_gravity_reseting 1 // Forces custom set gravity on players to stop ladders and map gravity effects from changing your settings.                                    //
est_enable_PerUserKeyHook 0 // Enables or Disables Hooking keys per user //
est_enable_est_player_shoot 0 // If enabled, and traceattack is hooked es_tools will fire the est_player_shoot event. //
est_Hook_Kill 0 // Enables blocking the 'kill' command //
est_Hook_Cheatish 1 // Blocks a bunch of cheat commands and impulse 101 when enabled, even if sv_cheats is on (does not block client side cheat cvars) //
est_Hook_Menu 0 // Hook all menu commands //
est_dead_chat 0 // Allows Dead players to chat with living players //
est_allowadvanceddrop 0 // Allows players to drop knives, grenades and other usually undrop-able items.                                                                 //
est_Hook_Fire 1 // 0 = Only fire one event per hook, 1 = Fire all matching events for every hooks //
est_blackhole_size 100 // Size of the killzone for the blackhole //
est_blackhole_gravity 400 // Gravity pull of the blachole //
est_blackhole_eats "player,prop,weapon_,item_,npc_" // begining of entity class names to get pulled and eaten by the blackhole //
est_Hook_Events_Matching "" // Add the names of any events that you want clients to be unaware of here, IE player_team,bomb_planted,round_end, etc. //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Logged
sciep
Level 0 Beginner

Offline Offline

Netherlands Netherlands

Posts: 1



« Reply #3 on: September 15, 2009, 12:51:13 AM »

Hi,
To be more precise in what skeav is saying;

We updated our server from 0.75 to 0.77. Installed the full package.
The beast thing is sorted out, this was a enable/disable function, but we do have a problem with weapon restrictions...

The problem:
When you are the "Rapscallion" race made by Holliday you can't buy weapons and you can't pick them up and everything looks fine, BUT after a mapchange you can pick them up. You still can't use the weapons, but since Rapscallion can be invisible this is where it goes wrong, because when it is invisible you can still see the weapons if you are a little closer to the person. if you are moving back from the one that has the  Rapscallion race, you can see the weapons fading until they are indeed invisible.

To be short:
- Rapscallion can pick up weapons after map change
- when invisible you can still see the weapons
- when you are away enough from the person with the Rapscallion race you can't see the weapons.
- First time using ultimate doesn't make you invisible although it says you do in chat/info. Second or other ultimate tries do work correct.

We hope anyone has a solution.
Thank you in advance.

P.S.:
We have "est_enable_weapon_restrictions 1" in es_tools.cfg

« Last Edit: September 15, 2009, 01:06:26 AM by sciep » Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Last 7 Shouts:
September 15, 2009, 11:25:36 PM
if any see krypto pls tell him he should take contact to me i will be very happy thx
September 15, 2009, 09:22:47 PM
None
September 15, 2009, 09:22:08 PM
ralf
September 15, 2009, 09:17:18 PM
rofl
September 15, 2009, 08:59:31 PM
they very bad!
September 15, 2009, 08:44:40 PM
no...
September 15, 2009, 07:50:19 PM
don't use intergrated graphic cards, they're useless
Recent
[September 15, 2009, 11:24:51 PM]

[September 15, 2009, 10:52:30 PM]

by Tolk
[September 15, 2009, 09:39:55 PM]

[September 15, 2009, 09:23:07 PM]

[September 15, 2009, 08:53:35 PM]

[September 15, 2009, 07:51:51 PM]

[September 15, 2009, 07:42:25 PM]

[September 15, 2009, 03:52:40 PM]

[September 15, 2009, 03:51:45 PM]

[September 15, 2009, 01:37:27 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 1.72 seconds with 24 queries.