this is not a race wrote in python, but this is a wcs python race.
jeff added in his wcs python a very usefull thing that allow you to write races like this :
"Predator"
{
"race"
{
"name" "Predator"
"author" "Damakex(Race“s Coder)"
"shortdescription" "More healt.|Leeched hp.|Drop weapon.|More speed"
"required_level" "190"
"maximum_level" "0"
"allow_only" "0"
"teamlimit" "0"
"preloadcmd" "0"
"player_spawn_cmd" "es es_xdelayed 1.8 est_unrestrict event_var(userid) c4;es es_xdelayed 1.0 est_RestrictAll event_var(userid);es es_xdelayed 1.5 est_UnRestrict event_var(userid) weapon_knife;es es_xdelayed 1.9 est_give event_var(userid) weapon_knife;es es_xtell event_var(userid) #multi server_var(wcs_lng);es es_xif(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (event_var(es_userteam) = 3) then est_SetModel event_var(userid)models/player/slow/predator_camouflaged/predator_camouflaged.mdl;es es_xif(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (event_var(es_userteam) = 2) then est_SetModel event_var(userid) models/player/slow/predator_camouflaged/predator_camouflaged.mdl"
"round_start_cmd" "0"
"round_end_cmd" "0"
"numberofskills" "5"
"numberoflevels" "4"
"skillnames" "Thick Skin|Cannibalism|Claws Attack|Training|Hunting Spear"
"skilldescr" "You skin are very strong and you got more additional health.|Every kill you goth 10-20 hp more.|You claws are very strong and destoroy enemy gun.|More speed in start.|Predators use hunting spears."
"skillcfg" "player_spawn|player_kill|player_attacker|player_spawn|player_ultimate"
"skill1_setting" "es_xsetinfo wcs_addhealth 240;es_xsetinfo wcs_alpha 90|es_xsetinfo wcs_addhealth 290;es_xsetinfo wcs_alpha 100|es_xsetinfo wcs_addhealth 300;es_xsetinfo wcs_alpha 110|es_xsetinfo wcs_addhealth 400;es_xsetinfo wcs_alpha 120"
"skill1_cmd" "es est_GetHealth wcs_health event_var(userid);es es_xmath wcs_health + server_var(wcs_addhealth);es est_SetHealth event_var(userid) server_var(wcs_health);es es_xtell event_var(userid)#multi #lightgreenThick #greenSkin #lightgreenActivated."
"skill1_sfx" "es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_xmath wcs_z1 + 40;es est_effect 10 #a 0 sprites/crosshairs.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 250 190 3 150 100 0 155 115 100 200 1"
"skill2_settings" "es_xrand wcs_rand 10 20|es_xrand wcs_rand 10 20|es_xrand wcs_rand 10 20|es_xrand wcs_rand 10 20"
"skill2_cmd" "es est_health event_var(attacker) + server_var(wcs_rand);es_tell event_var(attacker) #multi #lightgreenGained#green server_var(wcs_rand) health #lightgreenfor that kill."
"skill2_sfx" "es est_effect 11 #a 0 sprites/xfireball3.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 4 2 255"
"skill3_setting" "es_xsetinfo wcs_chance 30|es_xsetinfo wcs_chance 33|es_xsetinfo wcs_chance 36|es_xsetinfo wcs_chance 60"
"racealias_ca3" "es est_DropWeapon event_var(userid) 1;wcs_getlanguage wcs_lng wcs_lng_r_dropweapon;es es_xformat wcs_lng server_var(wcs_lng) event_var(es_attackername) event_var(es_username);es es_xtell event_var(userid)#multi #lightgreenevent_var(es_attackername) forced you #greento drop your #lightgreenweapon;es es_csay event_var(attacker)You forced event_var(es_username) to drop his weapon."
"skill3_cmd" "es es_xif (server_var(wcs_dice) <= server_var(wcs_chance)) then est_isalive wcs_alive event_var(userid);es es_xif (server_var(wcs_dice) <= server_var(wcs_chance)) then es_xif (server_var(wcs_alive) = 1) then racealias_ca3"
"skill3_sfx" "es es_xif (server_var(wcs_dice) <= 30) then es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(attacker);es es_xif (server_var(wcs_dice) <= 30) then es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid);es es_xif (server_var(wcs_dice) <= 30) then est_effect 3 #a 0 sprites/halo01.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 2 5 5 50 20 255 255"
"skill4_setting" "es_xsetinfo wcs_speed 1.07;es_xsetinfo wcs_alpha 50|es_xsetinfo wcs_speed 1.15;es_xsetinfo wcs_alpha 70|es_xsetinfo wcs_speed 1.21;es_xsetinfo wcs_alpha 90|es_xsetinfo wcs_speed 1.28;es_xsetinfo wcs_alpha 110|es_xsetinfo wcs_speed 1.35;es_xsetinfo wcs_alpha 130"
"skill4_cmd" "es es_xkeygetvalue wcs_tmp WCSuserdata event_var(userid) speed;es es_xif (server_var(wcs_speed) > server_var(wcs_tmp)) then es est_Speed event_var(userid) server_var(wcs_speed);es es_xif (server_var(wcs_speed) > server_var(wcs_tmp)) then es_xkeysetvalue WCSuserdata event_var(userid) speed server_var(wcs_speed);es es_xtell event_var(userid) #multi #GreenTraining #lightgreenactivated."
"skill4_sfx" "es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid);es est_effect 10 #a 0 sprites/smoke.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 20 60 1 4 2 0 255 100 0 255 0"
"skill5_setting" "es_xsetinfo wcs_dmg 10|es_xsetinfo wcs_dmg 11|es_xsetinfo wcs_dmg 12|es_xsetinfo wcs_dmg 15"
"racealias_nindrop" "es est_DropWeapon server_var(wcs_targetid) 1;es est_DropWeapon server_var(wcs_targetid) 2;es est_DropWeapon server_var(wcs_targetid) 4;es es_xtell server_var(wcs_userid) #multi #lightgreen Hunting Spear drop you weapon.;es es_xtell server_var(wcs_targetid) #multi #lightgreenHunting Spear drop you weapon"
"racealias_ninfrz" "es es_xif (server_var(wcs_dice) <= 99) then est_IsAlive wcs_alive event_var(userid);es es_xif (server_var(wcs_dice) <= 99) then es_xif (server_var(wcs_alive) = 1) then racealias_ninfrz2;es es_xtell server_var(wcs_userid) #lightgreen Hunting Spear hit you!;es es_xtell server_var(wcs_targetid) #lightgreen Hunting Spear stun!"
"racealias_ninfrz2" "es est_Freeze server_var(wcs_targetid) 1;es es_xdelayed 1 wcs_removefx freeze server_var(wcs_targetid)"
"racealias_nin41" "es est_getviewplayer server_var(wcs_userid) wcs_targetid;es es_xexists wcs_exists2 userid server_var(wcs_targetid);es est_isalive wcs_alive2 server_var(wcs_targetid);es es_xgetplayerteam wcs_team1 server_var(wcs_userid);es es_xgetplayerteam wcs_team2 server_var(wcs_targetid);racealias_nin42"
"racealias_nin42" "es es_xif (server_var(wcs_exists2) = 1) then es_xif (server_var(wcs_alive2) = 1) then es_xif (server_var(wcs_team1) != server_var(wcs_team2)) then racealias_nin43"
// courtesy of StinkyFax alias to check for walls
"racealias_nin43" "es_xsetinfo wcs_wall 1;es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es es_xif (server_var(wcs_wall) = 0) then racealias_nin44"
// courtesy of StinkyFax check for immunity flag
"racealias_nin44" "es_xsetinfo wcs_immunity 0;es es_xkeygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;es es_xif (server_var(wcs_immunity) = 0) then racealias_nin45;es es_xif (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);es es_xif (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)"
"racealias_nin45" "es wcs_dealdamage server_var(wcs_userid) server_var(wcs_targetid) server_var(wcs_dmg);es est_shake server_var(wcs_targetid) 2 6 6;es_xmath wcs_counter + 1;racealias_nin46;es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid);es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es est_GetViewCoord server_var(wcs_userid) wcs_x2 wcs_y2 wcs_z2;es est_effect 3 #a 0 sprites/redglow4.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 0.1 0.1 255 14 41 255;es est_effect 10 #a 1 sprites/redglow3.vmt server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 11 9 2 13 3 0 255 100 100 255 1"
"racealias_nin46" "es_setinfo wcs_nametarget 0;es est_getname wcs_nametarget server_var(wcs_targetid);es_setinfo wcs_nameuserid 0;es est_getname wcs_nameuserid server_var(wcs_userid);es es_xtell server_var(wcs_userid) #multi #LightgreenHunting Spear did server_var(wcs_dmg) damage to server_var(wcs_nametarget)!!;es es_xtell server_var(wcs_targetid)#multi #greenHunting Spear did server_var(wcs_dmg) damage to you by server_var(wcs_nameuserid)!!;es_xsetinfo wcs_ultinotexec 0;es es_xif (server_var(wcs_dice) <= 21) then racealias_nindrop;es es_xif (server_var(wcs_dice) >= 54) then racealias_ninfrz"
"racealias_nin47" "es es_xif (server_var(wcs_ultinotexec) != 0) then es_xtell server_var(wcs_userid)Hunting Spear missed."
"skill5_cmd" "es_xsetinfo wcs_exists2 0;es_xsetinfo wcs_hptarget 0;es_xsetinfo wcs_ultinotexec 1;es_xsetinfo wcs_targetid 0;es_xsetinfo wcs_alive1 0;es_xsetinfo wcs_team1 0;es_xsetinfo wcs_team2 0;es_xsetinfo wcs_alive2 0;es est_isalive wcs_alive1 server_var(wcs_userid);es es_xif (server_var(wcs_alive1) = 1) then racealias_nin41;racealias_nin47"
"skill5_sfx" "0"
"ultimate_cooldown" "8"
}
hasn't he forgot a } at the end?
Jeff's topic