/*  AmxModx 1.76d plugin
*
*   Teletubbies player models and cs_teletubbies.sma plugin 
*   maked by leegeek 2008/3/10
*
*   CVAR:
*   teletubbies_team 1 // Teletubbies is Terrorist forces   
*   teletubbies_team 2 // Default Teletubbies is CT Forces
*
*   Email: leegeek@gmail.com
*   WebSite: http://dod.is.dreaming.org
*    
*   這是本人製作的天線寶寶家族CS人物模型及AMX插件,設定 teletubbies_team 2 時,
*   天線寶寶為警察,設定 teletubbies_team 1 時,天線寶寶變成為歹徒.預設是警察.
*
*   來信請寄: leegeek@gmail.com 
*   網站: 革命線上 http://dod.is.dreaming.org
*
*/

#include <amxmodx>
#include <cstrike>

new checkmodel[32] = 0;

public plugin_init()
{
   register_plugin("cs_teletubbies","1.3","leegeek");
   register_event("ResetHUD","on_ResetHud","b");
   register_cvar("teletubbies_team","2");  // Default Teletubbies is CT Forces
}

public plugin_precache()
{
   precache_model("models/player/tinkywinky/tinkywinky.mdl");
   precache_generic("models/player/tinkywinky/tinkywinkyT.mdl");
   precache_model("models/player/dipsy/dipsy.mdl");
   precache_generic("models/player/dipsy/dipsyT.mdl");
   precache_model("models/player/po/po.mdl");
   precache_generic("models/player/po/poT.mdl");
   precache_model("models/player/laalaa/laalaa.mdl");
   precache_generic("models/player/laalaa/laalaaT.mdl");
   precache_sound("misc/bighug.wav");
   precache_sound("misc/ehoh.wav");

   force_unmodified(force_exactfile,{0,0,0},{0,0,0},"models/player/tinkywinky/tinkywinky.mdl")
   force_unmodified(force_exactfile,{0,0,0},{0,0,0},"models/player/dipsy/dipsy.mdl")
   force_unmodified(force_exactfile,{0,0,0},{0,0,0},"models/player/po/po.mdl")
   force_unmodified(force_exactfile,{0,0,0},{0,0,0},"models/player/laalaa/laalaa.mdl")

   return PLUGIN_CONTINUE
}

public client_connect(id)
{
   client_cmd(id,"cl_minmodels 0;alias cl_minmodels");
   checkmodel[id]= 0;
}

public client_putinserver(id)
{
   if(!is_user_connected(id))
   {
       return PLUGIN_CONTINUE
   }
   else
   {
       client_cmd(0,"spk misc/bighug");  		
   }
		
   return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
   client_cmd(0,"spk misc/ehoh");
   checkmodel[id]= 0;
}

public force_model(id)
{
   new num = random_num(1,4);    
   switch (num)
   {
       case 1: cs_set_user_model(id, "tinkywinky");
       case 2: cs_set_user_model(id, "po");
       case 3: cs_set_user_model(id, "laalaa");
       case 4: cs_set_user_model(id, "dipsy");
   }
   checkmodel[id]= 1;          
}

public on_ResetHud(id)
{    
   new team = cs_get_user_team(id);
   if (get_cvar_num("teletubbies_team") == team)
   {
      if (checkmodel[id] == 0)
         force_model(id);
   }
   else {
      cs_reset_user_model(id);
      checkmodel[id]= 0;
   }
   return PLUGIN_CONTINUE
}


