| Offline | 
				 				
					  | 
				 				
					  | 
				 				 
				 Csatlakozott:2013.12.15. 19:13 Hozzászólások:495 Megköszönt másnak: 289 alkalommal Megköszönték neki: 14 alkalommal				
			 | 
			
				
				
					
						Üdv! Az a problémám, hogy ugyan feljönnek, de  amint ÜRES A SZERVER, akkor  le is mennek a botok, miért? [HA MEGINT van fent min.  1 játékos, akkor  1. kör után beállnak, de  AZT SZERETNÉM, ha  0-24-ben fent lennének és csak akkor menjenek le, ha már 10 ember van a szerón  Eredeti SMA:#include < amxmodx > #include < cstrike > #include < fakemeta >   enum Cvars {     botname1,     botname2,     minplayers,     starttime,     endtime,     onecon,     onebot,     norounds };   new const cvar_names[ Cvars ][] = {     "amx_botname",     "amx_botname2",     "amx_minplayers",     "amx_starttime",     "amx_endtime",     "amx_onecon",     "amx_onebot",     "amx_norounds" };   new const cvar_defaults[ Cvars ][] = {     "Bot",     "Bot 2",     "10",     "00",     "12",     "0",     "0",     "0" };   new cvar_pointer[ Cvars ]; new bool:g_isTime = false; new bool:g_ePlayers = false; new bool:g_isFirstRound = true; new g_BotNum = 0, g_maxplayers, g_bID1, g_bID2;   new const g_ConfigFile[] = "addons/amxmodx/configs/kgbbots.cfg"   public plugin_init()  {     register_plugin("KGB Bots", "2.3", "OvidiuS & Desikac")     register_cvar("kgbbots", "1" , (FCVAR_SERVER|FCVAR_SPONLY))          register_logevent("Event_RoundEnd", 2, "1=Round_End");     register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");          for ( new Cvars:i = botname1 ; i < Cvars ; i++ )         cvar_pointer[ i ] = register_cvar( cvar_names[ i ] , cvar_defaults[ i ] );          g_maxplayers = get_maxplayers();     server_cmd("exec %s", g_ConfigFile)     set_task(3.0, "isit") }   public isit() {     if(get_pcvar_num(cvar_pointer[norounds]))         set_task(30.0, "CheckConditions",0,"",0,"b") }   public plugin_precache()  {     if(!file_exists(g_ConfigFile))      {       write_file(g_ConfigFile, "KGB Bots - BeállĂtások^n")       write_file(g_ConfigFile, "amx_botname ^"KGB Bot1^"   //ElsĹ‘ bot neve")       write_file(g_ConfigFile, "amx_botname2 ^"KGB Bot2^"   //Második bot neve")       write_file(g_ConfigFile, "amx_minplayers ^"10^"   //Ennyi játĂ©kostĂłl dobja ki a szerver a botokat. Ha,kevesebb lesz a lĂ©tszám akkor vissza jönnek!")       write_file(g_ConfigFile, "amx_starttime ^"0^"   //Hány ĂłrátĂłl legyenek fent a botok a szerĂłn")       write_file(g_ConfigFile, "amx_endtime ^"12^"   //Hány Ăłrán át legyenek botok?")       write_file(g_ConfigFile, "amx_onecon ^"0^"   //A kezdĂ©si idĹ‘ Ă©s minplayers lĂ©tszám feltĂ©teleknek muszáj egyĂĽttesen teljesĂĽlniĂĽk a botok berakásához[0 -nem, 1 -igen]")       write_file(g_ConfigFile, "amx_onebot ^"0^"   //Egy bot menjen csak fel a szerverre?[0 -nem, 1 -igen]")        write_file(g_ConfigFile, "amx_norounds ^"0^"   //VĂ©gtelen köridĹ‘ (0-1) (ellenĹ‘rzĂ©s 30mp-enkĂ©nt)[0 -nem, 1 -igen]")     } }   public Event_RoundEnd() {     if (!g_isFirstRound)         return;       g_isFirstRound = false; }   public Event_NewRound() {     if(g_isFirstRound)         return;              CheckConditions(); }   public CheckConditions() {     static iHours, m, s     time(iHours, m, s)       new iMin = get_pcvar_num(cvar_pointer[ starttime ]);     new iMax = get_pcvar_num(cvar_pointer[ endtime ]);          if(iMin == iMax)         g_isTime = true;     else if(iMin > iMax)      {         switch(iHours)          {             case 0..11:              {                 if(iMin >= iHours && iMax > iHours)                     g_isTime = true;             }             case 12..23:              {                 if(iMin <= iHours && iMax < iHours)                     g_isTime = true;             }         }     }     else if(iMin <= iHours && iMax > iHours)         g_isTime = true;     else          g_isTime = false;              new iNum, iPlayers[32];     get_players(iPlayers, iNum, "c");          if(iNum <= get_pcvar_num(cvar_pointer[minplayers]))         g_ePlayers = true;     else         g_ePlayers = false;       if(g_maxplayers - iNum < 2)         g_ePlayers = false;          if(get_pcvar_num(cvar_pointer[minplayers]) == 0)         g_ePlayers = true          new iCondition = get_pcvar_num(cvar_pointer[ onecon ]);     if( (!g_ePlayers && g_isTime || !g_isTime && g_ePlayers) && iCondition)      {         g_isTime = true;         g_ePlayers = true;     }                        if((g_isTime && g_ePlayers) && !g_BotNum)     {         if(!get_pcvar_num(cvar_pointer[onebot]))             set_task(1.5, "Task_AddBot")         set_task(2.8, "Task_AddBot")     }     else if((!g_isTime || !g_ePlayers) && 0 < g_BotNum <= 2 )     {         g_BotNum = 0;         server_cmd("kick #%d", g_bID1)         server_cmd("kick #%d", g_bID2)     } }   public Task_AddBot() {     static iBot;     new iBotName[35];          switch(g_BotNum)     {         case 0: get_pcvar_string(cvar_pointer[ botname1 ], iBotName, charsmax( iBotName ));         case 1: get_pcvar_string(cvar_pointer[ botname2 ], iBotName, charsmax( iBotName ));         case 2: return;     }       iBot = engfunc( EngFunc_CreateFakeClient, iBotName );          if(!iBot)         return;              dllfunc( MetaFunc_CallGameEntity, "player", iBot );     set_pev( iBot, pev_flags, FL_FAKECLIENT );       set_pev( iBot, pev_model, "" );     set_pev( iBot, pev_viewmodel2, "" );     set_pev( iBot, pev_modelindex, 0 );       set_pev( iBot, pev_renderfx, kRenderFxNone );     set_pev( iBot, pev_rendermode, kRenderTransAlpha );     set_pev( iBot, pev_renderamt, 0.0 );       set_pdata_int( iBot, 114, 3 );     cs_set_user_team( iBot, CS_TEAM_UNASSIGNED );          switch(g_BotNum)      {         case 0: g_bID1 = get_user_userid(iBot);         case 1: g_bID2 = get_user_userid(iBot);     }     g_BotNum++;     } 
  ÁTÍRT .cfg:Kód: amx_botname "Hlmod.hu bot" amx_botname2 "Hlmod.hu bot2" amx_minplayers "10" amx_starttime "0" amx_endtime "24" amx_onecon "0" amx_onebot "0" amx_norounds "0" Előre is köszönöm! 							
  
							A hozzászólást 1 alkalommal szerkesztették, utoljára ZiT3K 2021.02.21. 17:55-kor.
  
						
					 | 
				 
				 
			 |