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

[Demande] Deux plugins


  
 
 
Thread Tools Display Modes
Author Message
papalicano
Member
Join Date: Jun 2011
Old 04-28-2012 , 07:15   [Demande] Deux plugins
#1

Bonjour,

Je poste aujourd'hui un message (pour à nouveau) une demande de deux plugins qui auront les fonctions suivantes :
#Plugin 1 :
-Lorsque les joueurs rejoignent le serveur 1 seule personne va terroriste et les autres vont antiterroristes.
-Impossible en revenant sur le serveur (retry) d'aller terroriste.

J'avais trouvé ça : http://forums.alliedmods.net/showthr...t=Team+Limiter
Mais le Terroriste respawn en bug map ainsi que : http://forums.alliedmods.net/showthread.php?p=438587 ; mais aucun de ces plugins correspondent à mes attentes .

#Plugin 2 :
- Lorsque le Terroriste s'approche des CTs un son se lance en .wav.

P.S : Il n'y a qu'un seule Terroriste dans la partie.

Si vous souhaitez plus d'explications je suis disposé à vous répondre !

Cordialement ,
papalicano is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 04-28-2012 , 14:08   Re: [Demande] Deux plugins
#2

#1 : Essayes Team Ratio (d'Exolent, aussi).

#2
- Le son se joue seulement pour le CT, pour le terroriste, pour les deux ou bien pour tout ceux qui sont aux alentours ?
- Le son se joue à chaque fois qu'un terroriste s'approche d'un CT, ou juste une fois dans le round ?
__________________
You can do anything you set your mind to, man.

Devil259 is offline
papalicano
Member
Join Date: Jun 2011
Old 04-28-2012 , 16:23   Re: [Demande] Deux plugins
#3

#1 : Merci, j'ai mis ce-ci dans mon server.cfg :
Quote:
tr_ratio 14

tr_advantage 2

tr_autojoin 2
[EDIT]
Mais cela ne marche pas comme je le souhaite.

#2 :
-Le son se joue uniquement pour les CTs
-Le son se joue à chaque fois qu'un terroriste s'approche d'un CT

Cordialement,

Last edited by papalicano; 04-28-2012 at 19:25.
papalicano is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 04-29-2012 , 05:15   Re: [Demande] Deux plugins
#4

#1 As-tu redémarrer ton serveur, et pas juste changer de map ? Car, par défaut, mapchangecfgfile est réglé sur amxx.cfg, et non server.cfg. Si non, essayes de redémarrer ton serveur, ou d'entrer ces cvars dans la console directement.

#2 Tiens tu peux essayer ça, et modifier le chemin/nom du sound si tu le souhaites :

Code:
#include < amxmodx > #include < fakemeta > #include < engine > #include < hamsandwich > #define MIN_DISTANCE 30 new bool:gAlive[ 33 ], bool:gSoundPlayed[ 33 ]; new gTerrorist; new g_pCvarDistance, g_iDistance; new const gszSound[ ] = "misc/warning.wav"; public plugin_precache( ) {     precache_sound( gszSound ); } public plugin_init( ) {     RegisterHam( Ham_Spawn, "player", "hamPlayerSpawnPost", 1 );     RegisterHam( Ham_Killed, "player", "hamPlayerKilledPost", 1 );         register_forward( FM_PlayerPreThink, "fmPlayerPreThink" );         register_event( "HLTV", "CacheVars", "a", "1=0", "2=0" );         g_pCvarDistance = register_cvar( "amx_distance", "250" ); } public hamPlayerSpawnPost( id ) {     if( is_user_alive( id ) )     {         gAlive[ id ] = true;             if( get_pdata_int( id, 114, 5 ) == 1 )         {             gTerrorist = id;         }     } } public hamPlayerKilledPost( id ) {     gAlive[ id ] = false; } public fmPlayerPreThink( id ) {     if( id != gTerrorist && !gSoundPlayed[ id ] && gAlive[ id ] && gAlive[ gTerrorist ] )     {         if( entity_range( id, gTerrorist ) <= g_iDistance )         {             client_cmd( id, "spk %s", gszSound );             gSoundPlayed[ id ] = true;         }     } } public CacheVars( ) {     g_iDistance = get_pcvar_num( g_pCvarDistance );     if( g_iDistance < 0 )         g_iDistance = MIN_DISTANCE;             arrayset( gSoundPlayed, false, sizeof( gSoundPlayed ) ); }
__________________
You can do anything you set your mind to, man.


Last edited by Devil259; 04-29-2012 at 05:18.
Devil259 is offline
papalicano
Member
Join Date: Jun 2011
Old 04-29-2012 , 13:44   Re: [Demande] Deux plugins
#5

#1 : J'ai redémarre mon serveur et on peut rejoindre le terroriste après un retry.
Les quelles cvars seraient favorables?

#2 : Parfois le son ne s'active pas, qu'elle distance serait favorable pour entendre le son d'un peu plus loin (une distance à peu prêt égale a la distance du son des bruits de pas)

[EDIT]

La distance à 1000 est parfaite merci !

Donc pour que le son se joue plusieurs fois, comment le plugin doit-être?

Last edited by papalicano; 04-29-2012 at 15:07. Reason: Plugin #2 résolu !
papalicano is offline
Old 04-29-2012, 14:10
Kidev
This message has been deleted by Kidev.
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 04-29-2012 , 15:37   Re: [Demande] Deux plugins
#6

Voilà j'ai ça, ça ne marche pas si le terro est un bot par contre.

Tu peux configurer en changeant:
PHP Code:
DISTANCE 1000.0 // Distance entre le T et le CT maximale en units
CHECK_TIME 1.0 // Temps entre chaque check en secondes (moins c'est abusé)
SOUND "buttons/blip1.wav" // Son joué quand les conditions sont vérifiées. Doit être un .wav mono 
PHP Code:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >

#define DISTANCE 1000.0
#define CHECK_TIME 1.0
#define SOUND "buttons/blip1.wav"

new gBitCanPlaySound;
new 
gBitIsAlive;
new 
gTerrorist;

#define SetUserCanPlay(%1)        gBitCanPlaySound |=    ( 1 << ( %1 & 31 ) )
#define ClearUserCanPlay(%1)    gBitCanPlaySound &=    ( ~( 1 << ( %1&31 ) ) )
#define CanPlay(%1)                gBitCanPlaySound &    ( 1 << ( %1 & 31 ) )

#define SetUserAlive(%1)        gBitIsAlive |=    ( 1 << ( %1 & 31 ) )
#define ClearUserAlive(%1)        gBitIsAlive &=    ( ~( 1 << ( %1&31 ) ) )
#define IsUserAlive(%1)            gBitIsAlive &    ( 1 << ( %1 & 31 ) )

public plugin_init( )
{
    
RegisterHamHam_Spawn"player""hamPlayerSpawnPost");
    
RegisterHamHam_Killed"player""hamPlayerKilledPost");

    new 
iEnt;
    do
    {
        
iEnt create_entity"info_target" );
    } while ( !
is_valid_entiEnt ) );
    
entity_set_stringiEntEV_SZ_classname"radiusEntity" );
    
entity_set_floatiEntEV_FL_nextthinkget_gametime( ) + CHECK_TIME );
    
register_think"radiusEntity""checkRadius" );
}

public 
plugin_precache( )
{
    
precache_soundSOUND );
}

public 
hamPlayerSpawnPostid )
{
    if ( 
is_user_aliveid ) )
    {
        
SetUserAliveid );
        
SetUserCanPlayid );
        if ( 
get_user_teamid ) == )
        {
            
gTerrorist id;
        }
    }
}

public 
hamPlayerKilledPostid )
{
    
ClearUserAliveid );
    
ClearUserCanPlayid );
}

public 
checkRadiusiEnt )
{
    static 
iPlayers32 ], iNumidi;
    new 
Float:flDistance;
    
get_playersiPlayersiNum"ae""CT" );

    if ( 
IsUserAlivegTerrorist ) )
    {
        for ( 
0iNumi++ )
        {
            
id iPlayers];
            if ( ( 
flDistance entity_rangeidgTerrorist ) ) <= DISTANCE && CanPlayid ) )
            {
                
ClearUserCanPlayid );
                
client_cmdid"spk %s"SOUND );
            }
            else
            {
                
SetUserCanPlayid );
            }
        }
    }
    else
    {
        
gTerrorist 0;
    }
    
entity_set_floatiEntEV_FL_nextthinkget_gametime( ) + CHECK_TIME );

__________________

Last edited by Kidev; 04-29-2012 at 15:48.
Kidev is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 04-29-2012 , 16:04   Re: [Demande] Deux plugins
#7

Quel est l'intérêt de créer une variable flDistance alors que tu ne la réutilises pas ?
__________________
You can do anything you set your mind to, man.

Devil259 is offline
papalicano
Member
Join Date: Jun 2011
Old 04-29-2012 , 16:50   Re: [Demande] Deux plugins
#8

Le son n'a pas le temps de se terminer que le son se relance, pourriez-vous régler se problème?
papalicano is offline
.Dare Devil.
Veteran Member
Join Date: Sep 2010
Old 04-29-2012 , 17:29   Re: [Demande] Deux plugins
#9

Quote:
Originally Posted by papalicano View Post
Le son n'a pas le temps de se terminer que le son se relance, pourriez-vous régler se problème?
PHP Code:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >

#define DISTANCE 1000.0
#define CHECK_TIME 1.0
#define SOUNDPLAY_TIME 5.0
#define SOUND "buttons/blip1.wav"

new gBitCanPlaySound;
new 
gBitIsAlive;
new 
gTerrorist;
new 
Float:gsoundtime[33]

#define SetUserCanPlay(%1)        gBitCanPlaySound |=    ( 1 << ( %1 & 31 ) )
#define ClearUserCanPlay(%1)    gBitCanPlaySound &=    ( ~( 1 << ( %1&31 ) ) )
#define CanPlay(%1)                gBitCanPlaySound &    ( 1 << ( %1 & 31 ) )

#define SetUserAlive(%1)        gBitIsAlive |=    ( 1 << ( %1 & 31 ) )
#define ClearUserAlive(%1)        gBitIsAlive &=    ( ~( 1 << ( %1&31 ) ) )
#define IsUserAlive(%1)            gBitIsAlive &    ( 1 << ( %1 & 31 ) )

public plugin_init( )
{
    
RegisterHamHam_Spawn"player""hamPlayerSpawnPost");
    
RegisterHamHam_Killed"player""hamPlayerKilledPost");

    new 
iEnt;
    do
    {
        
iEnt create_entity"info_target" );
    } while ( !
is_valid_entiEnt ) );
    
entity_set_stringiEntEV_SZ_classname"radiusEntity" );
    
entity_set_floatiEntEV_FL_nextthinkget_gametime( ) + CHECK_TIME );
    
register_think"radiusEntity""checkRadius" );
}

public 
plugin_precache( )
{
    
precache_soundSOUND );
}

public 
hamPlayerSpawnPostid )
{
    if ( 
is_user_aliveid ) )
    {
        
SetUserAliveid );
        
SetUserCanPlayid );
        if ( 
get_user_teamid ) == )
        {
            
gTerrorist id;
        }
    }
}

public 
hamPlayerKilledPostid )
{
    
ClearUserAliveid );
    
ClearUserCanPlayid );
}

public 
checkRadiusiEnt )
{
    static 
iPlayers32 ], iNumidi;
    new 
Float:flDistance;
    
get_playersiPlayersiNum"ae""CT" );

    if ( 
IsUserAlivegTerrorist ) )
    {
        for ( 
0iNumi++ )
        {
            
id iPlayers];
            if ( ( 
flDistance entity_rangeidgTerrorist ) ) <= DISTANCE && CanPlayid ) )
            {
                if(
gsoundtime[id] < get_gametime())
                {
                    
ClearUserCanPlayid ); // Qu'est-ce que c'est?
                    
client_cmdid"spk %s"SOUND );
                    
gsoundtime[id] = get_gametime() + SOUNDPLAY_TIME
                
}
            }
            else
            {
                
SetUserCanPlayid );
            }
        }
    }
    else
    {
        
gTerrorist 0;
    }
    
entity_set_floatiEntEV_FL_nextthinkget_gametime( ) + CHECK_TIME );

.Dare Devil. is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 04-30-2012 , 02:57   Re: [Demande] Deux plugins
#10

Quote:
Originally Posted by Devil259 View Post
Quel est l'intérêt de créer une variable flDistance alors que tu ne la réutilises pas ?
J'ai oublié de la retirer après le test.

Et si le son se relance c'est que le joueur sort et ré-entre dans le radius. Je vais corriger ça, pas besoin du gametime (surtout que tu l'utilise 3x et que tu le cache pas) pour ça ^^
__________________

Last edited by Kidev; 04-30-2012 at 03:06.
Kidev is offline
 


Thread Tools
Display Modes

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 02:09.


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