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).
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
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.
|
Guest Message by DevFuse
Respawn + Blokada strzelania
Started By daedhelil, 04.01.2012 22:14
4 replies to this topic
#1
Posted 04.01.2012 22:14
#2
Posted 04.01.2012 23:20
Nie gwarantuje że działa tak na bardzo szybko
/* 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;
}
Edited by Lelek, 04.01.2012 23:20.
#3
Posted 05.01.2012 09:21
Działa. Dziękuje Ci bardzo. Teraz postaram się zrozumieć to co napisałeś. Do zamknięcia.
+
+
#4
Posted 05.01.2012 11:12
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)
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;
}
Edited by Lelek, 05.01.2012 11:13.
#5
Posted 05.01.2012 12:56
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/
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users