←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
[ROZWIĄZANE] DeathMsg na flage?

Zablokowany

  • +
  • -
ric0 - zdjęcie ric0 07.01.2012

Witam. Mam taki kod :
public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);

if(!is_user_connected(killer))
return PLUGIN_CONTINUE;

if(ma_klase[victim] && !ma_klase[killer])
cod_set_user_xp(killer, cod_get_user_xp(killer)+2000);

if(ma_klase[killer])
{
new cur_health = pev(killer, pev_health);
new Float:max_health = 100.0+cod_get_user_health(killer);
new Float:new_health = cur_health+25.0<max_health? cur_health+25.0: max_health;
set_pev(killer, pev_health, new_health);
}
return PLUGIN_CONTINUE;
}


Czy jest możliwość aby te funkcję były dostępne dopiero gdy gracz ma określoną flagę?

Aaa.. i nie chcę dodawać warunku w
public cod_class_enabled(id)
tylko w tym publicu wyżej . jest taka możliwość ?
Użytkownik Rozum ? edytował ten post 07.01.2012 23:57
Odpowiedz

  • +
  • -
HaDeS From HELL - zdjęcie HaDeS From HELL 08.01.2012

może dodaj po prostu
if((get_user_flags(id) & ADMIN_LEVEL_H))

??
jakoś tak

public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);

if(!is_user_connected(killer))
  return PLUGIN_CONTINUE;
if ((get_user_flags(id) & ADMIN_LEVEL_H))
{
if(ma_klase[victim] && !ma_klase[killer])
  cod_set_user_xp(killer, cod_get_user_xp(killer)+2000);

if(ma_klase[killer])
{
  new cur_health = pev(killer, pev_health);
  new Float:max_health = 100.0+cod_get_user_health(killer);
  new Float:new_health = cur_health+25.0<max_health? cur_health+25.0: max_health;
  set_pev(killer, pev_health, new_health);
}
}
return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
ric0 - zdjęcie ric0 08.01.2012

Wywala wtedy błąd:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "id" on line 56
1 Error.
Could not locate output file sciezka(compile failed).

Użytkownik Rozum ? edytował ten post 08.01.2012 00:10
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.01.2012

zamiast id daj killer lub victim ( tak masz nazwane zmienne )
Odpowiedz

  • +
  • -
ric0 - zdjęcie ric0 08.01.2012

Tak już wiem. Domyślilem się. Ale pojawia się warning : "deathmsg" return should value - czy coś takiego. Jak to wyeliminować?
Użytkownik Rozum ? edytował ten post 08.01.2012 00:19
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 08.01.2012

Tak już wiem. Domyślilem się. Ale pojawia się warning : "deathmsg" return should value - czy coś takiego. Jak to wyeliminować?

return PLUGIN_CONTINUE przed ostatnią klamrą zamykającą powinien załatwić sprawę.
Odpowiedz

  • +
  • -
radim - zdjęcie radim 08.01.2012

public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);

if(!is_user_connected(killer))
  return PLUGIN_CONTINUE;

if(!(get_user_flags(xxx) & ADMIN_LEVEL_H))
  return PLUGIN_CONTINUE;

if(ma_klase[victim] && !ma_klase[killer])
  cod_set_user_xp(killer, cod_get_user_xp(killer)+2000);

if(ma_klase[killer])
{
  new cur_health = pev(killer, pev_health);
  new Float:max_health = 100.0+cod_get_user_health(killer);
  new Float:new_health = cur_health+25.0<max_health? cur_health+25.0: max_health;
  set_pev(killer, pev_health, new_health);
}
return PLUGIN_CONTINUE;
}

Nie różni się działaniem, ale taki sposób jest moim zdaniem wygodniejszy.
W miejsce xxx wpisz killer lub victim
Użytkownik radim edytował ten post 08.01.2012 15:48
Odpowiedz

  • +
  • -
ric0 - zdjęcie ric0 08.01.2012

Dziękować wszystkim. Każdy po plusie.

@radim dzięki :) twój sposób jest dużo wygodniejszy i wykorzystam go przy innych rzeczach .
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.01.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany