←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Czas ładowania i rozładowywania się bateri...

Zablokowany

  • +
  • -
grankee - zdjęcie grankee 02.07.2010

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "grankee"

#define m_iFlashBattery 244
#define TASK_LATARKA 2543
new latarka_on[33],latarka_block[33]
new licznik[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("Flashlight","latarka_onoff","b")
register_message(get_user_msgid("FlashBat"),"latarka_bateria")
register_impulse(100,"latara")
}
public latara(id)
{
if(latarka_on[id]&&latarka_block[id])
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public latarka_onoff(id)
{
latarka_on[id]=read_data(1)
client_print(id,print_chat,"ustawiam latarke na %d",latarka_on[id])
if(!latarka_on[id])
licznik[id]=0
else
{
latarka_block[id]=1
set_task(1.2,"odblokuj_latarke",id+TASK_LATARKA)
}
}
public odblokuj_latarke(id)
{
latarka_block[id-TASK_LATARKA]=0
}
public latarka_bateria(a,b,id)
{
new procent=get_msg_arg_int(1)
if(!latarka_on[id])
{
if(++licznik[id]%10==0)
{
return PLUGIN_CONTINUE
}
else
{
set_pdata_int(id,m_iFlashBattery,procent>=1?procent-1:0)
return PLUGIN_HANDLED
}
}
else//rozładowywanie się
{
if(procent>8)//
{
set_pdata_int(id,m_iFlashBattery,procent-8)
client_print(id,print_chat,"proc=%d > 8",procent)
}
else if(8>=procent>1)
{
set_pdata_int(id,m_iFlashBattery,1)
client_print(id,print_chat,"1<proc=%d <= 8",procent)
}
else
client_print(id,print_chat,"proc=%d",procent)//tu sie zapetla hmm
}
return PLUGIN_CONTINUE
}




No i problem w tym, że czasem latarka nie gaśnie po wyczerpaniu się i jakieś 5 razy na sekunde (tak mi się wydaje :D) jest wywoływany hook eventu baterii latarki (czyli tyle ile razy wg silnika gry bateria sie laduje)
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 02.07.2010

mhm.
set_pev(id, pev_effects, pev(id, pev_effects)&~EF_DIMLIGHT)

Powinno zgasić :D
Odpowiedz
Zablokowany