//bot configuration: name model skin shirt pants team keyboard use moving dodging ping weapon use aggressivity range aiming calmhand mouse fightthink aithink
//default team values (team-override): 1 = red, 2 = blue, 3 = yellow, 4 = pink
//use -1 for shirt-color or pants-color to get random colors
-Hellfire nexus 0 4 0 0 0 0 -0.5 -1 1 1 -0.5 -1 -1 2 0.5 -1
-Toxic nexus 1 14 7 0 -1 -1.5 -0.5 0 1 0 0 0 2 -0.5 -0.5 1
-Discovery nexus 0 2 6 0 0 -1 -0.5 -0.5 1 -0.5 0.5 1.5 -0.5 -1 1 0.5
-Pegasus nexus 0 13 11 0 1 1 1 1 -1 0 0.5 0 -2 0 -1 0
-Eureka nexus 0 12 7 0 0 0 -1.5 -0.5 -0.5 0 0 0 0 -0.5 1.5 1.5
-Airhead nexus 0 11 1 0 -1 -1.5 -1 -0.5 1 1 -1 1 -0.5 1 0.5 0
-Gator nexus 0 3 10 0 0 1 0 0.5 -0.5 0.5 -0.5 -1 0 0 -0.5 0
-Delirium nexus 1 8 12 0 0 -1 -1 -1 0 2 0 1 0 2 -1 -1
-Death nexus 0 4 11 0 -0.5 0 0 1 -0.5 0 1 0 0 0 0 0
-Scorcher nexus 0 13 13 0 0 -1 0 -0.5 0.5 1 0 1 -2 1 0 0
-Necrotic nexus 0 12 14 0 0 0 0 1 0 -1 -0.5 -1 1 0 0 0
-Dominator nexus 1 3 9 0 0 0 0 2 -1 0 0 0 -1 0 0 0
-Thunderstorm nexus 2 13 6 0 0 0 0 -0.5 -1 1 0.5 0.5 -0.5 0 0.5 0
-Mystery nexus 0 9 14 0 1 1 1 1 -1 -1 0 1 1 -2 -1 -1
-Lion nexus 0 0 4 0 1 1.5 2 -1 -1 -1 1 0 1 -0.5 -1 -1
-Sensible nexus 0 9 9 0 0 0 0.5 -1 0 -1 0 -1 2.5 -1.5 1 0.5
-Shadow nexus 0 4 8 0 -0.5 2 1 0 0 -1 0 -1 0 1 -1 -0.5
-Resurrection nexus 0 1 1 0 0 -0.5 -0.5 0 2 -1 -1 -1 0 -1 1 1
+Hellfire umbra 0 4 0 0 0 0 -0.5 -1 1 1 -0.5 -1 -1 2 0.5 -1
+Toxic umbra 0 14 7 0 -1 -1.5 -0.5 0 1 0 0 0 2 -0.5 -0.5 1
+Discovery umbra 0 2 6 0 0 -1 -0.5 -0.5 1 -0.5 0.5 1.5 -0.5 -1 1 0.5
+Pegasus umbra 0 13 11 0 1 1 1 1 -1 0 0.5 0 -2 0 -1 0
+Eureka umbra 0 12 7 0 0 0 -1.5 -0.5 -0.5 0 0 0 0 -0.5 1.5 1.5
+Airhead umbra 0 11 1 0 -1 -1.5 -1 -0.5 1 1 -1 1 -0.5 1 0.5 0
+Gator umbra 0 3 10 0 0 1 0 0.5 -0.5 0.5 -0.5 -1 0 0 -0.5 0
+Delirium umbra 0 8 12 0 0 -1 -1 -1 0 2 0 1 0 2 -1 -1
+Death umbra 0 4 11 0 -0.5 0 0 1 -0.5 0 1 0 0 0 0 0
+Scorcher umbra 0 13 13 0 0 -1 0 -0.5 0.5 1 0 1 -2 1 0 0
+Necrotic umbra 0 12 14 0 0 0 0 1 0 -1 -0.5 -1 1 0 0 0
+Dominator umbra 0 3 9 0 0 0 0 2 -1 0 0 0 -1 0 0 0
+Thunderstorm umbra 0 13 6 0 0 0 0 -0.5 -1 1 0.5 0.5 -0.5 0 0.5 0
+Mystery umbra 0 9 14 0 1 1 1 1 -1 -1 0 1 1 -2 -1 -1
+Lion umbra 0 0 4 0 1 1.5 2 -1 -1 -1 1 0 1 -0.5 -1 -1
+Sensible umbra 0 9 9 0 0 0 0.5 -1 0 -1 0 -1 2.5 -1.5 1 0.5
+Shadow umbra 0 4 8 0 -0.5 2 1 0 0 -1 0 -1 0 1 -1 -0.5
+Resurrection umbra 0 1 1 0 0 -0.5 -0.5 0 2 -1 -1 -1 0 -1 1 1
else bot_name = "Bot";
if(argv(1) != "") bot_model = argv(1);
- else bot_model = "marine";
+ else bot_model = "";
if(argv(2) != "") bot_skin = argv(2);
else bot_skin = "0";
// pick the model and skin
if(substring(bot_model, -4, 1) != ".")
- bot_model = strcat(bot_model, ".zym");
+ bot_model = strcat(bot_model, ".iqm");
self.playermodel = self.playermodel_freeme = strzone(strcat("models/player/", bot_model));
self.playerskin = self.playerskin_freeme = strzone(bot_skin);
IS_CHEAT(i, 0, 0);
FOR_EACH_PLAYER(e)
{
- if( e.playermodel == "models/player/jeandarc.zym"
- || e.playermodel == "models/player/pyria.zym"
- || e.playermodel == "models/player/skadi.zym"
- || (e.playermodel == "models/player/specop.zym" && random() < 0.5) // you never know
- || e.playermodel == "models/player/visitant.zym")
+ get_model_parameters(e.playermodel, e.skinindex);
+ if(get_model_parameters_sex == "Female")
{
makevectors(e.angles);
traceline(e.origin, e.origin + v_right * 256, MOVE_NORMAL, e);
Returns a valid one in doubt.
=============
*/
-string FallbackPlayerModel = "models/player/marine.zym";
+string FallbackPlayerModel;
string CheckPlayerModel(string plyermodel) {
+ if(FallbackPlayerModel != cvar_defstring("_cl_playermodel"))
+ {
+ // note: we cannot summon Don Strunzone here, some player may
+ // still have the model string set. In case anyone manages how
+ // to change a cvar default, we'll have a small leak here.
+ FallbackPlayerModel = strzone(cvar_defstring("_cl_playermodel"));
+ }
if(strlen(plyermodel) < 4)
return FallbackPlayerModel;
if( substring(plyermodel,0,14) != "models/player/")