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
Klasa

Modyfikacja klasy Kapitan 1/2 z awp

klasa

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
18 odpowiedzi w tym temacie

#1 weedzonka

    Życzliwy

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 13:28

Witam,

 

chciałbym by ktoś mi pomógł edytować klasę Kapitan(Klasa Premium) tak żeby miała 1/2 z awp, zrobiłem wszystko tak jak w poradniku, jednak jeszcze ani razu nie zabiło za jednym strzałem, a przy 1/2 powinno to być dość często

 

 

załączam sma kapitana

Załączone pliki


  • +
  • -
  • 0

#2 Tamagotchi

    Zaawansowany

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:78
  • Lokalizacja:Gdzieś
Offline

Napisano 29.01.2014 13:40

1/1 natychmiastowe zabicie, 1/2 za 2 strzałem dopiero zabija ! 


  • +
  • -
  • -1

#3 silva

    Profesjonalista

  • Użytkownik

Reputacja: 101
Zaawansowany

  • Postów:182
  • GG:
  • Steam:steam
  • Lokalizacja:Podkarpacie
Offline

Napisano 29.01.2014 13:46

spróbuj

/* Plugin generated by AMXX-Studio */

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

#define DMG_BULLET (1<<1) 

new bool:ma_klase[33];

new const nazwa[] = "Kapitan (Klasa Premium)";
new const opis[] = "1/2 szansy na zabicie awp, nie slychac jego krokow";
new const bronie = 1<<CSW_AWP | 1<<CSW_FAMAS;
new const zdrowie = 30;
new const kondycja = 30;
new const inteligencja = 0;
new const wytrzymalosc = 10;

public plugin_init() 
{
	register_plugin(nazwa, "1.0", "CS-FPG.pl");
	
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_H))
	{
		ColorChat(id, GREEN, "[Kapitan (Klasa Premium)]^x01 Nie masz uprawnien, aby uzywac tej klasy.")
		return COD_STOP;
	}
	
	set_user_footsteps(id, 1);
	return COD_CONTINUE;

}

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_AWP && damage > 20.0 &&

random_num(1,2) == 1)
cod_inflict_damage(idattacker, this,

float(get_user_health(this))-damage+1.0, 0.0, idinflictor,

damagebits);

}

return HAM_IGNORED;
}



  • +
  • -
  • 0

Sajko sajko! Sajko w nią mam 


#4 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 14:06

czy zmieniłeś coś w kodzie? jeśli tak to zdradzisz co? bo ja widzę, żę tylko entery dałeś gdzieniegdzie :D


  • +
  • -
  • 0

#5 silva

    Profesjonalista

  • Użytkownik

Reputacja: 101
Zaawansowany

  • Postów:182
  • GG:
  • Steam:steam
  • Lokalizacja:Podkarpacie
Offline

Napisano 29.01.2014 14:12

http://amxx.pl/topic...o-pisania-klas/ użyłem gotowego skryptu i nadpisałem ponieważ błędu tam nie widziałem :D


  • +
  • -
  • 0

Sajko sajko! Sajko w nią mam 


#6 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 14:17

też korzystałem z tego tyle, że mój kod troche inaczej wyglądał. przetestuję i zobacze

 


  • +
  • -
  • 0

#7 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 29.01.2014 14:44

public TakeDamage powinien wyglądać tak:

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))
                return HAM_IGNORED;
               
        if(get_user_weapon(idattacker) == CSW_AWP && random_num(1,2) == 1)
                cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
       
        return HAM_IGNORED;
}

 
Po za tym, gdzie jest public cod_class_disabled który wyłącza ciche chodzenie przy zmianie klasy?
 
 

public cod_class_disabled(id)
{
ma_klase[id] = false;
set_user_footsteps(id, 0);
}

Pomijając fakt, że w class_enabled brakuje ma_klase[id] = true; ...
Więc nie dziw się że 1/2 z AWP nie działało.
 

public cod_class_enabled(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_H))
	{
		ColorChat(id, GREEN, "[Kapitan (Klasa Premium)]^x01 Nie masz uprawnien, aby uzywac tej klasy.")
		return COD_STOP;
	}
	
	set_user_footsteps(id, 1);
        ma_klase[id] = true;
	return COD_CONTINUE;

}

  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#8 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 14:50

 

 

#define DMG_BULLET (1<<1)

jeśli to usunę 

 

 

 

 

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))
                return HAM_IGNORED;
               
       
if(get_user_weapon(idattacker) == CSW_AWP && random_num(1,2) == 1)
                cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
       
       
return HAM_IGNORED;
}

to jakim prawem ma to działać? wywala błąd 

 

 

codclass_kapitan.sma(49) : error 017: undefined symbol "DMG_BULLET"


  • +
  • -
  • 1

#9 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 29.01.2014 14:54

Małe zagapienie :D

Zedytowałem


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#10 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 14:59

 
codclass_kapitan.sma(56) : error 017: undefined symbol "DMG_BULLET"
 
 
dalej to samo

Użytkownik weedzonka edytował ten post 29.01.2014 15:06

  • +
  • -
  • 0

#11 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 29.01.2014 15:10

Zapewne po usunięciu nie dodałeś z powrotem pod include tego "#define DMG_BULLET (1<<1)" ??


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#12 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 29.01.2014 15:40

poprawiłem, nie ma błędów, testuje w tej chwili

 


  • +
  • -
  • 0

#13 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 30.01.2014 22:48

no i wydaje mi się, że to dalej nie działa... jakieś pomysły?


  • +
  • -
  • 0

#14 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 30.01.2014 23:00

Przecież pisałeś na pw że działa, więc może jakiś item miał przeciwnik?


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#15 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 30.01.2014 23:09

 

 

Przecież pisałeś na pw że działa, więc może jakiś item miał przeciwnik?

co Ty za bajki z tym pw opowiadasz? nie na starcie nie działa, zabiera normalnie jak awp 


  • +
  • -
  • 0

#16 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 30.01.2014 23:18

Sory nie ten nick ;d
 
Podmień
 

cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

 
na
 

SetHamParamFloat(4, 9999.0)

Raczej nikt nie będzie miał +10k hp


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#17 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 31.01.2014 00:05

 

 

SetHamParamFloat(4, 9999.0)

 

możesz powiedzieć co oznaczają cyferki?


  • +
  • -
  • 0

#18 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 315
Wszechpomocny

  • Postów:1 071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Napisano 31.01.2014 00:16

SetHamParamFloat - "Funkcja zmienia w locie dane wyjściowe."
4 - oznacza czwarty parametr od lewej, w tym wypadku oznacza to że chcemy zmienić parametr "damage"

9999.0 - zmiana "damage" na 9999.0 czyli za każdym trafieniem (nie ważne w co) obrażenia będą równe 9999 (musi być w float dlatego jest 9999.0 a nie 9999)

 

Więcej w dokumentacji: SetHamParamFloat


  • +
  • -
  • 1
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#19 weedzonka

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:38
  • Imię:marian
  • Lokalizacja:lw
Offline

Napisano 02.02.2014 21:14

dzięki działa! do zamknięcia ;)


  • +
  • -
  • 0





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

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

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