AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   French (https://forums.alliedmods.net/forumdisplay.php?f=20)
-   -   [CREATION] plugin sprint (https://forums.alliedmods.net/showthread.php?t=226280)

AreaZ 09-15-2013 19:53

[CREATION] plugin sprint
 
1 Attachment(s)
Bonjour,

Après plusieurs recherches sur le forum, et après divers tests, je n'ai pas trouvé de plugins sprint fonctionnel à 100%, donc je m'en remet à vos talents de dev.

J'ai besoin pour mon serveur paintball, d'un plugin qui permettrai que quand un joueur clique sur le bouton DROIT de la souris, le joueur courre plus vite, avec un petit son d'essouflement que je mettrais en téléchargement ci-dessous, et qu'il puisse garder l'arme qu'il a déjà en main. Faudrait aussi qu'il puisse sprinter que devant lui.

Il faudrait que le sprint du joueur se stoppe quand il a dépassé 5 secondes, et qu'il puisse de nouveau sprinter après un laps de temps.

Ce qui serait sympa, c'est d'avoir des messages d'informations qui s'affiche au centre de l'écran, un peut plus au dessus du viseur:
-> Quand le joueur sprint, écrire "Sprinting..."
-> Quand le temps de sprint est atteint, écrire "Tu ne peux plus sprinter..."
-> Quand le joueur réessaye de sprinter alors qu'il ne peut plus, écrire "Tu es trop éssouflé, patiente X secondes.."

Et si possible dans le .sma définir ces variables, pour que je puisse les modifier au besoin:
-> Temps maximum pour un sprint
-> Temps d'attente avant de pouvoir sprinter de nouveau
-> Et le precache du son

Voila, je ne sais pas si j'ai assez bien détaillé, j'espère que celui qui le codera aura assez d'informations :)

Merci d'avance !

AreaZ 09-16-2013 22:08

Re: [CREATION] plugin sprint
 
Personne de motivé ? =/

ANTICHRISTUS 09-17-2013 05:52

Re: [CREATION] plugin sprint
 
Quote:

Originally Posted by AreaZ (Post 2036085)
Personne de motivée ? =/

non :3.

bon, y a un ami qui s'est fait faire un plugin sprint, jean sait trop rien si c'est comme ta requête ou non, mais en tout cas, c’était pour un serveur paintball.
le problème c'est que cet ami a fermé le serveur il y a des mois, et le codeur qui le lui a édité/codé n'est plus vraiment actif, et hors-ligne en ce moment.
donc, je vais essayer de les contacter s'ils refont surface, sans dévoiler le nom du codeur sans son autorisation.

merci d'être patient.

AreaZ 09-17-2013 07:44

Re: [CREATION] plugin sprint
 
D'accord, je vais attendre, merci ANTICHRISTUS !

anthologie 09-24-2013 05:23

Re: [CREATION] plugin sprint
 
Salut ,
si tu cherche bien je crois qu'il existe deja sur allied .

AreaZ 09-25-2013 17:02

Re: [CREATION] plugin sprint
 
J'ai cherché, mais ils correspondent pas à ce que je cherche, ou alors il ont des bugs ^^

Sinon, toujours personne de motivée ? ^^'

ANTICHRISTUS 09-29-2013 16:04

Re: [CREATION] plugin sprint
 
l'ami n'en a pas gardé trace, sorry. je poste juste pour pas te faire patienter pour rien.

ConnorMcLeod 09-29-2013 17:22

Re: [CREATION] plugin sprint
 
Seule chose sur le fonctionnement, si on relâche avancer ou attack2 avant la fin du sprint, on doit quand même attendre le délai par défaut avant de pouvoir reprinter, ça facilitait grandement le code.

PHP Code:

#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >
#include < fun >

#pragma semicolon 1

#define PLUGIN "Sprint"
#define VERSION "0.0.1"

new const BREATHE_SOUND[] = "player/breathe.wav";

new 
g_bSprinting[33 char];
new 
Float:g_flSprintEndTime[33];
new 
Float:g_flSprintNextTime[33];

new 
g_pcvarSprintTimeg_pcvarSprintSpeedg_pcvarSprintDelay;

public 
plugin_init()
{
    
register_pluginPLUGINVERSION"ConnorMcLeod" );

    
g_pcvarSprintTime register_cvar("amx_sprint_time""5.0");
    
g_pcvarSprintDelay register_cvar("amx_sprint_delay""5.0");
    
g_pcvarSprintSpeed register_cvar("amx_sprint_maxspeed""320.0");

    
register_forward(FM_CmdStart"OnCmdStart");
    
RegisterHam(Ham_CS_Player_ResetMaxSpeed"player""OnCBasePlayer_ResetMaxSpeed_P"true);
}

public 
plugin_precache()
{
    
precache_soundBREATHE_SOUND );
}

public 
client_putinserver(id)
{
    
g_bSprinting{id} = false;
}

public 
OnCmdStart(idcmd)
{
    if( 
is_user_alive(id) )
    {
        new 
button get_uc(cmdUC_Buttons) & (IN_ATTACK2|IN_FORWARD);
        new 
Float:flTime get_gametime();
        if( 
g_bSprinting{id} )
        {
            if(    
button != (IN_ATTACK2|IN_FORWARD)
            ||    
g_flSprintEndTime[id] <= flTime      )
            {
                
g_bSprinting{id} = false;
                
ExecuteHamB(Ham_CS_Player_ResetMaxSpeedid);
                
g_flSprintNextTime[id] = flTime get_pcvar_float(g_pcvarSprintDelay);
                
Util_BarTime_f(id0.0);
                if( 
g_flSprintEndTime[id] <= flTime )
                {
                    
emit_sound(idCHAN_VOICEBREATHE_SOUNDVOL_NORMATTN_NORM0PITCH_NORM);
                }
            }
        }
        else if( 
button == (IN_ATTACK2|IN_FORWARD) && get_user_maxspeed(id) != 1.0 )
        {
            if( 
g_flSprintNextTime[id] <= flTime )
            {
                
g_bSprinting{id} = true;
                new 
Float:flSprintTime get_pcvar_float(g_pcvarSprintTime);
                
g_flSprintEndTime[id] = flTime flSprintTime;
                
set_user_maxspeed(idget_pcvar_float(g_pcvarSprintSpeed));
                
Util_BarTime_f(idflSprintTime);
            }
            else
            {
                
client_print(idprint_center"Tu dois attendre %.1f secondes"g_flSprintNextTime[id] - flTime);
            }
        }
    }
}

public 
OnCBasePlayer_ResetMaxSpeed_Pid )
{
    if( 
g_bSprinting{id} && is_user_alive(id) && get_user_maxspeed(id) != 1.0 )
    {
        
set_user_maxspeed(idget_pcvar_float(g_pcvarSprintSpeed));
    }
}

Util_BarTime_f(idFloat:flTime 0.0)
{
    if( 
flTime < -0.0 )
    {
        return;
    }

    static 
msgBarTime2 0;
    if( !
msgBarTime2 )
    {
        
msgBarTime2 get_user_msgid("BarTime2");
    }

    new 
iSeconds floatround(flTimefloatround_ceil);

    
message_begin(id MSG_ONE MSG_ALLmsgBarTime2_id);
    
write_shortiSeconds );
    
write_short100 floatround( (flTimeiSeconds ) * 100 ) );
    
message_end();




All times are GMT -4. The time now is 04:25.

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