Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Potrzebuje pomocy przy skrypcie do lola w lua


Rekomendowane odpowiedzi

Opublikowano

Witam, ostatnio zacząłem bawić się w pisanie skryptów do Lol'a w języku lua. Udało mi się osiągnąć częściowo zamierzony efekt przy moim pierwszym skrypcie(Miał automatycznie używać umiejętności jeżeli obrażenia są większe niż zdrowie celu) teraz chciałbym żeby uwzględniał też odporność na obrażenia i przebicie obrażeń wiedząc że każdy 1 pkt. odporności na magię zapewnia celowi dodatkowe 1% maksymalnego zdrowia na obrażenia magiczne(tzn jeżeli jesteśmy atakowani przez magię mając 1000 hp i 60 odpornosci to zostaniemy potraktowani jakbyśmy mieli 1600 hp). Szczerze mówiąc nawet nie wiem jak ma wyglądać działanie.
 
Tak wyglądają fragmenty kodu odpowiedzialne za obrażenia


 

        if ValidTarget(Target, 675) then
                MHp = GetMaxHP(Target)
                CHp = GetCurrentHP(Target)
		MRs = GetMagicResist(Target) --odporność na magie
		Mpn = GetMagicPenFlat(myHero)  --Przebicie odporności
                Jhp = MHp - CHp              
CalcDamage(myHero, Target, 0, DemacianJ(Jhp)) > GetCurrentHP(Target) then -- po CHp był kod odpowiadający za sprawdzenie czy umiejętność jest dostępna i czy jest cel w pobliżu
function DemacianJ(Jhp) --obrażenia magiczne zadawane przez umiejętność
        if GetCastLevel(GetMyHero(), _R) < 1 then
                return 0
        end
        if GetCastLevel(GetMyHero(), _R) == 1 then
                return (175 + (Jhp / 3.5))
        end
        if GetCastLevel(GetMyHero(), _R) == 2 then
                return (350 + (Jhp / 3))
        end
        if GetCastLevel(GetMyHero(), _R) == 3 then
                return (525 + (Jhp / 2.5))
        end    
end

 

 

 

 

"Samogwałt to przyjemność, sam gwałt to już kara"

 

Opublikowano

Próbowałeś tak?

local damage = getDmg("R", enemy, myHero)
if target.health <= damage then
    CastSpell(_R, target)
end

Pominąłem sprawdzenie zasięgu.

Sam nie próbowałem takiego rozwiązania, ten skrypt jest do Bola a w Gosie jest tylko "GetDmgShield" i nie ma "enemy"

 

 

"Samogwałt to przyjemność, sam gwałt to już kara"

 

Opublikowano

Sam nie próbowałem takiego rozwiązania, ten skrypt jest do Bola a w Gosie jest tylko "GetDmgShield" i nie ma "enemy"

W takim razie powiem jeszcze inaczej.

local var = getDmg(arg1, arg2, arg3)

arg1 - string zawierający spell. W Twoim przypadku jest to "R".

arg2 - przeciwnik. U Ciebie nazywa się Target, więc tutaj to wpisz.

arg3 - caster spella, czyli Ty. Ten obiekt zawsze nazywa się myHero.

getDmg zwraca damage, który zadasz ze spella. Bierze pod uwagę już przeliczniki, odporności, przebicia itp.

Skończ proszę się kompromitować. Jesteś nikim.

Opublikowano

-_- włączyłem te linijki kodu do skryptu i postać nic nie robiła poniewać niema czegoś takiego jak getDmg... to jest w Bolu ale nie Gosie, ten program ma nieco bardziej ubogie funkcje

 

 

"Samogwałt to przyjemność, sam gwałt to już kara"

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...