Respawn + Blokada strzelania
daedhelil
04.01.2012
Witam. Chciałbym, aby ktoś z Was napisał mi plugin.
Respawn gracza > Zablokowanie +attack i +attack2, fm_set_user_godmode na 1 > task 5 sekund > Odblokowanie +attack i +attack2, fm_set_user_godmode na 0
Próbowałem zrobić, ale nie znam za bardzo hamsandwich i moje próby kończyły się zawsze crashem serwera (problem z odblokowaniem strzału).
Respawn gracza > Zablokowanie +attack i +attack2, fm_set_user_godmode na 1 > task 5 sekund > Odblokowanie +attack i +attack2, fm_set_user_godmode na 0
Próbowałem zrobić, ale nie znam za bardzo hamsandwich i moje próby kończyły się zawsze crashem serwera (problem z odblokowaniem strzału).
Lelek
04.01.2012
Nie gwarantuje że działa tak na bardzo szybko
Użytkownik Lelek edytował ten post 04.01.2012 23:20
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "pc"
new bool:tab[33];
public plugin_init()
{
register_forward(FM_PlayerPreThink, "PlayerPreThink");
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1);
RegisterHam(Ham_Spawn, "player", "start", 1);
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public client_connect(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}
public client_disconnect(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}
public start(id)
{
fm_set_user_godmode(id, 1);
tab[id] = true;
set_task(5.0, "cos", id);
}
public cos(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}
public PlayerPreThink(id)
{
if(!tab[id])
return FMRES_IGNORED;
if(!is_user_alive(id))
return FMRES_IGNORED;
set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK);
set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK2);
return FMRES_HANDLED;
}
public UpdateClientData_Post(id, sendweapons, cd_handle)
{
if(!tab[id])
return FMRES_IGNORED;
if(!is_user_alive(id))
return FMRES_IGNORED;
set_cd(cd_handle, CD_ID, 0);
return FMRES_HANDLED;
}
stock fm_set_user_godmode(index, godmode = 0)
{
set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
return 1;
}
Użytkownik Lelek edytował ten post 04.01.2012 23:20
daedhelil
05.01.2012
Działa. Dziękuje Ci bardzo. Teraz postaram się zrozumieć to co napisałeś. Do zamknięcia.
+
+
Lelek
05.01.2012
Pisałeś że miałeś problem z odblokowaniem str zału. Dlatego popatrz na to co napisałem. Nie mówię że ten kod jest idealny bo ma wady Bynajmniej takie jak na szybko wychwyciłem, ale wracając do odblokowania strzału to kwestia bardzo prosta. Tworzysz sobie tablice typu bool:
Później w głównej funkcji blokady strzału dajesz instrukcje warunkową:
I później w którym momencie chcesz wywołać dajesz true(prawda) a jak chcesz zablokowac(false)
Użytkownik Lelek edytował ten post 05.01.2012 11:13
new bool:MojaNazwaTablicy[33];
Później w głównej funkcji blokady strzału dajesz instrukcje warunkową:
if(MojaNazwaTablicy[id])
{
//kod
}
I później w którym momencie chcesz wywołać dajesz true(prawda) a jak chcesz zablokowac(false)
public spawn(id)
{
MojaNazwaTablicy[id] = true;
}
Użytkownik Lelek edytował ten post 05.01.2012 11:13
daedhelil
05.01.2012
Rozumiem to co napisałeś, ale po prostu próbowałem zrobić to z pomocą tego:
http://darkgl.amxx.p...kada-lpm-i-ppm/
http://darkgl.amxx.p...kada-lpm-i-ppm/