Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Czas ładowania i rozładowywania się baterii w latarce


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 02.07.2010 09:16

#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)
  • +
  • -
  • 0

#2 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 02.07.2010 14:23

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

Powinno zgasić :D
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych