Correr como en Call of Duty
#1
Buenas, estoy buscando un plugin o alguien que me ayude con un plugin que cambie la tecla SHIFT de caminar a correr como en Call of Duty, he visto en algunos MODs de CS 1.6 que hacen esto, al correr el arma se mueve y el jugador corre por unos segundos antes de agotarse. espero puedan ayudarme con esto y gracias de antemano.

PD: hice varias busquedas en el foro con diferentes palabras pero no consegui nada relacionado. (o no lo vi).
Responder
#2
Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva


Archivos adjuntos
.sma   Descargar AMXX / sprint.sma (Tamaño: 3.58 KB / Descargas: 146)
Responder
#3
(19/03/2018, 10:14 PM)RiSpEK-.S escribió: Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva

Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.
Responder
#4
(19/03/2018, 10:40 PM)firefox24680 escribió:
(19/03/2018, 10:14 PM)RiSpEK-.S escribió: Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva

Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.

Código PHP:
new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
creo que eso se modifica para correr mas rápido creo!
la velocidad de dentista arma

ejemplo entre mas pesada el arma mas lento corres

algo asi xd pero no estoi seguro por que yo no se mucho de pawn
estoi aprendiendo como todo user novato
Responder
#5
(19/03/2018, 11:00 PM)RiSpEK-.S escribió:
(19/03/2018, 10:40 PM)firefox24680 escribió:
(19/03/2018, 10:14 PM)RiSpEK-.S escribió: Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva

Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.

Código PHP:
new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
creo que eso se modifica para correr mas rápido creo!
la velocidad de dentista arma

ejemplo entre mas pesada el arma mas lento corres

algo asi xd pero no estoi seguro por que yo no se mucho de pawn
estoi aprendiendo como todo user novato

jejeje estamos en las mismas, bueno sera a modo de ensayo y error, cuando lo resuelva posteare la solucion... gracias
Responder
#6
(19/03/2018, 11:09 PM)firefox24680 escribió:
(19/03/2018, 11:00 PM)RiSpEK-.S escribió:
(19/03/2018, 10:40 PM)firefox24680 escribió:
(19/03/2018, 10:14 PM)RiSpEK-.S escribió: Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva

Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.

Código PHP:
new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
creo que eso se modifica para correr mas rápido creo!
la velocidad de dentista arma

ejemplo entre mas pesada el arma mas lento corres

algo asi xd pero no estoi seguro por que yo no se mucho de pawn
estoi aprendiendo como todo user novato

jejeje estamos en las mismas, bueno sera a modo de ensayo y error, cuando lo resuelva posteare la solucion... gracias
GRACIAS IGUAL XD
Responder
#7
(19/03/2018, 11:16 PM)RiSpEK-.S escribió:
(19/03/2018, 11:09 PM)firefox24680 escribió:
(19/03/2018, 11:00 PM)RiSpEK-.S escribió:
(19/03/2018, 10:40 PM)firefox24680 escribió:
(19/03/2018, 10:14 PM)RiSpEK-.S escribió: Lo que encontre espero que te funcione

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich> //no dobra na jeden register includuje kanapke ale nie chce mi sie grzebac w fake wybaczycie prawda ;P ?

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"


new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
};

new 
Float:gfPitch[33];
new 
Float:gfYaw[33];

new 
Float:gfMoveOffset[33][2];
new 
giMoves[33];
new 
bool:gFast[33];
new 
gZmeczenie[33];

//pcvary
new pSpeed,pZmeczenie;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pSpeed register_cvar("sprint_szybkosc","60.0")
    
pZmeczenie register_cvar("sprint_zmeczenie","5");
    
    
register_forward(FM_PlayerPreThink"fwPreThink");
    
register_forward(FM_UpdateClientData"UpdateClientData_Post"1
    
    
RegisterHam(Ham_Spawn,"player","spawned",1)
    
    
register_event("CurWeapon","CurWeapon","be""1=1");
    
    
register_clcmd("+fast_run","startMove")
    
register_clcmd("-fast_run","stopMove")
}

public 
client_connect(id)
    
client_cmd(id,"bind shift +fast_run");

public 
startMove(id){
    if(!
gFast[id] && is_user_alive(id) && cs_get_user_zoom(id) == CS_SET_NO_ZOOM){
        
gfPitch[id] = gfYaw[id] = 0.0;
        
moveTo(id0.020.0);
        
gFast[id] = true;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        
remove_task(id)
        
set_task(0.1,"addZmeczenie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

public 
stopMove(id){
    if(
gFast[id] && is_user_alive(id)){
        
moveTo(id0.00.0);
        
gFast[id] = false;
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]);
        
remove_task(id)
        
set_task(0.2,"odejZmecznie",id,_,_,"b")
    }
    return 
PLUGIN_HANDLED
}

moveTo(idFloat:fPitchFloat:fYawmoves=30){
    
gfMoveOffset[id][0] = (fPitch gfPitch[id])/moves;
    
gfMoveOffset[id][1] = (fYaw gfYaw[id])/moves;
    
giMoves[id] = moves;
}

public 
fwPreThink(id){
    if(!
is_user_alive(id)) return;
    
    if(
gFast[id]){
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK
        
set_pev(idpev_buttonpev(id,pev_button) & ~IN_ATTACK2
        if(
gZmeczenie[id] >= get_pcvar_num(pZmeczenie)*10){
            
stopMove(id);
        }
    }

    if(
giMoves[id] > 0){
        
giMoves[id]--;
        
gfPitch[id] += gfMoveOffset[id][0];
        
gfYaw[id] += gfMoveOffset[id][1];
        
engfunc(EngFunc_CrosshairAngleidgfPitch[id], gfYaw[id]);
    }
}


public 
spawned(id){
    if(
is_user_alive(id)){
        
gZmeczenie[id] = 0;
    }
}

public 
addZmeczenie(id){
    
gZmeczenie[id]++;
}

public 
odejZmecznie(id){
    if(
gZmeczenie[id] > 0){
        
gZmeczenie[id]--;
    }
}

public 
UpdateClientData_Post(idsendweaponscd_handle

    
    if(!
is_user_alive(id)){ 
        return 
FMRES_IGNORED
    
}
    
    if(
gFast[id]){
        
set_cd(cd_handleCD_ID0
        return 
FMRES_HANDLED 
    
}     
    
    return 
FMRES_IGNORED
}  

public 
CurWeapon(id)
{
    if(!
is_user_alive(id)){
        return 
PLUGIN_CONTINUE;
    }
    
    static 
iOldWeap[33];
    
    new 
weapon read_data(2);
    
    
    if(
gFast[id] && iOldWeap[id] != weapon){
        new 
szName[64];
        
get_weaponname(iOldWeap[id],szName,charsmax(szName));
        
engclient_cmd(id,szName);
        
engfunc(EngFunc_SetClientMaxspeedidg_fWeaponsSpeed[get_user_weapon(id)]+get_pcvar_float(pSpeed));
        return 
PLUGIN_CONTINUE;
    }
    
    
iOldWeap[id] = weapon;
    return 
PLUGIN_CONTINUE;

Aqui el sma y el amxx

espero que te sirva

Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.

Código PHP:
new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
creo que eso se modifica para correr mas rápido creo!
la velocidad de dentista arma

ejemplo entre mas pesada el arma mas lento corres

algo asi xd pero no estoi seguro por que yo no se mucho de pawn
estoi aprendiendo como todo user novato

jejeje estamos en las mismas, bueno sera a modo de ensayo y error, cuando lo resuelva posteare la solucion... gracias
GRACIAS IGUAL XD

Bueno a fuerza de ensayo y error pude darme cuenta que la aceleracion estaba, pero era minima, por lo que modifique la velocidad maxima y ahora si se nota que esta corriendo, aparte de eso, agregue, gracias a que se algo de programacion (no este lenguaje peri si java, porque de resto tendria que haber llamado al mago Merlin para que me ayudara) el sonido de respiracion cansada cuando termina de correr, lo que le da mas realismo, y era lo que buscaba, ahora estoy tratando de activar la animacion del arma, que hasta ahora aun ando sin tener la mas minima idea de como hacerlo... creo que creare otro hilo, ya que es algo diferente a este. cuando tenga el plugin listo lo subire.
Responder
#8
(20/03/2018, 03:56 PM)firefox24680 escribió:
(19/03/2018, 11:16 PM)RiSpEK-.S escribió:
(19/03/2018, 11:09 PM)firefox24680 escribió:
(19/03/2018, 11:00 PM)RiSpEK-.S escribió:
(19/03/2018, 10:40 PM)firefox24680 escribió: Excelente amigo, es "casi" exactamente lo que estaba buscando, al presionar shift se activa la animacion del arma como si estuviera corriendo (que es en lo que estoy trabajando, para un pack de armas).
Solo hay un detallito, "no acelera" se mantiene en la misma velocidad mientras dura la accion o mientras presiono la tecla shift... podrias, si esta a tu alcance, decirme que valor debo modificar para que corra?.

Gracias de antemano.

Código PHP:
new const Float:g_fWeaponsSpeed[ ]={
    
000.0,
    
250.0000.0260.0250.0240.0
    
250.0250.0240.0250.0250.0,                
    
250.0250.0210.0240.0240.0,    
    
250.0250.0210.0250.0220.0,              
    
230.0230.0250.0210.0250.0,            
    
250.0235.0221.0250.0245.0 
creo que eso se modifica para correr mas rápido creo!
la velocidad de dentista arma

ejemplo entre mas pesada el arma mas lento corres

algo asi xd pero no estoi seguro por que yo no se mucho de pawn
estoi aprendiendo como todo user novato

jejeje estamos en las mismas, bueno sera a modo de ensayo y error, cuando lo resuelva posteare la solucion... gracias
GRACIAS IGUAL XD

Bueno a fuerza de ensayo y error pude darme cuenta que la aceleracion estaba, pero era minima, por lo que modifique la velocidad maxima y ahora si se nota que esta corriendo, aparte de eso, agregue, gracias a que se algo de programacion (no este lenguaje peri si java, porque de resto tendria que haber llamado al mago Merlin para que me ayudara) el sonido de respiracion cansada cuando termina de correr, lo que le da mas realismo, y era lo que buscaba, ahora estoy tratando de activar la animacion del arma, que hasta ahora aun ando sin tener la mas minima idea de como hacerlo... creo que creare otro hilo, ya que es algo diferente a este. cuando tenga el plugin listo lo subire.

Listo, ya resolvi mi problema, ya tengo mi plugin para correr como en COD, corre reproduciendo el movimiento del arma y al terminar se escucha la respiracion cansada del jugador.

Gracias por la ayuda prestada, ahora jugare un poco con este conocimiento recientemente adquirido Trolleyes para darle un toque mas realista a mi CS 1.6... Proud
Responder
#9
Podrías pasarlo?
Responder
#10
(15/05/2018, 08:41 AM)brayemma escribió: Podrías pasarlo?

Pasar qué?
Responder
#11
el plugin
Responder
#12
Yo también lo quiero Rainbow
Responder
#13
(15/05/2018, 08:59 AM)Chema escribió:
(15/05/2018, 08:41 AM)brayemma escribió: Podrías pasarlo?

Pasar qué?

Pues el Sma del respectivo plugin
Si no Luchas por tus Sue;os Nadie luchara x ti <3Mario
Responder
#14
El .sma está posteado arriba, si quieren el que editó el pibe, hay que pedirle o esperar a que los postee.
Steam
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)