Nowa statystyka obrażenia

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 🙂

61 komentarzy o “Nowa statystyka obrażenia

  1. coś takiego
    if(poziom_gracza[id] >= 100){
    format(szobrazenia,charsmax(szobrazenia), „Obrazenia: \r%i \y(Wieksze obrazenia)”, obrazenia_gracza[id]);
    }

  2. 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

  3. 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 ?

  4. 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

  5. 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 ?

  6. Misiek a jak to zrobiłeś bo ja mam ten sam problem że po zmianie mapy albo klasy wywala mi 50000lvl i -300000% expa ;/

  7. 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 ?

  8. 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

    1. Masz może gotowca z Obrażeniami?

      To bym sobie gotowy plugin edytował zamiast się z tym bawić 😀

    1. 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 …. .

  9. 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?

  10. DarkGL mógłbyś napisać nową statystyke? Mam pomysł napisz na GG 11227131 jak byś mógł

  11. 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

  12. 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ć ?

  13. 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%

  14. Witam, a podałbyś plik .inc lub co trzeba do niego dopisać, aby można było pod to dorobić klasy? 🙂

  15. 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%

  16. damage += (damage * (float(obrazenia_gracza[idattacker])*0.003)) zamień na

    damage += float( obrazenia_gracza[idattacker] ) / 4.0

  17. 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 🙂

  18. 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 ?

  19. z obrazeniami chodziło o to że
    np dasz w statystyke 2/50 to 2 ci pokazuje 1% obrazenia wieksze

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.