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
Klasa

Prośba o klasę Scouter (Zwykła)

klasa

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

#1 VeticK.

    Początkujący

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:14
  • Imię:Kamil
  • Lokalizacja:Poland
Offline

Napisano 14.07.2014 10:40

new const nazwa[]   = "Scouter";
new const opis[]    = "Posiada Scout i z niego 1/2, 1/2 szansy na natychmiastowe zabicie z noza (PPM)";
new const bronie    = (1<<CSW_SCOUT)|(1<<CSW_DEAGLE);
new const zdrowie   = 350;
new const kondycja  = 400;
new const inteligencja = 150;
new const wytrzymalosc = 0;

  • +
  • -
  • 0

#2 Alelluja

    Guru

  • Power User

Reputacja: 359
Wszechpomocny

  • Postów:739
  • GG:
  • Imię:Brak
  • Lokalizacja:Daleko
Offline

Napisano 14.07.2014 10:51

Proszę

 

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

#define DMG_BULLET (1<<1)
        
new const nazwa[]   = "Scouter";
new const opis[]    = "Posiada Scout i z niego 1/2, 1/2 szansy na natychmiastowe zabicie z noza (PPM).";
new const bronie    = (1<<CSW_SCOUT)|(1<<CSW_DEAGLE);
new const zdrowie   = 350;
new const kondycja  = 400;
new const inteligencja = 150;
new const wytrzymalosc = 0;
    
public plugin_init()
{
    register_plugin(nazwa, "1.0", "Alelluja");

    cod_register_class(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(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && 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);
        
    if(weapon == CSW_SCOUT && 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
b_350_20_690855_BC0607_FFFFFF_000000.png
Moje Pluginy | Paczki:
------> http://amxx.pl/topic...od/#entry687942 <------ 500 Postów 27.05.2015
------> http://amxx.pl/topic...monety-lombard/<------
------> http://amxx.pl/topic...-na-ammo-packi/<------

#3 VeticK.

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:14
  • Imię:Kamil
  • Lokalizacja:Poland
Offline

Napisano 14.07.2014 11:47

codclass_Scouter.sma(56) : error 017: undefined symbol "ma_klase"
codclass_Scouter.sma(56) : warning 215: expression has no effect
codclass_Scouter.sma(56) : error 001: expected token: ";", but found "]"
codclass_Scouter.sma(56) : error 029: invalid expression, assumed zero
codclass_Scouter.sma(56) : fatal error 107: too many error messages on one line

  • +
  • -
  • 0

#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 14.07.2014 13:05

Alelluja twój kod zadziałał by jeśli byś dodał sprawdzanie czy gracz posiada daną klasę ale ma w sobie dosyć duże błędy:

Zacznijmy od 1/2 ze scouta:
• Sprawdzanie czy dmg jest większe od 20 nie ma najmniejszego sensu gdyż jakiś inny plugin mógł zmniejszyć dmg z 270 (standardowo strzał w głowę) na 19 i się funkcja nie wykona
• Nie sprawdzasz czy inflictro czyli 2 arg w funkcji TakeDamage równa się attacker czyli 3 argument w tej funkcji. Po co to? Po to by rozróżnić dmg zadawane przez gracza ze standardowej broni od np. niestandardowej np. miny/kuszy/czegoś tam gdyż samo sprawdzenie damagebits nie wystarczy :(

1/2 z kosy:
• Te same błędy co wyżej
• w twoim kodzie nie ma sprawdzania czy to jest ppm czy lpm gdyż sprawdzenie czy dmg jest większe od 20 nie ma najmniejszego sensu gdyż jakiś inny plugin mógł zwiększyć dmg z kosy i będziemy mieć także 1/2 z lpm lub jakiś inny plugin zmniejszy dmg i nie bedziemy mieć w ogóle 1/2 ani z lpm ani ppm :(

Do obu:
• Funkcja cod_inflict_damage nie służy do zabijania!!! Ta funkcja służy do zadawania indywidualnego dmg np. miny/kuszy itd
• Jakiś inny plugin może złapać dmg z cod_inflict_damage i je zmniejszyć tak by już nie było śmiertelne przez co z 1/2 może się zrobić 1/d245777abca64ece2d5d7ca0d19fddb6.png a tego chyba nie chcemy
• Nie ma najmniejszego sensu 2x pobierać broń gracza za pomocą get_user_weapon wystarczy raz

Kod zadziała ale będziesz miał 1/2 z tylko z ppm jeśli żaden inny plugin nie ingeruje w czas między atakami z kosy ;D

Spoiler

Co do funkcji KillPlayer to jej opis znajdziesz tutaj


  • +
  • -
  • 2
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 VeticK.

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:14
  • Imię:Kamil
  • Lokalizacja:Poland
Offline

Napisano 15.07.2014 07:52

A mógłbyś zrobić tą klasę na nowo, bo po Twojej mądrej odpowiedzi myślę, że aktualna klasa to lipa biorąc pod uwagę, że 1/2 z kosy nie zawsze będzie działać.


Użytkownik VeticK. edytował ten post 15.07.2014 07:53

  • +
  • -
  • 0

#6 Firehawk

    Pomocny

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:53
  • Imię:Michał
  • Lokalizacja:Nowy Sącz
Offline

Napisano 15.07.2014 08:27

Sprawdź to :D

Załączone pliki


  • +
  • -
  • 1

#7 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 09:33

Firehawk sad.png Czytaj posty zanim coś na piszesz!!! Popełniłeś wszystkie błędy które wytknełem przedmówcy ale dodatkowo:
- w żaden sposób nie sprawdzasz czy dany atak był z ppm na nożu a to chcemy osiągnąć
- wykorzystanie tablicy z broniami w ten sposób jest irracjonalne i nie ma najmniejszego sensu to tak samo jak bym tej tablicy w ogóle nie zrobił a jedynie sprawdzał czy twoja zmienna bron_atakujacego równa się CSW_SCOUT lub CSW_KNIFE
- niepotrzebnie definiujesz stałą DMG_BULLET jeśli z niej nie kożystasz biggrin.png Poza tym na przyszłość dołączaj biblioteki (mówię o hlsdk_const.ini) a nie definiuj osobiście jeżeli chcesz komuś dawać kod bo jest dużo łatwiej go zmieniać
- I wszystkie moje błędy które wymieniłem w poprzednim poście

Większość tych błedów i wszystkie które wymieniłem w poprzednim poście także tyczą się kodu Pan Bartek :)
Dodatkowo wiedzcie że to nie wystarczy że kod działa bo:
- ma zawsze działać
- ma zawsze działać poprawnie
- nigdy ma działać niepoprawnie
 

A mógłbyś zrobić tą klasę na nowo, bo po Twojej mądrej odpowiedzi myślę, że aktualna klasa to lipa biorąc pod uwagę, że 1/2 z kosy nie zawsze będzie działać.

Biorąc pod uwagę iż twój serwer to cod mod oraz to że klasa ma 1/2 z scouta to już jest za silna osobiście dał bym 1/3~6 i 1/2 z kosy z ppm dodatkowo wiedz o tym że mój kod zadziała a tym:

Kod zadziała ale będziesz miał 1/2 z tylko z ppm jeśli żaden inny plugin nie ingeruje w czas między atakami z kosy ;D

Nie musisz się przejmować bo to tak samo jak bym powiedział że inny plugin wyłącza amxx'a lub metamoda (nie crash'uje serwer a wyłącza samego) tzn. prawdopodobieństwo jest tak małe że jeszcze nie spotkałem żadnego serwerka na którym by był ten plugin ani samego pluginu dodatkowo pamiętaj że samemu wymieniłeś moce klasy jedynie wystarczy przeglądnąc czy w perkach nie masz mocy przyspieszające nie strzały a bicia z kosy. Nie znam innego sposobu którego nie da się zbugować od strony clienta dlatego używam tego
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#8 Firehawk

    Pomocny

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:53
  • Imię:Michał
  • Lokalizacja:Nowy Sącz
Offline

Napisano 15.07.2014 09:48

Przepraszam za błędy :(

Dopiero się uczę, ale chcę stać się lepszy ^^

Dzięki za lekcję :D


  • +
  • -
  • 1

#9 Pan Bartek :)

    Początkujący

  • Użytkownik

Reputacja: -1
Mniej niż zer0.

  • Postów:17
  • Lokalizacja:Racławice-Kraków
Offline

Napisano 15.07.2014 13:14

Poprawione  z tymi statami co chciałeś :) . Śmiga testowałem na serwie  powinno się podobać :D

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Załączone pliki


  • +
  • -
  • 0

#10 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 14:06

Poprawione  z tymi statami co chciałeś . Śmiga testowałem na serwie  powinno się podobać

To że ci działa nie oznacza że mu będzie!!! Poza tym twój kod nie uwzględnia najprostszych czynników zewnętrznych... Gracz dostanie perk ktry daje mu +10 dmg z kosy i już będzie miał także z lpm 1/2 haha.gif Przeczytaj 10 razy 4 i 7 post potem swój kod...

Użytkownik BlackPerfum edytował ten post 15.07.2014 14:07

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#11 Pan Bartek :)

    Początkujący

  • Użytkownik

Reputacja: -1
Mniej niż zer0.

  • Postów:17
  • Lokalizacja:Racławice-Kraków
Offline

Napisano 15.07.2014 19:37

Jezus człowieczku zrobiłem to co chciał. Czemu ty się tak do wszystkiego doczepiasz masakra czemu mu sam nie napiszesz jak tak wszystko perfekt wiesz? Nie chcę się? Już byś dawno te klasy napisał NAJLEPIEJ zamiast tak wszystkich upominać .Proszę cię dobrze ciesze się że ogarniasz AMXX lepiej ode mnie i innych ale przestaniesz takiego nadętego cwaniaczka zgrywać bo jest to irytujące. Zamiast napisać mu kod i pokazać już nawet nam jak to poprawnie zrobić to ty ino gnębisz i piszesz. Irytujący człowieku jesteś .


  • +
  • -
  • 0

#12 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 20:00

Jezus człowieczku zrobiłem to co chciał.

1/2 szansy na natychmiastowe zabicie z noza (PPM)

Tego nie zrobiłeś poza tym twój kod jest wadliwy
 

Czemu ty się tak do wszystkiego doczepiasz masakra czemu mu sam nie napiszesz jak tak wszystko perfekt wiesz? Nie chcę się? Już byś dawno te klasy napisał NAJLEPIEJ zamiast tak wszystkich upominać

Zamiast napisać mu kod i pokazać już nawet nam jak to poprawnie zrobić to ty ino gnębisz i piszesz. Irytujący człowieku jesteś .

Napisałem:
Spoiler

To samo znajdziesz w 4 poście od góry

Proszę cię dobrze ciesze się że ogarniasz AMXX lepiej ode mnie i innych ale przestaniesz takiego nadętego cwaniaczka zgrywać bo jest to irytujące.

Nie rozumiem cię... Jedynie pokazuje wam błędy byście mogli się samodoskonalić oraz by pisany przez was kod był lepszy. Cwaniak haha.gif Ciekawe jeszcze nikt mnie tak nigdy nie nazwał, ale że jestem irytującym to mi często mówią

Użytkownik BlackPerfum edytował ten post 15.07.2014 20:02

  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika





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