Siema mam pytanie odnośnie zrobienia klasy mianowicie potrzebuje poradnika jak zrobić aby klasa dostawała mniejsze obrażenia od innych ? Kiedyś taką klase zrobiłem miała mp5 i dostawała dmg mniejsze o 10 i była całkiem spoko dlatego chiciałbym teraz taką zrobić lecz nie pamietam jak wtedy tamtą zrobiłem. proszę o poradnik od bardziej zaawansowanych użytkowników tego forum
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.
|

Klasa dostaje mniejsze dmg od innychKlasa zamiast np dostawać za 50dmg dostaje za 35dmg
#1
Napisano 25.08.2013 20:58
Bo kolorowe jest piękne !
#3
Napisano 25.08.2013 21:37
Łap:
#include <amxmodx> #include <codmod> #include <hamsandwich> #define RedukcjaWProcentach 10 #define Redukcja ((100-RedukcjaWProcentach)/100) new bool:ma_klase[33]; new const nazwa[] = ""; new const opis[] = ""; new const bronie = 0; new const zdrowie = 0; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; public plugin_init() { register_plugin(nazwa, "1.0", "BlackPerfum"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } 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(!ma_klase[idattacker]) return HAM_IGNORED; SetHamParamFloat(4, damage*Redukcja); return HAM_IGNORED; }
W stałej "RedukcjaWProcentach" ustawiasz ile % zadanych dmg ma być zredukowane.
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#4
Napisano 25.08.2013 22:46
Sorki że post pod postem ale drobna pomyłka zamiast
Ma być:
if(!ma_klase[idattacker]) return HAM_IGNORED;
if(!ma_klase[this]) return HAM_IGNORED;
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#5
Napisano 26.08.2013 08:01
Wczoraj już niemogłem sprawdzić zaraz zobacze, ja robiłem że podawałem od razu dmg ale w % to chyba nawet lepiej
Użytkownik Neo Farcik edytował ten post 26.08.2013 08:02
Bo kolorowe jest piękne !
#6
Napisano 26.08.2013 09:56
d*pa ustawiłem se 20% + MP5 i HE i wg hp nei tracilem ani przy upadku nigdy wg hp nei tracilem oczywiscie z tym co mi kazałeś poprawić.
Bo kolorowe jest piękne !
#7
Napisano 26.08.2013 10:49
Pokaż swój kod
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#8
Napisano 26.08.2013 11:00
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!ma_klase[this]) return HAM_IGNORED; SetHamParamFloat(4, damage*Redukcja); return HAM_IGNORED; }
Lepiej zrób tak
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!ma_klase[this]) return HAM_IGNORED; SetHamParamFloat(4, damage*Redukcja); return HAM_HANDLED; }
Użytkownik d0naciak edytował ten post 26.08.2013 11:01
#9
Napisano 26.08.2013 11:16
Pokaż swój kod
Użytkownik Neo Farcik edytował ten post 26.08.2013 11:27
Bo kolorowe jest piękne !
#10
Napisano 26.08.2013 18:25
może jakieś elity tego forum pomogą ? -Ref.
---------
Trafilem na coś ale nwm czy to działa i czy wam to moze jakoś pomoże w pomocy mi
http://amxx.pl/topic...wanych-obrazen/
http://amxx.pl/topic...e-na-obrazenia/
Użytkownik Neo Farcik edytował ten post 26.08.2013 18:50
Bo kolorowe jest piękne !
#11
Napisano 26.08.2013 19:33
Haha wina kompilatora (Po części moja bo mogłem się zorientować)
Powiem szczerze że nie trafiłem na taki przypadek.
Trzeba podzielić przez:
100.0
a nie przez:
100
Bo inaczej kompilator stwierdzi że oczekujemy liczbę nie zmiennoprzecinkową i poda nam tylko liczbę z przed przecinka czyli w naszym przypadku okrągłe zero a zmienna damage * 0 = 0 czyli nieśmiertelność (no nie całkiem)
Zamień to:
#define Redukcja ((100-RedukcjaWProcentach)/100)
Na to:
#define Redukcja ((100-RedukcjaWProcentach)/100.0)
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#12
Napisano 26.08.2013 19:53
dalej nie dziala tak jak powinno bo na 3 strzaly 2 nic mi nei zdaly i 1 zadal za 115 i padlem ;/
może to działa wiem wiem moge sprawdzic ale ile razy mam zmieniac mapke an servie ludzie sie będą denerwować
http://amxx.pl/topic...-obrazen-klasy/
Użytkownik Neo Farcik edytował ten post 26.08.2013 19:58
Bo kolorowe jest piękne !
#13
Napisano 26.08.2013 20:10
To jest to samo ci ci podałem tylko bez zbędnego sprawdzania czy gracz jest podłączony do serwera gdyż to jest zupełnie nie potrzebne.
http://amxx.pl/topic...-obrazen-klasy/
Sprawdź jeszcze raz czy działa bo powinno.
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#14
Napisano 26.08.2013 20:37
No to jak sprawdzisz daj znać
Bo kolorowe jest piękne !
#15
Napisano 26.08.2013 20:43
Chyba się źle zrozumieliśmy. Ta klasa powinna działać i działa a napisałem:
No to jak sprawdzisz daj znać
Gdyż mogłeś się pomylić przy kompilowaniu albo zmienianiu kodu
Sprawdź jeszcze raz czy działa bo powinno.

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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#16
Napisano 26.08.2013 20:54
hahahah. sorrki już nei ogarniam no kurde nie działa jak powinno i tyle
bo sprawdzałem z kumplem
Niedziala to sprawdzalem nie wiezysz wejdz na serva i sam ze mna potestujesz..
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#define RedukcjaWProcentach 30
#define Redukcja ((100-RedukcjaWProcentach)/100.0)
new bool:ma_klase[33];
new const nazwa[] = "test-dmg";
new const opis[] = "trolololo";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
public plugin_init()
{
register_plugin(nazwa, "1.0", "BlackPerfum");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
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(!ma_klase[idattacker]) return HAM_IGNORED;
SetHamParamFloat(4, damage*Redukcja);
return HAM_IGNORED;
}
Użytkownik Neo Farcik edytował ten post 26.08.2013 21:11
Bo kolorowe jest piękne !
#17
Napisano 26.08.2013 21:52
Już prawie zasypiając przypomnialem se że gdy tester bil w inna klase za 110 w banie z sg 552 to w tą albo za nic bo była niesmietelna albo "po przerubce" za 115 czyli o 5 wiecej i to sie powtarzało bo testowalismy kilka razy i kazałem mu wybrać 1 punk na bani który ma strzelac więc coś nie tak z tym kodem
Bo kolorowe jest piękne !
#18
Napisano 26.08.2013 22:02
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!ma_klase[idattacker]) return HAM_IGNORED;
SetHamParamFloat(4, damage*Redukcja);
return HAM_IGNORED;
}
Ty się dziwisz czemu to nie działa pisałem ci wcześniej. Czytaj dokładnie
Sorki że post pod postem ale drobna pomyłka zamiast
BlackPerfum, dnia 25 Sie 2013 - 22:37, napisał:
if(!ma_klase[idattacker]) return HAM_IGNORED;Ma być:
if(!ma_klase[this]) return HAM_IGNORED;
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

Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują

#19
Napisano 26.08.2013 22:03
nosz kurde ! sorki wiesz jak mi teraz głupio.. czytam dokładnie ale zapomniałem o tamtej poprawce przepraszam cie strasznie !!! ;D sprawdze teraz ;D
----------------------------------------------------------
Jesteś wielki działa !!! masz plusiki ! - przepraszam ze zabrałem ci troche tego czasu
Użytkownik Neo Farcik edytował ten post 26.08.2013 22:14
Bo kolorowe jest piękne !
Również z jednym lub większą ilością słów kluczowych: cod nowy, nowa moc była dmg mniejsze
Paczka perkow.perki Napisany przez NAVIK, 24.03.2025 ![]() |
|
![]() |
|||
CoD Nowy
Plugin na małe mapy.Napisany przez NAVIK, 16.02.2025 ![]() |
|
![]() |
|||
CoD Nowy
Dodatkowe, osobne trzy linie opisu klasNapisany przez Rafii, 27.01.2025 ![]() |
|
![]() |
|||
CoD Nowy
problem z kompilacjaNapisany przez Anonimowy09, 21.01.2025 ![]() |
|
![]() |
|||
CoD Nowy
problem z HUDNapisany przez Anonimowy09, 10.01.2025 ![]() |
|
![]() |
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych