hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2021.02.27. 07:28



Jelenlévő felhasználók

Jelenleg 70 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 68 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: 8mTNNe, Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2021.02.18. 10:32 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 419
Megköszönt másnak: 212 alkalommal
Megköszönték neki: 13 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:
  1. #include < amxmodx >
  2. #include < cstrike >
  3. #include < fakemeta >
  4.  
  5. enum Cvars
  6. {
  7.     botname1,
  8.     botname2,
  9.     minplayers,
  10.     starttime,
  11.     endtime,
  12.     onecon,
  13.     onebot,
  14.     norounds
  15. };
  16.  
  17. new const cvar_names[ Cvars ][] =
  18. {
  19.     "amx_botname",
  20.     "amx_botname2",
  21.     "amx_minplayers",
  22.     "amx_starttime",
  23.     "amx_endtime",
  24.     "amx_onecon",
  25.     "amx_onebot",
  26.     "amx_norounds"
  27. };
  28.  
  29. new const cvar_defaults[ Cvars ][] =
  30. {
  31.     "Bot",
  32.     "Bot 2",
  33.     "10",
  34.     "00",
  35.     "12",
  36.     "0",
  37.     "0",
  38.     "0"
  39. };
  40.  
  41. new cvar_pointer[ Cvars ];
  42. new bool:g_isTime = false;
  43. new bool:g_ePlayers = false;
  44. new bool:g_isFirstRound = true;
  45. new g_BotNum = 0, g_maxplayers, g_bID1, g_bID2;
  46.  
  47. new const g_ConfigFile[] = "addons/amxmodx/configs/kgbbots.cfg"
  48.  
  49. public plugin_init()
  50. {
  51.     register_plugin("KGB Bots", "2.3", "OvidiuS & Desikac")
  52.     register_cvar("kgbbots", "1" , (FCVAR_SERVER|FCVAR_SPONLY))
  53.    
  54.     register_logevent("Event_RoundEnd", 2, "1=Round_End");
  55.     register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
  56.    
  57.     for ( new Cvars:i = botname1 ; i < Cvars ; i++ )
  58.         cvar_pointer[ i ] = register_cvar( cvar_names[ i ] , cvar_defaults[ i ] );
  59.    
  60.     g_maxplayers = get_maxplayers();
  61.     server_cmd("exec %s", g_ConfigFile)
  62.     set_task(3.0, "isit")
  63. }
  64.  
  65. public isit() {
  66.     if(get_pcvar_num(cvar_pointer[norounds]))
  67.         set_task(30.0, "CheckConditions",0,"",0,"b")
  68. }
  69.  
  70. public plugin_precache()
  71. {
  72.     if(!file_exists(g_ConfigFile))
  73.     {
  74.       write_file(g_ConfigFile, "KGB Bots - BeállĂ­tások^n")
  75.       write_file(g_ConfigFile, "amx_botname ^"KGB Bot1^"   //ElsĹ‘ bot neve")
  76.       write_file(g_ConfigFile, "amx_botname2 ^"KGB Bot2^"   //Második bot neve")
  77.       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!")
  78.       write_file(g_ConfigFile, "amx_starttime ^"0^"   //Hány ĂłrátĂłl legyenek fent a botok a szerĂłn")
  79.       write_file(g_ConfigFile, "amx_endtime ^"12^"   //Hány Ăłrán át legyenek botok?")
  80.       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]")
  81.       write_file(g_ConfigFile, "amx_onebot ^"0^"   //Egy bot menjen csak fel a szerverre?[0 -nem, 1 -igen]")
  82.       write_file(g_ConfigFile, "amx_norounds ^"0^"   //VĂ©gtelen köridĹ‘ (0-1) (ellenĹ‘rzĂ©s 30mp-enkĂ©nt)[0 -nem, 1 -igen]")
  83.     }
  84. }
  85.  
  86. public Event_RoundEnd()
  87. {
  88.     if (!g_isFirstRound)
  89.         return;
  90.  
  91.     g_isFirstRound = false;
  92. }
  93.  
  94. public Event_NewRound()
  95. {
  96.     if(g_isFirstRound)
  97.         return;
  98.        
  99.     CheckConditions();
  100. }
  101.  
  102. public CheckConditions()
  103. {
  104.     static iHours, m, s
  105.     time(iHours, m, s)
  106.  
  107.     new iMin = get_pcvar_num(cvar_pointer[ starttime ]);
  108.     new iMax = get_pcvar_num(cvar_pointer[ endtime ]);
  109.    
  110.     if(iMin == iMax)
  111.         g_isTime = true;
  112.     else if(iMin > iMax)
  113.     {
  114.         switch(iHours)
  115.         {
  116.             case 0..11:
  117.             {
  118.                 if(iMin >= iHours && iMax > iHours)
  119.                     g_isTime = true;
  120.             }
  121.             case 12..23:
  122.             {
  123.                 if(iMin <= iHours && iMax < iHours)
  124.                     g_isTime = true;
  125.             }
  126.         }
  127.     }
  128.     else if(iMin <= iHours && iMax > iHours)
  129.         g_isTime = true;
  130.     else
  131.         g_isTime = false;
  132.        
  133.     new iNum, iPlayers[32];
  134.     get_players(iPlayers, iNum, "c");
  135.    
  136.     if(iNum <= get_pcvar_num(cvar_pointer[minplayers]))
  137.         g_ePlayers = true;
  138.     else
  139.         g_ePlayers = false;
  140.  
  141.     if(g_maxplayers - iNum < 2)
  142.         g_ePlayers = false;
  143.    
  144.     if(get_pcvar_num(cvar_pointer[minplayers]) == 0)
  145.         g_ePlayers = true
  146.    
  147.     new iCondition = get_pcvar_num(cvar_pointer[ onecon ]);
  148.     if( (!g_ePlayers && g_isTime || !g_isTime && g_ePlayers) && iCondition)
  149.     {
  150.         g_isTime = true;
  151.         g_ePlayers = true;
  152.     }
  153.    
  154.    
  155.        
  156.     if((g_isTime && g_ePlayers) && !g_BotNum)
  157.     {
  158.         if(!get_pcvar_num(cvar_pointer[onebot]))
  159.             set_task(1.5, "Task_AddBot")
  160.         set_task(2.8, "Task_AddBot")
  161.     }
  162.     else if((!g_isTime || !g_ePlayers) && 0 < g_BotNum <= 2 )
  163.     {
  164.         g_BotNum = 0;
  165.         server_cmd("kick #%d", g_bID1)
  166.         server_cmd("kick #%d", g_bID2)
  167.     }
  168. }
  169.  
  170. public Task_AddBot()
  171. {
  172.     static iBot;
  173.     new iBotName[35];
  174.    
  175.     switch(g_BotNum)
  176.     {
  177.         case 0: get_pcvar_string(cvar_pointer[ botname1 ], iBotName, charsmax( iBotName ));
  178.         case 1: get_pcvar_string(cvar_pointer[ botname2 ], iBotName, charsmax( iBotName ));
  179.         case 2: return;
  180.     }
  181.  
  182.     iBot = engfunc( EngFunc_CreateFakeClient, iBotName );
  183.    
  184.     if(!iBot)
  185.         return;
  186.        
  187.     dllfunc( MetaFunc_CallGameEntity, "player", iBot );
  188.     set_pev( iBot, pev_flags, FL_FAKECLIENT );
  189.  
  190.     set_pev( iBot, pev_model, "" );
  191.     set_pev( iBot, pev_viewmodel2, "" );
  192.     set_pev( iBot, pev_modelindex, 0 );
  193.  
  194.     set_pev( iBot, pev_renderfx, kRenderFxNone );
  195.     set_pev( iBot, pev_rendermode, kRenderTransAlpha );
  196.     set_pev( iBot, pev_renderamt, 0.0 );
  197.  
  198.     set_pdata_int( iBot, 114, 3 );
  199.     cs_set_user_team( iBot, CS_TEAM_UNASSIGNED );
  200.    
  201.     switch(g_BotNum)
  202.     {
  203.         case 0: g_bID1 = get_user_userid(iBot);
  204.         case 1: g_bID2 = get_user_userid(iBot);
  205.     }
  206.     g_BotNum++;
  207.     }

Á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!

_________________
2021.03.01-re rem. készen lesz az új SNIPER szerverem RENGETEG egyedi dologgal megfűszerezve.
De nem lövök le előre semmit :)


A hozzászólást 1 alkalommal szerkesztették, utoljára ZiT3K 2021.02.21. 17:55-kor.

Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2021.02.18. 11:53 
Offline
Senior Tag
Avatar

Csatlakozott: 2019.11.03. 22:00
Hozzászólások: 282
Megköszönt másnak: 29 alkalommal
Megköszönték neki: 13 alkalommal
Szia énsem, ezért nem használom, de itt van ez nekem tökéletesen működik.


Csatolmányok:
PMN_BOT_SPEC.sma [4.05 KiB]
Letöltve 7 alkalommal.

_________________
Nem elèg hètvègen a templomba a padot koptatni. Embernek kène maradni!
Nem sokat számít valaki hívő-e vagy sem.
Sokkal fontosabb, hogy jó ember legyen

Ők köszönték meg Csabika20034 nek ezt a hozzászólást: ZiT3K (2021.02.18. 14:43)
  Népszerűség: 2.27%
Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 11 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole