Nowa statystyka obrażenia która przy 100 punktach zwiększy nasze obrażenia o 30 %(można to zmienić)
znajdujemy
kondycja_gracza[33]
pod tym dopisujemy
new obrazenia_gracza[33]
w public Obrazenia dodajemy przed SetHamParamFloat
damage += (damage * (float(obrazenia_gracza[idattacker])*0.003))
0.003 to mnożnik dając tam np. 0.004 przy 100 punktach obrażenia będą większe o 40% itp.
powinno to wyglądać tak
damage += (damage * (float(obrazenia_gracza[idattacker])*0.003))
SetHamParamFloat(4, damage*(1.0-redukcja_obrazen_gracza[this]));
return HAM_IGNORED;
w public UsunUmiejetnosci(id) dodajemy
obrazenia_gracza[id] = 0;
w public PrzydzielPunkty(id)
pod
format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
dodajemy
new szobrazenia[60];
format(szobrazenia,charsmax(szobrazenia), "Obrazenia: \r%i \y(Wieksze obrazenia)", obrazenia_gracza[id]);
w tej samej funkcji
pod
menu_additem(menu, kondycja);
dodajemy
menu_additem(menu,szobrazenia);
w funkcji public PrzydzielPunkty_Handler(id, menu, item)
pod
case 3:
{
if(kondycja_gracza[id] < limit_poziomu/2)
{
kondycja_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
dodajemy
case 4:
{
if(obrazenia_gracza[id] < limit_poziomu/2)
{
obrazenia_gracza[id]++;
punkty_gracza[id]--;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom obrazen osiagniety");
}
w funkcji
public ResetujPunkty(id)
dodajemy
obrazenia_gracza[id] = 0;
teraz musimy zmodyfikować zapis i wczytywanie
w public ZapiszDane(id)
zmieniamy tylko jedna linijke
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
na
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id],obrazenia_gracza[id]);
w public WczytajDane(id, klasa)
zamieniamy
new danegracza[6][32];
parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);
na
new danegracza[7][32];
parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31,danegracza[6], 31);
do tego pod
kondycja_gracza[id] = str_to_num(danegracza[5]);
dodajemy
obrazenia_gracza[id] = str_to_num(danegracza[6]);
i zamieniamy linijke
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
na
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia_gracza[id];
w funkcji public SprawdzPoziom(id)
zamieniamy dwa razy (powtarza się po prostu trzeba edytować obydwa 😉 )
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
na
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia_gracza[id];
teraz modyfikujemy aby statystykę było widać w hud
w funkcji public PokazInformacje(id)
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^nInteligencja : %i^nZycie : %i^nWytrzymalosc : %i^nKondycja : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]], inteligencja_gracza[target], zdrowie_gracza[target], wytrzymalosc_gracza[target], kondycja_gracza[target]);
na
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^nInteligencja : %i^nZycie : %i^nWytrzymalosc : %i^nKondycja : %i^nObrazenia : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]], inteligencja_gracza[target], zdrowie_gracza[target], wytrzymalosc_gracza[target], kondycja_gracza[target],obrazenia_gracza[target]);
lub jeśli chcemy mieć w formacie
Obrażenia: Procent
zamiast
Obrazenia: Punkty
używamy
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPerk : %s^nInteligencja : %i^nZycie : %i^nWytrzymalosc : %i^nKondycja : %i^nObrazenia : +%0.2f%%", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target], nazwy_perkow[perk_gracza[target]], inteligencja_gracza[target], zdrowie_gracza[target], wytrzymalosc_gracza[target], kondycja_gracza[target],float(obrazenia_gracza[target])*0.3);
i to wszystko kompilujemy i wrzucamy na serwer 🙂
Że Ci się chce 😀
Minute puźniej skończyłem pisać. o.0 😀
public obrazenia ? Jest taki wgl ? o.O
sory… to do nowego coda mysłałem żę do starego…
Dark jak to przerobić żeby ta statystyka dopiero pojawiała np na 100 lvl??
coś takiego
if(poziom_gracza[id] >= 100){
format(szobrazenia,charsmax(szobrazenia), „Obrazenia: \r%i \y(Wieksze obrazenia)”, obrazenia_gracza[id]);
}
dupa w public PrzydzielPunkty(id) dodałem
to
if(poziom_gracza[id] >= 100){
format(szobrazenia,charsmax(szobrazenia), „Obrazenia: \r%i \y(Wieksze obrazenia)”, obrazenia_gracza[id]);
}
zamiast tego
format(szobrazenia,charsmax(szobrazenia), „Obrazenia: \r%i \y(Wieksze obrazenia)”, obrazenia_gracza[id]);
i nie działa
Dałoby radę opisać, jak to połączyć z szybkim rozdawaniem statystyk?
daj mi linka do tego
http://amxx.pl/topic/39846-szybkie-rozdawanie-statystyk-cod-stary-i-nowy/
Dark ja mam błąd przy kompilacji:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
QTM_CodMod.sma(237) : error 017: undefined symbol „damage”
QTM_CodMod.sma(237) : error 017: undefined symbol „damage”
QTM_CodMod.sma(239) : warning 217: loose indentation
QTM_CodMod.sma(239) : error 017: undefined symbol „damage”
QTM_CodMod.sma(239) : error 017: undefined symbol „this”
QTM_CodMod.sma(239) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(239) : fatal error 107: too many error messages on one line
Compilation aborted.
6 Errors.
Poradzisz coś na to ?
daj swoje sma
wrzuć na jakiś hosting 🙂
http://amxx.pl/wklejka/132295018519691/
Oto sma 😀
a ja mam taki bład przy compilacji
//// QTM_CodMod.sma
// F:\compiler\QTM_CodMod.sma(866) : error 040: duplicate „case” label (value 5)
//
// 1 Error.
// Could not locate output file compiled\QTM_CodMod.amx (compile failed).
//
// Compilation Time: 0,72 sec
A da rade przerobić tuta tak, aby współgrało z tym : http://amxx.pl/topic/39846-szybkie-rozdawanie-statystyk-cod-stary-i-nowy/
Dałbyś radę połączyć
http://amxx.pl/topic/39846-szybkie-rozdawanie-statystyk-cod-stary-i-nowy/
Dam ci tyle plusów na amxx ile tylko jest możliwych ;D
A dałbyś gotowe .SMA bo nie mogę coś zrobić 6 errorów
Kurde ;/ Robię to lub grawitację i mam mnóstwo errorów , jak już poprawiam to się sypią klasy nie wiem czemu , albo wgl nie ma tej statystyki , mógłbyś mi ją wgrać ?
http://speedy.sh/sCCZC/QTM-CodMod.sma
Z góry dzięki 😉
Trochę odkopie temat ale mam w chuj głupi bug po dodaniu tej statystyki a mianowicie jak zmieniam z klasy która ma wyższy lvl na mniejsza to dodaje mi jakieś nie stworzone rzeczy w kondycje po kilka tysi przy nowym lvl mam punkty na minusie tyle ile mi dodało do kondycji , nie mam pojęcia jak to naprawić może jakieś pomysły ?
update
Poradziłem sobie
Misiek a jak to zrobiłeś bo ja mam ten sam problem że po zmianie mapy albo klasy wywala mi 50000lvl i -300000% expa ;/
Mam pewien problem, otóż dodaje wszystko tak jak być powinno, krok po kroku wklejam i podmieniam linijki kodu i ? error przy kompilacji.
QTM_CodMod.sma(72) : error 020: invalid symbol name „”
QTM_CodMod.sma(389) : error 017: undefined symbol „obrazenia_gracza”
QTM_CodMod.sma(389) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(389) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(389) : fatal error 107: too many error messages on one line
Compilation aborted.
5 Errors.
Done.
Plugin działa ale nie ma statystyki obrażeń.
Pomysły ?
tak nie dodajesz wszystkiego
„undefined symbol „obrazenia_gracza””
http://www.speedyshare.com/nWZCr/QTM-CodMod.sma
Byłym bardzo wdzięczny gdybyś poprawił ten kod i w miarę możliwości na końcu dopisał co zrobiłem źle ;}
„pod tym dopisujemy
new obrazenia_gracza[33]”
Jeśli pod kondycja_gracza[33] dodaje new obrazenia_gracza[33] wychodzi
QTM_CodMod.sma(74) : error 020: invalid symbol name „”
QTM_CodMod.sma(326) : error 017: undefined symbol „gracz_ma_tarcze”
QTM_CodMod.sma(326) : warning 215: expression has no effect
QTM_CodMod.sma(326) : error 001: expected token: „;”, but found „]”
QTM_CodMod.sma(326) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(326) : fatal error 107: too many error messages on one line
Masz może gotowca z Obrażeniami?
To bym sobie gotowy plugin edytował zamiast się z tym bawić 😀
nie wiem jakim cudem można zepsuć coś w zwykłym kopiowaniu
http://speedy.sh/gs9XE/QTM-CodMod.sma
Nie znasz jeszcze moich zdolności 😀
Dzięki za edycję, dziwi mnie fakt, że jak robiłem tak jak Ty to błędy były takie jak napisałem @Up …. .
Wyskakuje mi taki bład przy kompilacji
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
QTM_CodMod.sma(717) : warning 217: loose indentation
QTM_CodMod.sma(718) : warning 217: loose indentation
QTM_CodMod.sma(915) : warning 217: loose indentation
QTM_CodMod.sma(915) : error 014: invalid statement; not in switch
QTM_CodMod.sma(915) : warning 215: expression has no effect
QTM_CodMod.sma(915) : error 001: expected token: „;”, but found „:”
QTM_CodMod.sma(915) : error 029: invalid expression, assumed zero
QTM_CodMod.sma(915) : fatal error 107: too many error messages on one line
Compilation aborted.
4 Errors.
O co chodzi co źle zrobiłem?
nie jestem w stanie stwierdzić bez kodu
DarkGL mógłbyś napisać nową statystyke? Mam pomysł napisz na GG 11227131 jak byś mógł
jak bys mogl pokazac do cod starego to bym byl wdzieczny 🙂
przecież tu jest http://darkgl.amxx.pl/index.php/2011/09/05/procentowy-exp-2/
xD, zwalić coś w zwykłym kopiowaniu 😀
Jak jeszcze, zobaczysz ten temat ;/ to ja mam problem wiesz wszystko dobrze dodalem wszystko ok ale jak awansuje na nastepny lv to raz mam 2 punkty raz 5 raz 90 raz 40 o co chodz!? prosze pomusz
Zmiana tutaj nie ma na to wpływu sprawdź czy nie zrobiłeś czegoś podczas edytowania sma
Wiem wiem dziękuje właśnie pod czas robienia, sma
Nie podmieniłem tej linijki : „punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia_gracza[id];”
A i jeszcze jak umiesz proszę pomusz mi.
LINK : http://amxx.pl/topic/94318-prosba-o-dodanie-grawitacji-do-silnika-qtm-codmodsma/
Dzieki, wszystko działa 🙂
Dziękować ci tylko za udostępnienie tego <3
Tylko mam pytanie jak dodać tą statystykę do klasy ?
Co trzeba w tej klase (sma) dopisać i co trzeba dopisać w codmod.inc , żeby skompilować ?
na razie w hudzie pokazuje ile [target] ma dodanych punktow w ta statystyke. moglbys to zmienic by pokazywalo od razu ile dodatkowych procent obrazen zadaje?
np: Obrazenia: +40%
Witam, a podałbyś plik .inc lub co trzeba do niego dopisać, aby można było pod to dorobić klasy? 🙂
ponawiam swoja prosbe:
na razie w hudzie pokazuje ile [target] ma dodanych punktow w ta statystyke. moglbys to zmienic by pokazywalo od razu ile dodatkowych procent obrazen zadaje?
np: Obrazenia: +40%
Dodane
dzieki wielkie
hmm a klasy trzeba edytować i dodać new const obrazenia ?
Nie
a jest możliwość zrobienia że 4 pkt w state = 1 dmg ?
damage += (damage * (float(obrazenia_gracza[idattacker])*0.003)) zamień na
damage += float( obrazenia_gracza[idattacker] ) / 4.0
Yo ja mam errory zobaczyl bys?
http://speedy.sh/sqcKS/QTM-CodMod.sma
Pomoze ktos?
O takie rzeczy lepiej pytać na forum
Na forum ban ;[
Wybacz że robię odkop ale sam używam nowego cod moda i u mnie kod od zapisu i odczytu jest całkowicie inny.
Dziękuje oraz Pozdrawiam 🙂
Używasz jakieś zmodyfikowanej wersji
Mam problem 😀
Nie umiem dodać grawitacji i tego w jednym zawsze jakieś errory ;c
DarkGL
Pomożesz?
http://amxx.pl/pastebin/2gnzohr9m0/
Tutaj już jest dodana grawitacja
Proszę tylko dodać obrażenia 🙂
a ja zrobiłem prawie wszystko ok ale wyskakują takie błędy
silnik.sma(454) : error 017: undefined symbol „obrazenia_gracza”
silnik.sma(454) : error 029: invalid expression, assumed zero
silnik.sma(454) : error 029: invalid expression, assumed zero
silnik.sma(454) : fatal error 107: too many error messages on one line
nie wiem o co chodzi dodalem nowe statystki do tego silnika i chyba dzialaja tylko te obrazenia ma problem moglbys zrobic aby przy 50 pkt bylo 50 % wieksze obr
lub jak ladujesz w obrazenia na serwerze np dasz 2/50 to 2 ci daje 1% da sie tak ?
http://wklejto.pl/218698
prosze o to silnik
z obrazeniami chodziło o to że
np dasz w statystyke 2/50 to 2 ci pokazuje 1% obrazenia wieksze
Poproś na forum o pomoc