Skocz do zawartości

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
Fix

Diablo Onyke - Niewidzialność

Fix

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

#1 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 18.01.2012 10:59

*
Popularny

Witam,

jak niektórzy zauważyli, przy klasach Mefisto oraz Mnich pojawia się błąd związany z niewidzialnością - te klasy po dostaniu itemku zmniejszającego niewidzialnośc, wcale nie robią się bardziej niewidoczne. Jest to spowodowane mechanicznym skopiowaniem kodu przez autora diablo od Ninjy :)

Łatka ta rozwiązuje ten problem

Należy znaleźć public set_renderchange(id) i w tej funkcji podmienić kod:


						
else if (player_class[id] == Mnich)
{
new inv_bonus = 255 - player_b_inv[id]
render = 200

if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=3
render-=2
}
}

if(player_b_usingwind[id]==1)
{
render/=2
}

if(render<0) render=0

if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2

set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}
else if (player_class[id] == Mefisto)
{
new inv_bonus = 255 - player_b_inv[id]
render = 150

if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=2
render--
}
}

if(player_b_usingwind[id]==1)
{
render/=2
}

if(render<0) render=0

if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2

set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}

  • +
  • -
  • 5

#2 Koniarek

    Wszechwidzący

  • Zbanowany

Reputacja: 28
Życzliwy

  • Postów:250
  • Imię:Filip
  • Lokalizacja:Daleko
Offline

Napisano 18.01.2012 12:54

Ja nie uzywam Diablo by Onyke a mam ten Problem +

#3 M@R(iN

    Zaawansowany

  • Zbanowany

Reputacja: 5
Nowy

  • Postów:84
  • GG:
  • Lokalizacja:Counter Strike 1.6
Offline

Napisano 18.01.2012 21:03

całe to podmienic na twoje?>?

Spoiler

Onyke (18.01.2012 21:18):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.

Użytkownik Onyke edytował ten post 18.01.2012 21:18


#4 Nakupenda.

    Not yet YODA

  • Autor tematu
  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 18.01.2012 21:46

tylko to co jest w pierwszym poście. Kody różnią się drobnie, lecz ta mała zmiana powoduje bug.
  • +
  • -
  • 0

#5 szczepaneto

    Zaawansowany

  • Zbanowany

Reputacja: 10
Początkujący

  • Postów:122
  • Lokalizacja:KrK
Offline

Napisano 19.01.2012 16:18

ok mam pytko u mnie klasa ma 80 rendera na początek i dałem podzielną przez 5 czyli to jest 80-50 i jest tyle ile chce ale nie kminie o co chodzi w render-- czemu w jednym masz -=2 a w drugim --
	new inv_bonus = 255 - player_b_inv[id]
render = 80

if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=5
render--
}
}

Użytkownik szczepaneto edytował ten post 19.01.2012 16:18


#6 Nakupenda.

    Not yet YODA

  • Autor tematu
  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 19.01.2012 22:16

hmm, klasie z renderem 80 cięzko dać odpowiedni ułamek, ja bym polecał dać render 85 i wtedy taki kod będzie poprawny:



        new inv_bonus = 255 - player_b_inv[id]
        render = 85
  
        if(player_b_inv[id]>0)
        {
         while(inv_bonus>0)
         {
          inv_bonus-=3
          render-=1
         }
        }



ciężko wytłumaczyć dlaczego tak jest, to jes połączenie algorytmiki i matematyki :F
  • +
  • -
  • 0

#7 szczepaneto

    Zaawansowany

  • Zbanowany

Reputacja: 10
Początkujący

  • Postów:122
  • Lokalizacja:KrK
Offline

Napisano 19.01.2012 22:20

nie nie ogólnie z Twojego posta w problemach rozumiem o co chodzi ale nie opisałeś o co chodzi w

render-=1

#8 M@R(iN

    Zaawansowany

  • Zbanowany

Reputacja: 5
Nowy

  • Postów:84
  • GG:
  • Lokalizacja:Counter Strike 1.6
Offline

Napisano 19.01.2012 22:31

ok podmieniło;d Teraz tylko testowac;d

#9 Nakupenda.

    Not yet YODA

  • Autor tematu
  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 19.01.2012 22:41

render-- to jest to samo co render-=1 czyli zmniejszamy render o 1

poczytaj na necie o inkrementacji i dekrementacji, stąd się wziął symbol "C++" że jest to zinkrementowane (lepsze, wyższy poziom) C

edit: to to samo co
render = render - 1

Użytkownik Nakupenda. edytował ten post 19.01.2012 22:45

  • +
  • -
  • 0

#10 szczepaneto

    Zaawansowany

  • Zbanowany

Reputacja: 10
Początkujący

  • Postów:122
  • Lokalizacja:KrK
Offline

Napisano 19.01.2012 22:59

omg że też nie wpadłem na to ok all działa thx +

#11 Divic

    Wszechpomocny

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:326
  • Lokalizacja:Polska
Offline

Napisano 15.02.2012 17:14

Nakupenda.


A jak mam cos takiego

else if(player_class[id] == Zabojca)
{
render = 145
if(player_b_inv[id]>0) render = 145 - player_b_inv[id]

set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}


to jak zrobić żeby itemy dodawały mu niewidzialności ale jednocześnie maxylamnie żeby jego widoczność była zmniejszona do 60
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Fix

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych