Raised This Month: $ Target: $400
 0% 

Probleme avec un plugin de classe.


  
 
 
Thread Tools Display Modes
Author Message
xXx_Bart_xXx
Member
Join Date: Nov 2010
Old 08-17-2011 , 04:54   Probleme avec un plugin de classe.
#1

Salut a tous, je rencontre actuellement un probleme au niveau d'un plugin.
C'est un plugin pour choisir sa classe en ct ou terro. Le seul probleme,
c'est que je voudrais mettre des couleurs avec l'include "chatcolor".
J'ai bien mis chatcolor.inc dans le dossier include, chatcolor.amxx dans plugin, et chatcolor.amxx dans plugin.ini.

J'ai essayé de mettre des couleurs mais sans succès.
PS: j'ai oublié de préciser que ces couleurs sont dans un .sma.

----------

Autre probleme: je voudrais mettre une phrase qui s'affiche des que le ct ou terro a choisi sa classe.
"Tu es maintenant Kamikaze/Gardiens" ou autre...

----------

Voici le .sma:

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <chatcolor>
 
#define OFFSET_PRIMARYWEAPON 116
#define XTRA_OFS_PLAYER 5
 
#define MAX_PLAYERS 32
new bool:g_HasWeapons[MAX_PLAYERS+1]
new 
bool:g_SaveWeapons[MAX_PLAYERS+1]
new 
g_PlayerSavedWeapons[MAX_PLAYERS+1]
 
public 
plugin_init()
{
// Plugin Info
register_plugin("Furiens Weapons""1.1""Fr33m@n")
 
RegisterHam(Ham_Spawn"player""Ham_Player_Spawn_Post"true)
 
register_clcmd("say /guns""fn_guns")
register_clcmd("say guns""fn_guns")
register_clcmd("guns""fn_guns")
}
 
public 
client_connect(id)
{
g_SaveWeapons[id] = false
g_PlayerSavedWeapons
[id] = 0
g_HasWeapons
[id] = false
}
 
public 
Ham_Player_Spawn_Post(id)
{
if ( 
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT )
{
strip_player_weapons(id)
g_HasWeapons[id] = false
 
new idWeapons g_PlayerSavedWeapons[id]
if ( 
g_SaveWeapons[id] && idWeapons )
{
give_weapons(ididWeapons)
}
else
{
g_PlayerSavedWeapons[id] = 0
weapons_menu
(id)
}
}
}
public 
fn_guns(id)
{
if ( 
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !g_HasWeapons[id] )
{
weapons_menu(id)
}
else if ( 
g_SaveWeapons[id] && g_PlayerSavedWeapons[id] > )
{
g_SaveWeapons[id] = false
g_PlayerSavedWeapons
[id] = 0
 
client_print
(idprint_chat"[Furien] Le menu d'equipement sera reactive au prochain spawn en ct.")
}
}
 
weapons_menu(id)
{
new 
menu menu_create("\yChoisis ton equipement:""WeaponMenu_Callback")
menu_additem(menu"Gardiens. ^4 [M4A1]""1")
menu_additem(menu"Troupes d'assaut. ^3 [AK47]""2")
menu_additem(menu"Rusher fou. ^1 [MP5]""3")
menu_additem(menu"Tireur d'elite. [AWP]""4")
menu_additem(menu"Bourrin. [M249]""5")
menu_addblank(menu0)
new 
szItem[64]
formatex(szItemcharsmax(szItem), "Sauvegarder l'equipement ? %s", !g_SaveWeapons[id] ? "\dNon." "Oui.")
menu_additem(menuszItem"6")
menu_setprop(menuMPROP_NUMBER_COLOR"\w")
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
 
menu_display(idmenu)
}
 
public 
WeaponMenu_Callback(idmenuitem)
{
if ( !
is_user_alive(id) || cs_get_user_team(id) != CS_TEAM_CT )
{
menu_destroy(menu)
return 
PLUGIN_HANDLED
}
 
new 
info[3]
new 
accesscallback
menu_item_getinfo
(menuitemaccessinfo2__callback)
 
if ( 
info[0] == '6' )
{
if ( !
g_SaveWeapons[id] )
{
g_SaveWeapons[id] = true
}
else
{
g_SaveWeapons[id] = false
}
weapons_menu(id)
 
menu_destroy(menu)
return 
PLUGIN_HANDLED
}
 
new 
iKey str_to_num(info)
strip_player_weapons(id)
 
give_weapons(idiKey)
if ( 
g_SaveWeapons[id] )
{
g_PlayerSavedWeapons[id] = iKey
client_print
(idprint_chat"[Furiens] Taper ^"guns^" si vous voulez reactiver le menu d'equipement.")
}
menu_destroy(menu)
return 
PLUGIN_HANDLED
}
 
give_weapons(idiNum)
{
switch(
iNum)
{
case 
1:
{
give_item(id"weapon_deagle")
cs_set_user_bpammo(idCSW_DEAGLE35)
give_item(id"weapon_m4a1")
cs_set_user_bpammo(idCSW_M4A160)
cs_set_user_armor(id100CS_ARMOR_VESTHELM)
}
case 
2:
{
give_item(id"weapon_deagle")
cs_set_user_bpammo(idCSW_DEAGLE35)
 
give_item(id"weapon_ak47")
cs_set_user_bpammo(idCSW_AK4760)
cs_set_user_armor(id100CS_ARMOR_VESTHELM)
}
case 
3:
{
give_item(id"weapon_deagle")
cs_set_user_bpammo(idCSW_DEAGLE35)
 
give_item(id"weapon_mp5navy")
cs_set_user_bpammo(idCSW_MP5NAVY60)
 
cs_set_user_armor(id100CS_ARMOR_VESTHELM)
}
case 
4:
{
give_item(id"weapon_deagle")
cs_set_user_bpammo(idCSW_DEAGLE35)
 
give_item(id"weapon_awp")
cs_set_user_bpammo(idCSW_AWP15)
cs_set_user_armor(id100CS_ARMOR_VESTHELM)
}
case 
5:
{
give_item(id"weapon_deagle")
cs_set_user_bpammo(idCSW_DEAGLE35)
 
give_item(id"weapon_m249")
cs_set_user_bpammo(idCSW_M249100)
 
cs_set_user_armor(id100CS_ARMOR_VESTHELM)
}
}
g_HasWeapons[id] = true
}
 
strip_player_weapons(id)
{
strip_user_weapons(id)
set_pdata_int(idOFFSET_PRIMARYWEAPONfalseXTRA_OFS_PLAYER)


J'ai essayé de mettre des coulerus a l'm4, l'ak et la mp5.
J'ai aussi essayé !t , !g /w , /d ^1 , ^3
Aucune de ces 3 manieres fonctionne. Aurais-je fait une erreur ?
Je demande un peu d'aide. Merci d'avance a toute reponse.

Last edited by xXx_Bart_xXx; 08-17-2011 at 05:44.
xXx_Bart_xXx is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 08-17-2011 , 05:27   Re: Probleme avec un plugin de classe.
#2

1) Met moi tout ça dans les balises [php]
2) As-tu pris l'include "stock"? -> http://forums.alliedmods.net/showpos...2&postcount=90
3) Tu dois utiliser cette native pour utiliser ^1, ^3 et ^4:
PHP Code:
client_print_color(idiColor=DontChange, const szMsg[], any:...); 
4) Switch plutôt sur "item" (qui commence à 0 et non a 1 comme "key")
__________________

Last edited by Kidev; 08-17-2011 at 05:34.
Kidev is offline
xXx_Bart_xXx
Member
Join Date: Nov 2010
Old 08-17-2011 , 05:49   Re: Probleme avec un plugin de classe.
#3

1) Fait.
2) Oui.
3) Fait.
4) Je ne comprneds pas.
Resultat mon menu fonctionne mais pas les couleurs.
xXx_Bart_xXx is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 08-17-2011 , 06:00   Re: Probleme avec un plugin de classe.
#4

Essaies ça:
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <chatcolor>
 
#define OFFSET_PRIMARYWEAPON 116
#define XTRA_OFS_PLAYER 5
 
#define MAX_PLAYERS 32

#pragma semicolon 1

new bool:g_HasWeapons[MAX_PLAYERS+1];
new 
bool:g_SaveWeapons[MAX_PLAYERS+1];
new 
g_PlayerSavedWeapons[MAX_PLAYERS+1];
 
public 
plugin_init()
{
    
register_plugin("Furiens Weapons""1.1""Fr33m@n");
     
    
RegisterHam(Ham_Spawn"player""Ham_Player_Spawn_Post"true);
     
    
register_clcmd("say /guns""fn_guns");
    
register_clcmd("say guns""fn_guns");
    
register_clcmd("guns""fn_guns");
}
 
public 
client_connect(id)
{
    
g_SaveWeapons[id] = false;
    
g_PlayerSavedWeapons[id] = 0;
    
g_HasWeapons[id] = false;
}
 
public 
Ham_Player_Spawn_Post(id)
{
    if ( 
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT )
    {
        
strip_player_weapons(id);
        
g_HasWeapons[id] = false;
         
        new 
idWeapons g_PlayerSavedWeapons[id];
        if ( 
g_SaveWeapons[id] && idWeapons )
        {
            
give_weapons(ididWeapons);
        }
        else
        {
            
g_PlayerSavedWeapons[id] = 0;
            
weapons_menu(id);
        }
    }
}

public 
fn_guns(id)
{
    if ( 
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && !g_HasWeapons[id] )
    {
        
weapons_menu(id);
    }
    else if ( 
g_SaveWeapons[id] && g_PlayerSavedWeapons[id] > )
    {
        
g_SaveWeapons[id] = false;
        
g_PlayerSavedWeapons[id] = 0;
         
        
client_print_color(idDontChange"^4[Furien] ^1Le menu d'equipement sera reactive au prochain spawn en ct.");
    }
}
 
weapons_menu(id)
{
    new 
menu menu_create("\yChoisis ton equipement:""WeaponMenu_Callback");
    
menu_additem(menu"Gardiens \r[M4A1]""0");
    
menu_additem(menu"Troupes d'assaut \r[AK47]""1");
    
menu_additem(menu"Rusher fou \r[MP5]""2");
    
menu_additem(menu"Tireur d'elite \r[AWP]""3");
    
menu_additem(menu"Bourrin \r[M249]""4");
    
menu_addblank(menu0);
    new 
szItem[64];
    
formatex(szItemcharsmax(szItem), "Sauvegarder l'equipement ? %s", !g_SaveWeapons[id] ? "\dNon." "Oui.");
    
menu_additem(menuszItem"5");
    
menu_setprop(menuMPROP_NUMBER_COLOR"\w");
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
     
    
menu_display(idmenu);
}
 
public 
WeaponMenu_Callback(idmenuitem)
{
    if ( !
is_user_alive(id) || cs_get_user_team(id) != CS_TEAM_CT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
     
    if ( 
item == )
    {
        if ( !
g_SaveWeapons[id] )
        {
            
g_SaveWeapons[id] = true;
        }
        else
        {
            
g_SaveWeapons[id] = false;
        }
        
weapons_menu(id);
         
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    
strip_player_weapons(id);
    
give_weapons(iditem);
    if ( 
g_SaveWeapons[id] )
    {
        
g_PlayerSavedWeapons[id] = item;
        
client_print_color(idDontChange"^4[Furiens] ^1Tapez ^3^"guns^" ^1si vous voulez reactiver le menu d'equipement.");
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
 
give_weapons(idiNum)
{
    switch(
iNum)
    {
        case 
0:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE35);
            
give_item(id"weapon_m4a1");
            
cs_set_user_bpammo(idCSW_M4A160);
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
        }
        case 
1:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE35);
             
            
give_item(id"weapon_ak47");
            
cs_set_user_bpammo(idCSW_AK4760);
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
        }
        case 
2:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE35);
             
            
give_item(id"weapon_mp5navy");
            
cs_set_user_bpammo(idCSW_MP5NAVY60);
             
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
        }
        case 
3:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE35);
             
            
give_item(id"weapon_awp");
            
cs_set_user_bpammo(idCSW_AWP15);
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
        }
        case 
4:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE35);
             
            
give_item(id"weapon_m249");
            
cs_set_user_bpammo(idCSW_M249100);
             
            
cs_set_user_armor(id100CS_ARMOR_VESTHELM);
        }
    }
    
g_HasWeapons[id] = true;
}
 
strip_player_weapons(id)
{
    
strip_user_weapons(id);
    
set_pdata_int(idOFFSET_PRIMARYWEAPONfalseXTRA_OFS_PLAYER);

EDIT: Je viens de comprendre que tu n'as rien compris. Colorchat ne marche QUE dans le chat, pas dans les menu Pour colorer les menus, tu dois compiler en local et utiliser:
PHP Code:
\rouge
\blanc
\jaune 
PS: J'ai utilisé le Colorchat pour colorer tes messages dans le chat et j'ai coloré ton menu (en mettant le nom des armes en rouge).
__________________

Last edited by Kidev; 08-17-2011 at 06:10.
Kidev is offline
xXx_Bart_xXx
Member
Join Date: Nov 2010
Old 08-17-2011 , 06:17   Re: Probleme avec un plugin de classe.
#5

Il y a une erreur, je cite

<< error 001:excepted token: ";" , but found "new" >>
xXx_Bart_xXx is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 08-17-2011 , 06:24   Re: Probleme avec un plugin de classe.
#6

Je n'ai aucune erreur. Compile en local [ http://forums.alliedmods.net/showthread.php?t=146805 ] ou retire:
PHP Code:
#pragma semicolon 1 
Mais bon, c'est moins propre, et en C, il faut les semicolon ;)
__________________
Kidev is offline
xXx_Bart_xXx
Member
Join Date: Nov 2010
Old 08-17-2011 , 06:38   Re: Probleme avec un plugin de classe.
#7

Compilation reussite.

Seul point negatif, il fait planter tout mon AMX.

Unknow command amxmodmenu ...
xXx_Bart_xXx is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 08-17-2011 , 06:46   Re: Probleme avec un plugin de classe.
#8

Je vais tester, 2mn.

EDIT: Ca marche sans problèmes chez moi, et j'ai toujours mon amxmodmenu... Essaye de reboot ton serveur?
__________________

Last edited by Kidev; 08-17-2011 at 06:50.
Kidev is offline
xXx_Bart_xXx
Member
Join Date: Nov 2010
Old 08-17-2011 , 09:13   Re: Probleme avec un plugin de classe.
#9

Reboot effecuté, toujours pareil.

PS: je vais voir si j'ai tout bien fait parce que sa semble bizarre.


EDIT: Sa fonctionne j'ai remplacé 0 par 1, etc..

Mais il me manque encore un truc^^.

Par exemple des que le joueur a choisi sa classe sa doit etre ecrit vous avez pris machin ...

Last edited by xXx_Bart_xXx; 08-17-2011 at 09:56.
xXx_Bart_xXx is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 08-17-2011 , 11:40   Re: Probleme avec un plugin de classe.
#10

Envoie ce que tu as fait?
__________________
Kidev 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 16:35.


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