Raised This Month: $32 Target: $400
 8% 

Probleme Bot


  
 
 
Thread Tools Display Modes
Author Message
MrGarfield
Senior Member
Join Date: Feb 2013
Old 08-22-2013 , 15:11   Probleme Bot
#1

Bonjour,

voilà j'ai un problème avec mes bots, j'ai un serveur cz gungame, et je voudrais que quand il y ai personne sur le serveur, avoir 5 bots, mais quand un joueur rentre qu'un bot parte, à l'heure actuelle j'ai 5 bots mais ils partent que quand le serveur est plein je comprend pas.

voici mon fichier bot

bot_add_ct // Ajouter un bot dans l'équipe CT
bot_add_t // Ajouter un bot dans l'équipe T
bot_allow_rogues 1 // Activer (1) la permission aux bots de faire ce qu'il veulent comme ne pas suivre les ordres radio ou comme ne pas suivre l'objectif de la mission
bot_auto_follow 1 // Activer (1) la permission aux bots de suivre les joueurs
bot_auto_vacate 1 // Activer (1) la permission aux bots de quitter le jeu pour faire de la place aux joueurs
bot_chatter off // Fréquence de chat des bots : 'off', 'radio', 'minimal' ou 'normal'
bot_defer_to_human 1 // Activer (1) ordonne au bot de remplir leur mission jusqu'au bout
bot_difficulty 0 // Niveau de difficulté des bots : (0) facile, (1) normal, (2) difficile et (3) expert
bot_eco_limit 0 // Définir une somme minimum d'argent avant que les bots achètent des armes
bot_join_after_player 0 // Activer (0) autorise les bots à jouer tout seul sur le serveur s'il n'y a pas de joueurs
bot_memory_usage // Activer l'affichage de l'utilisation de la mémoire par les bots
bot_prefix "~{LtB`}~" // Définir un préfixe devant le nom des bots
bot_quota 5 // Nombre de bots
bot_quota_mode fill // Définir le calcul du nombre de bots : 'normal' nombre de bots définis dans le bot_quota , 'fill' Ajustement du nombre de bots afin qu'il y ait toujours au moins N joueurs dans la partie, sachant que N est le bot_quota
bot_walk 0 // Activer (1) la communication des bots tout en se déplaçant
// --------------------------------------------
// Restriction d'Armes pour les Bots
// --------------------------------------------
bot_all_weapons // Les Armes des bots ne sont pas restreintes
bot_allow_grenades 1 // Les bots peuvent utiliser les grenades
bot_allow_machine_guns 1 // Les bots peuvent utiliser les machines guns
bot_allow_pistols 1 // Les bots peuvent utiliser les pistolets
bot_allow_rifles 1 // Les bots peuvent utiliser les fusils
bot_allow_shotguns 1 // Les bots peuvent utiliser les fusils à pompes
bot_allow_snipers 1 // Les bots peuvent utiliser les snipers
bot_allow_sub_machine_guns 1 // Les bots peuvent utiliser les subs machines guns
// bot_knives_only // Les bots ne peuvent prendre que le couteau
// bot_pistols_only // Les bots ne peuvent prendre que le pistolet
// bot_snipers_only // Les bots ne peuvent prendre que le sniper

Merci
MrGarfield is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 08-22-2013 , 16:06   Re: Probleme Bot
#2

Je ne pense pas que ce soit possible. La seule cvar possible qui s'en approche, c'est bot_quota_match, mais c'est cvar c'est pour faire correspondre x bots pour 1 joueur.

Je crois que tu vas avoir besoin d'un plugin du genre : https://forums.alliedmods.net/showthread.php?p=808253
__________________
Arkshine is offline
ANTICHRISTUS
kingdom of weird stuff
Join Date: Jun 2010
Location: My kingdom is not in thi
Old 08-22-2013 , 21:03   Re: Probleme Bot
#3

y a des bots qui font ce que tu demandes, mais c'est pas ceux de czero:
Quote:
Originally Posted by ANTICHRISTUS View Post
pour tout ce qui est installation, configuration, et personnalisation.. va voir du coté obscure de la force. nous (moi & moi) avons posté deux threads à propos des podbots. un peu compliqués, mais assez complets .
__________________
ANTICHRISTUS is offline
MrGarfield
Senior Member
Join Date: Feb 2013
Old 08-23-2013 , 10:25   Re: Probleme Bot
#4

Bonjour,

oui effectivement c'est ce type de plugin que je voudrai mais j'ai un problème j'arrive pas à avoir le menu, je connais pas trop ce genre de plug je sais pas s'il faut rajouter quelque chose dans le serveur.cfg ?
je pense que c'est ca a mettre dans un dossiers mais je sais pas ou "serveur.cfg"

amx_czbmenu
-> Displays The CZ Bot Main Menu

mx_czbmenu_enable < 1 | on / 0 | off > -> Turns Plugin on/off


merci pour votre aide.

Last edited by MrGarfield; 08-23-2013 at 11:35.
MrGarfield is offline
MrGarfield
Senior Member
Join Date: Feb 2013
Old 08-23-2013 , 12:14   Re: Probleme Bot
#5

bon je viens de m’apercevoir que je pouvais tout contrôler avec hlsw .
est il possible de changer dans le sma le nombre de bot car il est à 10 par défaut j'en voudrais que 6

merci beaucoup

Last edited by MrGarfield; 08-23-2013 at 12:14.
MrGarfield is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 08-23-2013 , 12:17   Re: Probleme Bot
#6

Tu as des cvars pour ça. Roh, faut lire le premier message.

bot_enabled 1
bot_autoadd 6
bot_balance 1
bot_autokill 0
__________________
Arkshine is offline
MrGarfield
Senior Member
Join Date: Feb 2013
Old 08-23-2013 , 12:44   Re: Probleme Bot
#7

voilà ce que j'ai fat moi je pense que ca doit etre ca mais ca marche pas

PHP Code:
/*----------------------------------------------------------------------------------------------------

CZ Bot Menu 2.2 by vato loco [GE-S] 


Commands:
amx_czbmenu                              -> Displays The CZ Bot Main Menu 
amx_czbmenu_enable < 1 | on / 0 | off >  -> Turns Plugin on/off

Cvars:
bot_enabled 1 <0/1>   -> [Default: 1  ] Turns Plugin on/off
bot_autokill 0 <0/1>   -> [Default: 1  ] Turns Bot Autokill on/off  
bot_balance 1 <0/1>   -> [Default: 1  ] Turns Bot Balance on/off
bot_autoadd 5 <num>   -> [Default: 10 ] How Many Bot Will Join Automatic The Server

Credits:
EKS 
DokTor 

FAQ:
Do Not Change Cvar "bot_maxslots" !!!
Cvar Will Be Set Automatic By The Number Of Server Slots !!!
------------------------------------------------------------------------------------------------------*/

#include <amxmodx>
#include <amxmisc>

#define TASK_CZBOT_MODE   13371
#define TASK_CZBOT_SLOTS  14471

#define MENU_KEYS_CZBOT MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_0
#define MENU_KEYS_WEAPON MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
#define MENU_KEYS_CONTROL MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_9|MENU_KEY_0
#define MENU_KEYS_SPECI MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_9|MENU_KEY_0

new g_bot_mp_autoteambalance
new g_bot_mp_limitteams

new g_bot_enabled
new g_bot_diff
new g_bot_balance
new g_bot_autokill
new g_bot_jap 
new g_bot_quota
new g_bot_max
new g_bot_maxslots

new g_bot_pistols
new g_bot_shotguns
new g_bot_machine_guns
new g_bot_sub_mguns
new g_bot_rifles
new g_bot_snipers 
new g_bot_shield 
new g_bot_grenades

new bool:g_bBotAddT
new bool:g_bBotAddCt

new g_SyncCzBot

new g_iPlayerCounter
new g_iMaxPlayers

public plugin_init() {
    
    
register_plugin("CZ Bot Menu vl""2.2""vato loco [GE-S]")
    
    
register_menu("CZ Bot Menu",MENU_KEYS_CZBOT,"menu_handler_czbot")
    
register_menu("CZ Bot Weapon Menu",MENU_KEYS_WEAPON,"menu_handler_weapon")           
    
register_menu("CZ Bot Control Menu",MENU_KEYS_CONTROL,"menu_handler_control")
    
register_menu("CZ Bot Specific Bot Add Menu",MENU_KEYS_SPECI,"menu_handler_speci")
    
    
register_concmd("amx_czbmenu","czbot_menu_show",ADMIN_KICK)
    
register_concmd("amx_czbmenu_enable","enable_czbotmenu",ADMIN_KICK,"amx_czbmenu_enable < 1 | on / 0 | off >")
    
    
register_event("DeathMsg","event_death","a")
    
    
g_bot_enabled register_cvar("bot_enabled","1")
    
g_bot_autokill register_cvar("bot_autokill","1")
    
g_bot_balance register_cvar("bot_balance","1")
    
g_bot_max =  register_cvar("bot_autoadd","5"
    
    
//Do Not Change Cvar"bot_maxslots" !!! Read FAQ !!!
    
g_bot_maxslots register_cvar("bot_maxslots","32")
    
    
g_bot_pistols get_cvar_pointer("bot_allow_pistols")
    
g_bot_shotguns get_cvar_pointer("bot_allow_shotguns")
    
g_bot_machine_guns get_cvar_pointer("bot_allow_machine_guns")
    
g_bot_sub_mguns get_cvar_pointer("bot_allow_sub_machine_guns")  
    
g_bot_rifles get_cvar_pointer("bot_allow_rifles")
    
g_bot_snipers get_cvar_pointer("bot_allow_snipers")
    
g_bot_shield get_cvar_pointer("bot_allow_shield")
    
g_bot_grenades get_cvar_pointer("bot_allow_grenades")
    
    
g_bot_quota get_cvar_pointer("bot_quota")    
    
g_bot_diff get_cvar_pointer("bot_difficulty")
    
g_bot_jap get_cvar_pointer("bot_join_after_player")
    
    
g_bot_mp_autoteambalance get_cvar_pointer("mp_autoteambalance")
    
g_bot_mp_limitteams get_cvar_pointer("mp_limitteams")
    
    
set_pcvar_num(g_bot_mp_autoteambalance0)
    
set_pcvar_num(g_bot_mp_limitteams0)
    
    
set_cvar_string("bot_join_team""any")
    
    
g_SyncCzBot CreateHudSyncObj()
    
    
g_iMaxPlayers get_maxplayers()
}

public 
plugin_cfg() {
    
    if(!
get_pcvar_num(g_bot_enabled)) 
        return 
PLUGIN_HANDLED
    
    set_task
(1.0"check_players"TASK_CZBOT_MODE__"b")
    
set_task(3.0"map_loaded"TASK_CZBOT_SLOTS)
    
    return 
PLUGIN_CONTINUE
}

public 
client_putinserver(id) {
    
    if(!
is_user_bot(id)) {
        
        
g_iPlayerCounter++
    }
    else {
        if(
g_bBotAddT) {
            
g_bBotAddT false
        
}
        if(
g_bBotAddCt) {
            
g_bBotAddCt false
        
}
    }
}

public 
client_disconnect(id) {
    
    if(!
is_user_bot(id)) {
        
        
g_iPlayerCounter--
    }
}

public 
enable_czbotmenu(idlvlcid) {
    
    if(!
cmd_access(idlvlcid2))
        return 
PLUGIN_HANDLED
    
    
new szarg[8]
    
read_argv(1,szarg,7)
    
    if(
equal(szarg,"1") || equal(szarg,"on")) {
        
        
set_pcvar_num(g_bot_enabled1)
        
client_print(id,print_chat,"[CZ-BOT] Plugin Enabled !!!")
        
        if(!
task_exists(TASK_CZBOT_MODE)) {
            
            
set_task(1.0"check_players"TASK_CZBOT_MODE__"b")
            
set_task(3.0"map_loaded"TASK_CZBOT_SLOTS)
        }
    }
    else if(
equal(szarg,"0") || equal(szarg,"off")) {
        
        
set_pcvar_num(g_bot_enabled0)
        
client_print(id,print_chat,"[CZ-BOT] Plugin Disabled !!!")
    }
    return 
PLUGIN_HANDLED


public 
map_loaded() {
    
    
setBotSlots(g_iMaxPlayers)
}

public 
check_players() {
    
    if(
get_pcvar_num(g_bot_enabled)) {
        
        if(
get_pcvar_num(g_bot_balance)) {
            
            new 
iPlayerNum
            
            
for(new <= g_iMaxPlayers i++) {
                
                if(!
is_user_bot(i)) {
                    
                    new 
team get_user_team(i)
                    if(
team == || team == 2)
                        ++
iPlayerNum
                
}
            }
            if(
iPlayerNum <= get_pcvar_num(g_bot_max)) {
                
                
set_pcvar_num(g_bot_quotaget_pcvar_num(g_bot_max) - iPlayerNum)
            }
            else if(
iPlayerNum get_pcvar_num(g_bot_max)) {
                
                if(
get_pcvar_num(g_bot_quota) != 0) {
                    
                    
set_pcvar_num(g_bot_quota0)
                    
                    for(new 
bi bi <= g_iMaxPlayers bi++) {
                        
                        if(
is_user_bot(bi)){
                            
                            new 
userid get_user_userid(bi)
                            
server_cmd("kick #%d"userid)
                        }
                    }
                    return 
PLUGIN_HANDLED
                
}
                return 
PLUGIN_HANDLED
            
}
            
check_balance()
        }
        else {
            if(
get_pcvar_num(g_bot_max) < get_pcvar_num(g_bot_maxslots)) {
                
                
set_pcvar_num(g_bot_quotaget_pcvar_num(g_bot_max))
                
                return 
PLUGIN_HANDLED
            
}
        }
    }
    else {
        if(
task_exists(TASK_CZBOT_MODE)) {
            
            
remove_task(TASK_CZBOT_MODE)
        }
        
set_pcvar_num(g_bot_quota0)
        
        for(new 
bi bi <= g_iMaxPlayers bi++) {
            
            if(
is_user_bot(bi)){
                
                new 
userid get_user_userid(bi)
                
server_cmd("kick #%d"userid)
            }
        }
    }
    return 
PLUGIN_CONTINUE
}

public 
event_death() {
    
    if(!
get_pcvar_num(g_bot_enabled))
        return 
PLUGIN_HANDLED
    
    
new id read_data(2
    
    if(
is_user_bot(id)) 
        return 
PLUGIN_HANDLED 
    
    
if(!human_alive()) {
        
        if(
get_pcvar_num(g_bot_autokill))  { 
            
            
kill_bots() 
        }
    }
    return 
PLUGIN_HANDLED
}

/*---------------------------------------------------------------------------------------*/
/*------------------------------------- CZ Bot Menu -------------------------------------*/
/*---------------------------------------------------------------------------------------*/

public czbot_menu_show(id,lvl,cid)
{
    if(
cmd_accessidlvlcid1) && get_pcvar_num(g_bot_enabled)) {
        
        
czb_menu_czbot(id)
    }
    return 
PLUGIN_HANDLED
}

public 
czb_menu_czbot(id) {
    new 
menu[512], szfillserver[32],szspecific[32],szkillbotall[32],sznewround[32],szkickbot[32],szkickbotall[32],szweapons[32],szcontrol[32]
    
    
formatex(szfillserver,31,"\w1. Fill Server \w")
    
    
formatex(szspecific,31,"\w2. Specific Bot Add \w")
    
    
formatex(szkillbotall,31,"\w3. Kill All Bots \w")
    
    
formatex(sznewround,31,"\w4. New Round \w")
    
    
formatex(szkickbot,31,"\w5. Kick Bot \w")
    
    
formatex(szkickbotall,31,"\w6. Kick All Bots \w")        
    
    
formatex(szweapons,31,"\w7. Weapon Mode \w")
    
    
formatex(szcontrol,31,"\w8. Control Menu \w")
    
    
    
formatex(menu,511,"^n^n^n\yCZ Bot Menu ^n^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n^n0. close",szfillserver,szspecific,szkillbotall,sznewround,szkickbot,szkickbotall,szweapons,szcontrol)
    
show_menu(id,MENU_KEYS_CZBOT,menu)
}

public 
menu_handler_czbot(id,key) {
    switch(
key) {
        case 
0:{
            
fillserver()
            
CzBotPrintHudMsg(id02550"[CZ-BOT] Fill Server Add [%d] Bots !!!"get_pcvar_num(g_bot_maxslots) - g_iPlayerCounter)
            
            
czb_menu_czbot(id)
        }
        case 
1:{
            
czb_menu_speci(id)
        }
        case 
2:{
            
kill_bots()
            
CzBotPrintHudMsg(id2554848"[CZ-BOT] All Bots Were Killed...")
            
            
czb_menu_czbot(id)
        }
        case 
3:{
            for(new 
<= g_iMaxPlayers i++) {
                
                if(
is_user_alive(i)) {
                    
                    
user_kill(i1)
                }
            }
            
CzBotPrintHudMsg(id25515550"[CZ-BOT] New Round Start...")
            
            
czb_menu_czbot(id)
        }
        case 
4:{
            if (
get_pcvar_num(g_bot_max) > 0) {
                
kickbot()
                
                
g_bBotAddT false
                g_bBotAddCt 
false
                
                
if(!get_pcvar_num(g_bot_balance)) {
                    
CzBotPrintHudMsg(id25520147"[CZ-BOT] Kicking Bots From Both Teams [%d] Remaining ..."get_pcvar_num(g_bot_max) -1)
                }
                else {
                    
CzBotPrintHudMsg(id25520147"[CZ-BOT] Kicking Bots From Both Teams [%d] Remaining ..."get_pcvar_num(g_bot_max) -2)
                }
            }
            
czb_menu_czbot(id)
        }
        case 
5:{
            new 
czbcmdkickall[50
            
formatex(czbcmdkickall49"bot_autoadd 0")
            
CzBotPrintHudMsg(id25520147"[CZ-BOT] All Bots Were Kicked...")
            
server_cmd(czbcmdkickall)
            
            
czb_menu_czbot(id)
        }
        case 
6:{
            
czb_menu_weapon(id)
        }
        case 
7:{
            
czb_menu_control(id)
        }
        case 
9:{
            
show_menu(id,0,"")
        }
    }
}

/*---------------------------------------------------------------------------------------*/
/*------------------------------- Specific Bot Add Menu ---------------------------------*/
/*---------------------------------------------------------------------------------------*/

public czb_menu_speci(id) {
    new 
menu[512], szbotaddt[64],szbotaddct[64],szbotadd[32],szback[32]
    
    new 
g_balance get_pcvar_num(g_bot_balance)
    
    switch(
g_balance) {
        
        case 
0formatex(szbotaddt,63,"\w1. Terrorist\w")
            
        case 
1formatex(szbotaddt,63,"\r1. [Disabled] [Reason] Bot Balcance Is Enabled\w")
            
    }
    switch(
g_balance) {
        
        case 
0formatex(szbotaddct,63,"\w2. Counter-Terrorist\w")
            
        case 
1formatex(szbotaddct,63,"\r2. [Disabled] [Reason] Bot Balcance Is Enabled\w")
            
    }
    
formatex(szbotadd,31,"\w3. Random Bot\w")
    
    
formatex(szback,31,"\w9. back\w")
    
    
formatex(menu,511,"^n^n^n\yCZ Bot Specific Bot Add Menu ^n^n%s^n%s^n%s^n^n%s^n0. close",szbotaddt,szbotaddct,szbotadd,szback)
    
show_menu(id,MENU_KEYS_SPECI,menu)
}

public 
menu_handler_speci(id,key) {
    switch(
key) {
        case 
0:{
            if(!
get_pcvar_num(g_bot_balance)) {
                
                new 
g_botjointeam[4]  
                
                if (
get_pcvar_num(g_bot_max) + g_iPlayerCounter get_pcvar_num(g_bot_maxslots)) {
                    
                    if(!
g_bBotAddCt) {
                        
botadd()
                        
CzBotPrintHudMsg(id20000"[CZ-BOT] Add Terrorist [%d]..."get_pcvar_num(g_bot_max) +1)
                        
get_cvar_string("bot_join_team"g_botjointeam3)
                        
                        if(!
equal(g_botjointeam,"T")) {
                            
set_cvar_string("bot_join_team","T")
                        }
                        
g_bBotAddT true
                    
}
                }
                else {
                    
client_print(id,print_chat,"[CZ-BOT] Max Bot Amount Reached")
                }
            }
            
czb_menu_speci(id)
        }
        case 
1:{
            if(!
get_pcvar_num(g_bot_balance)) {
                
                new 
g_botjointeam[4]  
                
                if (
get_pcvar_num(g_bot_max) + g_iPlayerCounter get_pcvar_num(g_bot_maxslots)) {
                    
                    if(!
g_bBotAddT) {
                        
botadd()
                        
CzBotPrintHudMsg(id00255"[CZ-BOT] Add Counter-Terrorist [%d]..."get_pcvar_num(g_bot_max) +1)
                        
get_cvar_string("bot_join_team"g_botjointeam3)
                        
                        if(!
equal(g_botjointeam,"CT")) {
                            
set_cvar_string("bot_join_team","CT")
                        }
                        
g_bBotAddCt true
                    
}
                }
                else {
                    
client_print(id,print_chat,"[CZ-BOT] Max Bot Amount Reached")
                }
            }
            
czb_menu_speci(id)
        }
        case 
2:{
            new 
g_botjointeam[4]  
            
            if(!
get_pcvar_num(g_bot_balance)) {
                
                if (
get_pcvar_num(g_bot_max) + g_iPlayerCounter get_pcvar_num(g_bot_maxslots)) {
                    
                    if(!
g_bBotAddT && !g_bBotAddCt) {
                        
botadd()
                        
CzBotPrintHudMsg(id02550"[CZ-BOT] Random Bot [%d] Was Add..."get_pcvar_num(g_bot_max) +1)
                    }
                    
get_cvar_string("bot_join_team"g_botjointeam3)
                    
                    if(!
equal(g_botjointeam,"any")) {
                        
set_cvar_string("bot_join_team","any")
                    }
                }
                else {
                    
client_print(id,print_chat,"[CZ-BOT] Max Bot Amount Reached")
                }
            }
            else {
                if (
get_pcvar_num(g_bot_max) < get_pcvar_num(g_bot_maxslots) -2) {
                    
                    if(!
g_bBotAddT && !g_bBotAddCt) {
                        
botadd()                
                        
CzBotPrintHudMsg(id02550"[CZ-BOT] Adding Bots On Both Teams [%d] ..."get_pcvar_num(g_bot_max) +2)
                    }
                    
get_cvar_string("bot_join_team"g_botjointeam3)
                    
                    if(!
equal(g_botjointeam,"any")) {
                        
set_cvar_string("bot_join_team","any")
                    }
                }
                else {
                    
client_print(id,print_chat,"[CZ-BOT] Max Bot Amount Reached")
                }
            }
            
czb_menu_speci(id)
        }
        case 
8:{
            
czb_menu_czbot(id)
        }
        case 
9:{
            
show_menu(id,0,"")
        }
    }
}

/*---------------------------------------------------------------------------------------*/
/*--------------------------------- Bot Control Menu ------------------------------------*/
/*---------------------------------------------------------------------------------------*/

public czb_menu_control(id) {
    new 
menu[512], szsbotdiff[32],szbotchatar[32],szbotautokill[32],szbotbalance[32],szbotjap[32],szback[32]
    
    new 
g_diff get_pcvar_num(g_bot_diff)
    
    switch(
g_diff) {
        
        case 
0formatex(szsbotdiff,31,"\w1. Difficulty: \yeasy\w")
            
        case 
1formatex(szsbotdiff,31,"\w1. Difficulty: \ynormal\w"
            
        case 
2formatex(szsbotdiff,31,"\w1. Difficulty: \yhard\w"
            
        case 
3formatex(szsbotdiff,31,"\w1. Difficulty: \yexpert\w"
            
    }       
    new 
g_chatar[8]
    
get_cvar_string("bot_chatter",g_chatar,7)
    
    if(
equal(g_chatar,"normal")) {
        
        
formatex(szbotchatar,31,"\w2. Chatter: \ynormal\w")
    }
    if(
equal(g_chatar,"off")) {
        
        
formatex(szbotchatar,31,"\w2. Chatter: \yoff\w")
    }
    if(
equal(g_chatar,"minimal")) {
        
        
formatex(szbotchatar,31,"\w2. Chatter: \yminimal\w")
    }
    if(
equal(g_chatar,"radio")) {
        
        
formatex(szbotchatar,31,"\w2. Chatter: \yradio\w")
    }
    new 
g_autokill get_pcvar_num(g_bot_autokill)
    
    switch(
g_autokill) {     
        
        case 
0formatex(szbotautokill,31,"\w3. Autokill: \rdisabled\w")    
            
        case 
1formatex(szbotautokill,31,"\w3. Autokill: \yenabled\w")
            
    } 
    new 
g_balance get_pcvar_num(g_bot_balance)
    
    switch(
g_balance) {     
        
        case 
0:    formatex(szbotbalance,31,"\w4. Balance: \rdisabled\w")
            
        case 
1formatex(szbotbalance,31,"\w4. Balance: \yenabled\w")
            
    }
    new 
g_joinafterplayer get_pcvar_num(g_bot_jap)
    
    switch(
g_joinafterplayer) {
        
        case 
0formatex(szbotjap,31,"\w5. Join After: \rPlayer\w")
            
        case 
1formatex(szbotjap,31,"\w5. Join After: \yPlayer\w")
            
    }
    
formatex(szback,31,"\w9. back\w")
    
    
formatex(menu,511,"^n^n^n\yCZ Bot Control Menu ^n^n%s^n%s^n%s^n%s^n%s^n^n%s^n0. close",szsbotdiff,szbotchatar,szbotautokill,szbotbalance,szbotjap,szback)
    
show_menu(id,MENU_KEYS_CONTROL,menu)
}

public 
menu_handler_control(id,key) {
    switch(
key) {
        case 
0:{
            new 
g_diff get_pcvar_num(g_bot_diff)
            
            switch(
g_diff) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_diff1)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Difficulty Normal...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_diff2)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Difficulty Hard...")
                }
                case 
2: {
                    
set_pcvar_num(g_bot_diff3)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Difficulty Expert...")
                }
                case 
3: {
                    
set_pcvar_num(g_bot_diff0)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Difficulty Easy...")
                }
            }
            
czb_menu_control(id)
        }
        case 
1:{
            new 
g_chatar[8
            
get_cvar_string("bot_chatter",g_chatar,7)
            
            if(
equal(g_chatar,"normal")) {
                
set_cvar_string("bot_chatter","off"
                
CzBotPrintHudMsg(id0255255"[CZ-BOT] Chatter Off...")
            }
            if(
equal(g_chatar,"off")) {
                
set_cvar_string("bot_chatter","minimal")
                
CzBotPrintHudMsg(id0255255"[CZ-BOT] Chatter Minimal...")
            }
            if(
equal(g_chatar,"minimal")) {
                
set_cvar_string("bot_chatter","radio")
                
CzBotPrintHudMsg(id0255255"[CZ-BOT] Chatter Radio...")
            }
            if(
equal(g_chatar,"radio")) {
                
set_cvar_string("bot_chatter","normal")
                
CzBotPrintHudMsg(id0255255"[CZ-BOT] Chatter Normal...")
            }
            
czb_menu_control(id)
        }
        case 
2:{    
            new 
g_autokill get_pcvar_num(g_bot_autokill)
            
            switch(
g_autokill) { 
                
                case 
0: {
                    
set_pcvar_num(g_bot_autokill1)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Autokill Enabled...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_autokill0)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Autokill Disabled...")
                }
            }
            
czb_menu_control(id)
        }
        case 
3:{
            new 
g_balance get_pcvar_num(g_bot_balance)
            
            switch(
g_balance) { 
                
                case 
0: {
                    
set_pcvar_num(g_bot_balance1)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Balance Enabled...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_balance0)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Balance Disabled...")
                }
            }
            
czb_menu_control(id)
        }
        case 
4:{
            new 
g_joinafterplayer get_pcvar_num(g_bot_jap)
            
            switch(
g_joinafterplayer) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_jap1)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Join After Player Enabled...")
                }
                case 
1:{
                    
set_pcvar_num(g_bot_jap0)
                    
CzBotPrintHudMsg(id0255255"[CZ-BOT] Join After Player Disabled...")
                }
            }
            
czb_menu_control(id)
        }                                
        case 
8:{
            
czb_menu_czbot(id)
        }
        case 
9:{
            
show_menu(id,0,"")
        }
    }
}

/*---------------------------------------------------------------------------------------*/
/*----------------------------------- Bot Weapon Menu -----------------------------------*/
/*---------------------------------------------------------------------------------------*/

public czb_menu_weapon(id) {
    new 
menu[512], szpistols[32],szshotguns[32], szmachineguns[32], szsubmguns[32], szrifles[32], szsnipers[32], szshield[32], szgrenades[32],szback[32]
    
    new 
g_pistols get_pcvar_num(g_bot_pistols)
    
    switch(
g_pistols) {
        
        case 
0formatex(szpistols,31,"\w1. Pistols: \roff\w")
            
        case 
1:    formatex(szpistols,31,"\w1. Pistols: \yon\w")
            
    }
    new 
g_shotguns get_pcvar_num(g_bot_shotguns)
    
    switch(
g_shotguns) {
        
        case 
0formatex(szshotguns,31,"\w2. Shotguns: \roff\w")
            
        case 
1:    formatex(szshotguns,31,"\w2. Shotguns: \yon\w")
            
    }
    new 
g_machineguns get_pcvar_num(g_bot_machine_guns)
    
    switch(
g_machineguns) {
        
        case 
0:    formatex(szmachineguns,31,"\w3. MachineGuns: \roff\w")
            
        case 
1:    formatex(szmachineguns,31,"\w3. MachineGuns: \yon\w")
            
    }
    new 
g_submguns get_pcvar_num(g_bot_sub_mguns)
    
    switch(
g_submguns) {
        
        case 
0formatex(szsubmguns,31,"\w4. SubMachineGuns: \roff\w")
            
        case 
1:    formatex(szsubmguns,31,"\w4. SubMachineGuns: \yon\w")
            
    }
    new 
g_rifles get_pcvar_num(g_bot_rifles)
    
    switch(
g_rifles) {
        
        case 
0formatex(szrifles,31,"\w5. Rifles: \roff\w")
            
        case 
1:    formatex(szrifles,31,"\w5. Rifles: \yon\w")
            
    }
    new 
g_snipers get_pcvar_num(g_bot_snipers)
    
    switch(
g_snipers) {
        
        case 
0formatex(szsnipers,31,"\w6. Snipers: \roff\w")
            
        case 
1:    formatex(szsnipers,31,"\w6. Snipers: \yon\w")
            
    }
    new 
g_shield get_pcvar_num(g_bot_shield)
    
    switch(
g_shield) {
        
        case 
0formatex(szshield,31,"\w7. Shield: \roff\w")
            
        case 
1:    formatex(szshield,31,"\w7. Shield: \yon\w")
            
    }
    new 
g_grenades get_pcvar_num(g_bot_grenades)
    
    switch(
g_grenades) {
        
        case 
0formatex(szgrenades,31,"\w8. Grenades: \roff\w")
            
        case 
1:    formatex(szgrenades,31,"\w8. Grenades: \yon\w")
            
    }
    
formatex(szback,31,"\w9. back\w")
    
    
formatex(menu,511,"^n^n^n\yCZ Bot Weapon Menu ^n^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n^n%s^n0. close",szpistols,szshotguns,szmachineguns,szsubmguns,szrifles,szsnipers,szshield,szgrenades,szback)
    
show_menu(id,MENU_KEYS_WEAPON,menu)
}

public 
menu_handler_weapon(id,key) {
    switch(
key) {
        case 
0:{
            new 
g_pistols get_pcvar_num(g_bot_pistols)
            
            switch(
g_pistols) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_pistols1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Pistols On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_pistols0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Pistols Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
1:{
            new 
g_shotguns get_pcvar_num(g_bot_shotguns)
            
            switch(
g_shotguns) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_shotguns1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Shotguns On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_shotguns0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Shotguns Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
2:{
            new 
g_machineguns get_pcvar_num(g_bot_machine_guns)
            
            switch(
g_machineguns) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_machine_guns1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Machine Guns On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_machine_guns0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Machine Guns Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
3:{
            new 
g_submguns get_pcvar_num(g_bot_sub_mguns)
            
            switch(
g_submguns) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_sub_mguns1)    
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Sub Machine Guns On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_sub_mguns0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Sub Machine Guns Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
4:{
            new 
g_rifles get_pcvar_num(g_bot_rifles)
            
            switch(
g_rifles) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_rifles1)    
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Rifles On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_rifles0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Rifles Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
5:{
            new 
g_snipers get_pcvar_num(g_bot_snipers)
            
            switch(
g_snipers) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_snipers1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Snipers On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_snipers0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Snipers Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
6:{
            new 
g_shield get_pcvar_num(g_bot_shield)
            
            switch(
g_shield) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_shield1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Shields On...")
                }
                case 
1: {
                    
set_pcvar_num(g_bot_shield0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Shields Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
7:{
            new 
g_grenades get_pcvar_num(g_bot_grenades)
            
            switch(
g_grenades) {
                
                case 
0: {
                    
set_pcvar_num(g_bot_grenades1)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Grenades On...")
                }
                case 
1:  {
                    
set_pcvar_num(g_bot_grenades0)
                    
CzBotPrintHudMsg(id255255255"[CZ-BOT] Grenades Off...")
                }
            }
            
czb_menu_weapon(id)
        }
        case 
8:{
            
czb_menu_czbot(id)
        }
        case 
9:{
            
show_menu(id,0,"")
        }
    }
}

/*---------------------------------------------------------------------------------------*/
/*--------------------------------- CZ Bot STOCKS ---------------------------------------*/
/*---------------------------------------------------------------------------------------*/

stock human_alive() {
    
    new 
HumansAlive 
    
    
for(new <= g_iMaxPlayers i++) {
        
        if(!
is_user_bot(i
        && !
is_user_hltv(i
        && 
is_user_alive(i)) 
        
HumansAlive++ 
    }
    return 
HumansAlive 
}

stock kill_bots() {
    
    for(new 
<= g_iMaxPlayers i++) {
        
        if(
is_user_bot(i)) {
            
            
user_kill(i,1)
        }
    }
}

stock kickbot() {
    
    new 
czbcmdkickbot[50]
    
    if(!
get_pcvar_num(g_bot_balance)) {
        
        
formatex(czbcmdkickbot49"bot_autoadd %d"get_pcvar_num(g_bot_max) -1)
        
server_cmd(czbcmdkickbot)
    }
    else {
        
formatex(czbcmdkickbot49"bot_autoadd %d"get_pcvar_num(g_bot_max) -2)
        
server_cmd(czbcmdkickbot)
    }
}

stock botadd() {
    
    new 
czbcmdaddbot[50]
    
    if(!
get_pcvar_num(g_bot_balance)) {
        
        
formatex(czbcmdaddbot49"bot_autoadd %d"get_pcvar_num(g_bot_max) +1)
        
server_cmd(czbcmdaddbot)
    }
    else {
        
formatex(czbcmdaddbot49"bot_autoadd %d"get_pcvar_num(g_bot_max) +2)
        
server_cmd(czbcmdaddbot)
    }
}

stock fillserver() {
    
    new 
g_botjointeam[4], czbcmdfill[50]
    
    
get_cvar_string("bot_join_team"g_botjointeam3)
    
    if(!
equal(g_botjointeam,"any")) {
        
        
set_cvar_string("bot_join_team","any")
    }
    if (
get_pcvar_num(g_bot_max) + g_iPlayerCounter get_pcvar_num(g_bot_maxslots)) {
        
        
formatex(czbcmdfill49"bot_autoadd %d"get_pcvar_num(g_bot_maxslots) - g_iPlayerCounter)
        
server_cmd(czbcmdfill)
    }
}

CzBotPrintHudMsg(idrgb, const msg[], {Float,Sql,Result,_}:...) {
    
    static 
message[192]
    
vformat(message191msg6)
    
    static 
index
    
    
if(id)
    {
        
index id
    

    else 
    {
        
index 0
    
}
    
set_hudmessage(rgb0.020.3__5.0__4)
    
ShowSyncHudMsg(indexg_SyncCzBot"%s"message)
}

setBotSlots(g_iMaxPlayers) {
    
    new 
num g_iMaxPlayers
    set_pcvar_num
(g_bot_maxslotsnum)
}

check_balance() {
    
    new 
iPlayerCtNumiPlayerTrroNum
    
    
for(new <= g_iMaxPlayers i++) {
        
        new 
team get_user_team(i)
        
        switch(
team) {
            
            case 
1: ++iPlayerTrroNum
                
            
case 2: ++iPlayerCtNum
                
        
}
    }
    if(
iPlayerCtNum iPlayerTrroNum 1) {
        
        for(new 
iPlayerCtNum ; ++i) {
            
            if(
is_user_bot(i) && get_user_team(i) == 2) {
                
                
server_cmd("kick #%d"get_user_userid(i))
                break
            }
        }
    }
    else if(
iPlayerTrroNum iPlayerCtNum 1) {  
        
        for(new 
iPlayerTrroNum ; ++i) {
            
            if(
is_user_bot(i) && get_user_team(i) == 1) {
                
                
server_cmd("kick #%d"get_user_userid(i))
                break
            }
        }
    }  
    
check_cvar()
    return 
PLUGIN_CONTINUE
}

check_cvar() {
    
    new 
g_botjointeam[4], czbcmdfix[50]
    
    
get_cvar_string("bot_join_team"g_botjointeam3)
    
    if(!
equal(g_botjointeam,"any")) {
        
        
set_cvar_string("bot_join_team","any")
    }
    if(
get_pcvar_num(g_bot_max) % 2) {
        
        
formatex(czbcmdfix49"bot_autoadd %d"get_pcvar_num(g_bot_max) +1)
        
server_cmd(czbcmdfix)
    }
    if (
get_pcvar_num(g_bot_max) > get_pcvar_num(g_bot_maxslots) -2) {
        
        
kickbot()
    }
    return 
PLUGIN_CONTINUE


Last edited by Arkshine; 08-23-2013 at 13:02.
MrGarfield is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 08-23-2013 , 13:04   Re: Probleme Bot
#8

Merci d'utiliser les balises de code quand tu affiches du code... Tu as un boutton bbcode pour ça. Afficher un code de 3km de long, c'est pas top.

Ensuite, je te parle de CVARS. TU N'AS PAS A TOUCHER LE CODE... C'est le but des cvars, configurer un plugin sans avoir à recompiler un plugin.

Les cvars tu les mets dans amxx.cfg, par exemple.
__________________
Arkshine is offline
MrGarfield
Senior Member
Join Date: Feb 2013
Old 08-23-2013 , 13:17   Re: Probleme Bot
#9

toutes mes excuses, je suis vraiment désole la prochaine fois je ferais attention, bon je suis super content ça fonctionne nikel.

merci beaucoup de ton aide
MrGarfield is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:17.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode