Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Potrójny skok i błąd w kompilacji

CoD Nowy

  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 severe

    Pomocny

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:52
  • Imię:Filip
  • Lokalizacja:Konin
Offline

Napisano 26.06.2011 20:51

Witam. Nie wiem co tu źle zrobiłem:
/* Plugin generated by AMXX-Studio */

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

#define DMG_BULLET (1<<1)


new const nazwa[] = "Elitarny Rusher";
new const opis[] = "1/3 szansa na zabicie przeciwka,nowa broń";
new const bronie = 1<<CSW_M3 | 1<<CSW_XM1014;
new const zdrowie = 10;
new const kondycja = 85;
new const inteligencja = 20;
new const wytrzymalosc = 10;

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

cod_register_advance(cod_get_classid("Rusher"), 50, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_M3 && damage > 20.0 && random_num(1,3) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
if(weapon == CSW_XM1014 && damage > 20.0 && random_num(1,3) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;


I jeszcze mam małe pytanko jak zrobić potrójny skok w powietrzu?
  • +
  • -
  • 0

#2 BliBs_Pl

    Wszechpomocny

  • Użytkownik

Reputacja: 91
Zaawansowany

  • Postów:365
  • GG:
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Pisz
Offline

Napisano 26.06.2011 21:08

Chyba tu masz coś źle:
cod_register_advance(cod_get_classid("Rusher"), 50, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

  • +
  • -
  • 0

#3 severe

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:52
  • Imię:Filip
  • Lokalizacja:Konin
Offline

Napisano 26.06.2011 21:12

A dokładniej? bo ja tu nie widzę błedu.
  • +
  • -
  • 0

#4 BliBs_Pl

    Wszechpomocny

  • Użytkownik

Reputacja: 91
Zaawansowany

  • Postów:365
  • GG:
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Pisz
Offline

Napisano 26.06.2011 21:57

U mnie to wygląda tak:
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

  • +
  • -
  • 0

#5 severe

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:52
  • Imię:Filip
  • Lokalizacja:Konin
Offline

Napisano 26.06.2011 22:03

Ale to jest klasa, która awansuje. Ale poradziłem sobie z tym. Teraz mam problem ponieważ nie wiem jak zrobić potrójny skok...
  • +
  • -
  • 0

#6 BliBs_Pl

    Wszechpomocny

  • Użytkownik

Reputacja: 91
Zaawansowany

  • Postów:365
  • GG:
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Pisz
Offline

Napisano 27.06.2011 09:10

Po prostu robisz tak:

Do #include'ów dajesz:
#include <fakemeta>

Do bool'ów dajesz (jeśli nie masz żadnego boola i nie wiesz gdzie to dać to daj pod consty albo nad consty ale nie wiem czy to coś zmienia):
new bool:moze_skoczyc[33];

Pod(czy jakiego ty tam masz):
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
dajesz:
register_forward(FM_CmdStart, "CmdStart");

I przy publicach wpisujesz:
public CmdStart(id, uc_handle)
{
	if(!ma_klase[id])
		return FMRES_IGNORED;
	
	new button = get_uc(uc_handle, UC_Buttons);
	new oldbutton = pev(id, pev_oldbuttons);
	new flags = pev(id, pev_flags);
	if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && moze_skoczyc[id])
	{
		moze_skoczyc[id] = false;
		new Float:velocity[3];
		pev(id, pev_velocity, velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id, pev_velocity, velocity);
	}
	else if(flags & FL_ONGROUND)	
		moze_skoczyc[id] = true;
		
	return FMRES_IGNORED;
}

To jakoś trzeba zmienić ale nie wiem jak do końca.
  • +
  • -
  • 0

#7 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1227
Godlike

  • Postów:2334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 27.06.2011 10:02

On chce trzy skoki, a nie dwa.
Zmień:
new bool:moze_skoczyc[33];

Na:
new skoki[33];


A następnie zmień:
public CmdStart(id, uc_handle)
{
if(!ma_klase[id])
return FMRES_IGNORED;

new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = pev(id, pev_oldbuttons);
new flags = pev(id, pev_flags);
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && moze_skoczyc[id])
{
moze_skoczyc[id] = false;
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity, velocity);
}
else if(flags & FL_ONGROUND)
moze_skoczyc[id] = true;

return FMRES_IGNORED;
}

Na:
public CmdStart(id, uc_handle)
{
if(!ma_klase[id])
return FMRES_IGNORED;

new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = pev(id, pev_oldbuttons);
new flags = pev(id, pev_flags);
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity, velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 2;

return FMRES_IGNORED;
}

  • +
  • -
  • 1

#8 severe

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:52
  • Imię:Filip
  • Lokalizacja:Konin
Offline

Napisano 27.06.2011 10:21

super działa ^^
  • +
  • -
  • 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