←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
dostajesz HE co 10 sek

Locked

Karaj's Photo Karaj 08.08.2011

Witam
Jak zrobić klasę która dostaje granat He co 10 sekund?
Dam +
Pozdrawiam
Quote

Karaj's Photo Karaj 08.08.2011

tu sie zmienia czas co ile daje he?

set_task(60.0, "he", _, _, _, "b")

a tak w ogóle to sie nie kompiluje

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

codclass_granagier.sma(26) : error 021: symbol already defined: "set_task"
codclass_granagier.sma(39) : error 017: undefined symbol "give_item"

2 Errors.
Could not locate output file codclass_granagier.amxx (compile failed).
Edited by Karaj, 08.08.2011 15:09.
Quote

  • +
  • -
Onyke's Photo Onyke 08.08.2011

60 na 10 i masz co 10 sekund
Quote

Karaj's Photo Karaj 08.08.2011

ale sie nie kompiluje
Quote

  • +
  • -
MarWit's Photo MarWit 08.08.2011

Łap

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

new const nazwa[] = "Nazwa klasy";
new const opis[] = "Opis klasy";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

new bool:ma_klase[33];

public plugin_init() {
register_plugin(nazwa, "1.0", "MarWit");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}


public cod_class_enabled(id){
ma_klase[id] = true;
set_task(10.0, "DajHE", id+857, _, _, "b")
}

public cod_class_disabled(id){
ma_klase[id] = false;
remove_task(id+857);
}


public DajHE(id)
{
id-=857
if(!ma_klase[id] || !is_user_alive(id)) return PLUGIN_CONTINUE

give_item(id, "weapon_hegrenade")
return PLUGIN_CONTINUE
}
Quote

  • +
  • -
MarWit's Photo MarWit 08.08.2011

@DAMIANq, dalej jest źle, ponieważ HE jest dawane nawet dla osób bez klasy + skąd ty chcesz wziaść id? :P
Edited by MarWit, 08.08.2011 15:33.
Quote

  • +
  • -
Onyke's Photo Onyke 08.08.2011

Sorki spieszyłem się i błędów narobiłem.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <fun>

new const nazwa[] = "Nazwa klasy";
new const opis[] = "Opis klasy";
new const bronie = 1<<CSW_BRON;
new const zdrowie = xx;
new const kondycja = xx;
new const inteligencja = xx;
new const wytrzymalosc = xx;

new bool:ma_klase[33];

public plugin_init() {
	register_plugin(nazwa, "1.0", "AUTHOR");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
        set_task(60.0, "he", _, _, _, "b")  
}

public cod_class_enabled(id)
	ma_klase[id] = true;

public cod_class_disabled(id)
	ma_klase[id] = false;


public he(id)
{
	if(is_user_alive(id))
	{
		give_item(id, "weapon_hegrenade");
	}
}

Powiesz mi do czego używasz fakemety ?
Quote

  • +
  • -
;(('s Photo ;(( 08.08.2011

Sztylet wziąłem z innej klasy ;]

Nie mogę załapać tego coda..
Quote

Karaj's Photo Karaj 10.08.2011

MarWit, działa dostaje He co 10 sekund ale kiedy dostane wybieram go próbuję rzucić i nie mogę go rzucić. Muszę poczekac ok 5 sek i dobiero mogę rzucic.
Jak wyeliminowac te 5 sek czekania?
Quote

  • +
  • -
MarWit's Photo MarWit 10.08.2011

Łap, teraz powinno być ok, zapomnialem ze to jest na codmoda i zamiast uzyc cod_give_weapon() użyłem give_item()

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

new const nazwa[] = "Nazwa klasy";
new const opis[] = "Opis klasy";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

new bool:ma_klase[33];

public plugin_init() {
register_plugin(nazwa, "1.0", "MarWit");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}


public cod_class_enabled(id){
ma_klase[id] = true;
set_task(10.0, "DajHE", id+857, _, _, "b")
}

public cod_class_disabled(id){
ma_klase[id] = false;
remove_task(id+857);
}


public DajHE(id)
{
id-=857
new granat[] = { CSW_HEGRENADE }

if(!ma_klase[id] || !is_user_alive(id) || sprawdz_bronie(id, granat)) return PLUGIN_CONTINUE

cod_give_weapon(id, CSW_HEGRENADE)
return PLUGIN_CONTINUE
}

stock bool:sprawdz_bronie(id, disallowed[], ile = sizeof(disallowed)) {
new weapons[32], num, pwpns, bool:has = false;
pwpns = get_user_weapons(id, weapons, num);
for(new i=0; i<ile; i++) {
if(pwpns & (1<<disallowed[i])) {
has = true;
break;
}
}
return has;
}



Quote

Karaj's Photo Karaj 10.08.2011

ok działa dzięki:) leci +
Quote

Adminek AMXX.PL's Photo Adminek AMXX.PL 10.08.2011

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: problem rozwiązany

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
Quote
Locked