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
CoD Nowy

Zmniejszona widocznosc i resp po smierci

CoD Nowy

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 BoB0_

    Wszechpomocny

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:365
  • GG:
  • Lokalizacja:Przemyśl
Offline

Napisano 27.06.2011 13:00

Witam.

Mam problem ze stworzeniem jednej klasy. Mam nadzieje, że mi przy tym pomożecie. Problem polega na tym że nie potrafię dodać klasie 1/3 zrespienia się po śmierci. Próbowałem zmienić kod z Perku Morfina ale mi nie wychodzi.

Oto klasa do której chcę to dodać.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <engine>

#define DMG_BULLET (1<<1)
#define ZADANIE_WSKRZES 6240


new bool:ma_klase[33];
new Float:ostatni_skok[33];

new const nazwa[] = "[Master] Komandos";
new const opis[] = "Natychmiastowe zabicie z noza(PPM). Dostaje modul odrzutowy ,1/3 zrespienia sie po smierci oraz slaba widocznosc przy kucaniu.";
new const bronie = 1<<CSW_DEAGLE;
new const zdrowie = 40;
new const kondycja = 60;
new const inteligencja = 5;
new const wytrzymalosc = 0;

new const max_clip[31] = { -1, 13, -1, 10,  1,  7,  1,  30, 30,  1,  30,  20,  25, 30, 35, 25,  12,  20, 
10,  30, 100,  8, 30,  30, 20,  2,  7, 30, 30, -1,  50 };

public plugin_init() 
{
	register_plugin(nazwa, "1.0", "QTM_Peyote");
	
	cod_register_advance(cod_get_classid("[Elite] Komandos"), 150, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc,"Zwykle");
	
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
	
	register_forward(FM_CmdStart, "CmdStart");
}

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

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker))
		return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
		return HAM_IGNORED;
		
	if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
		
	return HAM_IGNORED;
}

public cod_class_skill_used(id)
{
	new flags = pev(id, pev_flags);
	
	if(flags & FL_ONGROUND && get_gametime() > ostatni_skok[id]+4.0)
	{
		ostatni_skok[id] = get_gametime();
		new Float:velocity[3];
		velocity_by_aim(id, 666+cod_get_user_intelligence(id), velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id, pev_velocity, velocity);
	}
}

public CmdStart(id, uc_handle)
{
	if(!is_user_alive(id))
		return FMRES_IGNORED;
	
	new buttons = get_uc(uc_handle, UC_Buttons);
	new oldbuttons = pev(id, pev_oldbuttons);
	new clip, ammo, weapon = get_user_weapon(id, clip, ammo);
	
	if(max_clip[weapon] == -1 || !ammo)
		return FMRES_IGNORED;
	
	if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip)
	{
		cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip));
		new new_ammo = (max_clip[weapon] > ammo)? clip+ammo: max_clip[weapon]
		set_user_clip(id, new_ammo);
	}
	
	return FMRES_IGNORED;
}

public client_PreThink(id)
{
	if(!ma_klase[id])
		return;
		
	new button = get_user_button(id);
	if(button & IN_DUCK)
		set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 5);
	else
		set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
}

A dla szybszej pomocy daje kod z perku morfina.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <codmod>

#define ZADANIE_WSKRZES 6240

new const perk_name[] = "Morfina";
new const perk_desc[] = "Masz 1/LW szans na odrodzenie sie po smierci";

new wartosc_perku[33];
new bool:ma_perk[33];

public plugin_init()
 {
	register_plugin(perk_name, "1.0", "QTM_Peyote");
	
	cod_register_perk(perk_name, perk_desc, 2, 4);
	RegisterHam(Ham_Killed, "player", "Killed", 1);
}

public cod_perk_enabled(id, wartosc)
{
	wartosc_perku[id] = wartosc;
	ma_perk[id] = true;
}

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

public Killed(id)
{
	if(ma_perk[id] && random_num(1, wartosc_perku[id]) == 1)
		set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
}

public Wskrzes(id)
	ExecuteHamB(Ham_CS_RoundRespawn, id-ZADANIE_WSKRZES);

Dziękuję za pomoc.
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: CoD Nowy

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

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