Siemka
Przedtem myślałem, że już sobie z tym freezetimem poradzę, ale plug wpleciony w drugi powoduje jego nie działanie.
Proszę o pokazanie mi, jak zablokować WSAD
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 04.07.2013 07:27
Siemka
Przedtem myślałem, że już sobie z tym freezetimem poradzę, ale plug wpleciony w drugi powoduje jego nie działanie.
Proszę o pokazanie mi, jak zablokować WSAD
Napisano 04.07.2013 09:04
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
new bool:g_bFreeze[33];
public plugin_init()
{
register_plugin("freeze", "0.1", "d0naciak")
register_forward(FM_CmdStart, "fw_CmdStart");
}
public client_putinserver(id)
g_bFreeze[id] = false;
public fw_CmdStart(id, iUc)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
if(g_bFreeze[id])
{
new iButtons = get_uc(iUc, UC_Buttons);
if(iButtons & IN_RUN)
{
set_pev(id, pev_buttons, iButtons & ~IN_RUN);
}
}
return FMRES_IGNORED;
}
stock set_freeze(id, iSet)
{
if(iSet == 1)
{
g_bFreeze[id] = true;
set_pev(id, pev_buttons, pev(id, pev_buttons) & ~IN_RUN);
}
else
{
g_bFreeze[id] = false;
}
}
Uzywaj funkcji set_freeze to ustawiania freeza
set_freeze(id, iSet) id - index gracza iSet - po ustawieniu na 1 daje freeza, na 0 przywraca mozliwosc poruszania sie
Jak dziala/nie dziala daj znac (nietestowane)
Napisano 04.07.2013 09:12
Zmiennej nie dodałeś ![]()
Zaraz przetestuje i dam znać
Napisano 04.07.2013 09:16
jest wszystko co potrzeba, tylko nie wiadomo czy zadziała ![]()
Napisano 04.07.2013 10:34
Napisano 04.07.2013 16:15
to nie brak zmiennej, to zle nawyki z mojej strony. Kod poprawiony
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
new bool:g_bFreeze[33];
public plugin_init()
{
register_plugin("freeze", "0.1", "d0naciak")
register_forward(FM_CmdStart, "fw_CmdStart");
}
public client_putinserver(id)
g_bFreeze[id] = false;
public fw_CmdStart(id, iUc)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
if(g_bFreeze[id])
{
new iButtons = get_uc(iUc, UC_Buttons);
if(iButtons & IN_RUN)
{
set_pev(id, pev_button, iButtons & ~IN_RUN);
}
}
return FMRES_IGNORED;
}
stock set_freeze(id, iSet)
{
if(iSet == 1)
{
g_bFreeze[id] = true;
set_pev(id, pev_button, pev(id, pev_button) & ~IN_RUN);
}
else
{
g_bFreeze[id] = false;
}
}
Napisano 05.07.2013 20:24
Nie działa mi ![]()
Przypisałem SB pod komende say /freeze i nic sie nie stało niestety ![]()
Napisano 07.07.2013 12:34
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK };
new bool:g_bFreeze[33];
public plugin_init()
{
register_plugin("freeze", "0.1", "d0naciak")
register_forward(FM_CmdStart, "fw_CmdStart");
}
public client_putinserver(id)
g_bFreeze[id] = false;
public fw_CmdStart(id, iUc)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
if(g_bFreeze[id])
{
new iButtons = get_uc(iUc, UC_Buttons);
for(new i = 0; i <= 4; i++)
iButtons &= ~g_iKeysToBlock[i];
set_uc(iUc, UC_Buttons, iButtons);
return FMRES_HANDLED;
}
return FMRES_IGNORED;
}
stock set_freeze(id, iSet)
{
if(iSet == 1)
{
g_bFreeze[id] = true;
new iButtons = pev(id, pev_button);
for(new i = 0; i <= 4; i++)
iButtons &= ~g_iKeysToBlock[i];
set_pev(id, pev_button, iButtons);
}
else
{
g_bFreeze[id] = false;
}
}
Napisano 07.07.2013 12:46
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
new const g_iKeysToBlock[5] = { IN_RUN, IN_MOVELEFT, IN_MOVERIGHT, IN_FORWARD, IN_BACK };
new bool:g_bFreeze[33];
public plugin_init()
{
register_plugin("freeze", "0.1", "d0naciak")
register_forward(FM_CmdStart, "fw_CmdStart");
}
public client_putinserver(id)
g_bFreeze[id] = false;
public fw_CmdStart(id, iUc)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
if(g_bFreeze[id])
{
new iButtons = get_uc(iUc, UC_Buttons);
for(new i = 0; i <= 4; i++)
iButtons &= ~g_iKeysToBlock[i];
set_uc(iUc, UC_Buttons, iButtons);
return FMRES_HANDLED;
}
return FMRES_IGNORED;
}
stock set_freeze(id, iSet)
{
if(iSet == 1)
{
g_bFreeze[id] = true;
new iButtons = pev(id, pev_button);
for(new i = 0; i <= 4; i++)
iButtons &= ~g_iKeysToBlock[i];
set_pev(id, pev_button, iButtons);
}
else
{
g_bFreeze[id] = false;
}
}Napisano 07.07.2013 15:09
Tak gdyż nie wpływa na prędkość poruszania się tylko na przyciski które używa gracz
Napisano 07.07.2013 20:48
To tak jakby wklepać unbind klawiszów WASD - po prostu gracz ma zablokowane ich używanie - a prędkość chodu nie ma tu nic do rzeczy
0 użytkowników, 1 gości, 0 anonimowych