←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
1hp na sekunde

  • +
  • -
marcin325's Photo marcin325 07.03.2012

Witam.
Ostatnio dalem swojej klasie premium regeneracje hp: 3hp co 3sekundy
Moje pytanie jest takie:
Jesli dam 1hp na sekunde to obciazy to w jakis sposob serwer?
To jest task i nie za bardzo sie na tym znam.
proszę o odpowiedz
Quote

  • +
  • -
Enson's Photo Enson 07.03.2012

zalezy w jaki sposob jest napisany kod na regenarcje
podaj ten kod ktory odpowiada za regenerowanie hp to ci dokladnie powiemy

lecz im wiecej taskow wykonawanych to serwer jest bardziej obciazony i moze powodowac skaczace pingi itd
a oczywiscie nie tylko 1 plugin wykonuje jakies taski tez wez to pod uwage :)
Edited by Enson, 07.03.2012 15:31.
Quote

  • +
  • -
marcin325's Photo marcin325 08.03.2012

regeneracja wzieta z tego perku:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <fun>

#define TASK_WYSZKOLENIE_SANITARNE 736

new const perk_name[] = "Wyszkolenie Sanitarne";
new const perk_desc[] = "Co 5 sekund dostajesz 10 HP";


new bool:ma_perk[33];

public plugin_init()
{
register_plugin(perk_name, "1.0", "QTM_Peyote");

cod_register_perk(perk_name, perk_desc);
}

public cod_perk_enabled(id)
{
ma_perk[id] = true;
set_task(5.0, "WyszkolenieSanitarne", id+TASK_WYSZKOLENIE_SANITARNE);
}

public cod_perk_disabled(id)
ma_perk[id] = false;

public WyszkolenieSanitarne(id)
{
id -= TASK_WYSZKOLENIE_SANITARNE;

if(!is_user_connected(id))
return PLUGIN_CONTINUE;

if(ma_perk[id])
{
set_task(5.0, "WyszkolenieSanitarne", id+TASK_WYSZKOLENIE_SANITARNE);

if(is_user_alive(id))
{
new cur_health = get_user_health(id);
new max_health = 100+cod_get_user_health(id);
new new_health = cur_health+10<max_health? cur_health+10: max_health;
set_user_health(id, new_health);
}
}
return PLUGIN_CONTINUE;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
Quote