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
CoD Stary

Problem z Klasami - GodMod oraz znikanieBłąd przy kompilacji pliku

CoD Stary

  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Kendzior87

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:130
  • Lokalizacja:Matrix
Offline

Napisano 29.04.2011 08:40

Witam,
Poskładałem wszystkie dane z tego wątku GodMod/NoClip/Znikanie no ale niestety coś jest nie tak.

Bardzo bym prosił o rzucenie okiem na ten twór, chodzi o to że zrobiona przeze mnie klasa powinna posiadać 1-krotne użycie w ciągu rundy "mocy" GodMod na 3sek. wraz z progress barem czasu trwania umiejętności włączonej.
Jeżeli to możliwe to potrzebowałbym też drugą identyczną wersję tylko nie z GoDMoD'em a z znikaniem -> set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 1); bo nie wiem jak to ustawić.

Gdy tworzę klasę z godmode na 3 sek 1krotne użycie w ciągu rundy z progressbar:

W public UzyjPrzedmiotu:
if(klasa_gracza[id] == MojaKlasa) 
        {
                set_task(3.0,"godon",id,"",0,"a",1);
        }

Na początku pliku dodajemy:
new GodmodeZuzyte[33];

Trochę zmienić w publicach:
public godon(id)
{
        if(!equal(GodmodeZuzyte[id], 1)
        {
        GodmodeZuzyte[id] = 1
        set_user_godmode(id, 1)
        set_task(3.0,"godoff",id,"",0,"a",1)
        }
        else
        {
        return PLUGIN_CONTINUE;
        }
}
public godoff(id)
{
        set_user_godmode(id, 0)
}

I w PoczatekRundy:
GodmodeZuzyte[id] = 0

co do paska który pokazuje np trwanie danego itemku to:

jeśli dodajemy coś w public UzyjPrzedmiotu, np.

if(klasa_gracza[id] == MojaKlasa) 
        {
                set_task(3.0,"godon",id,"",0,"a",1);
        }



to po
set_task(0.1,"godon",id,"",0,"a",1);
dodajcie linijkę
set_bartime(id, 3, 0)

a to wklejacie na koniec kodu z COD'em

stock set_bartime(id, czas, startprogress=0)
{
        message_begin((id)?MSG_ONE:MSG_ALL, get_user_msgid("BarTime2"), _, id)
        write_short(czas);
        write_short(startprogress);
        message_end();   

}


Przy kompilacji w tym miejscu:
if(!equal(GodmodeZuzyte[id], 1)
błąd kompilacji:
Error: Argument type mismatch (argument 2) on line 2430

jakieś sugestie? :>
  • +
  • -
  • 0

#2 Grzesiek

    Wszechpomocny

  • Użytkownik

Reputacja: 96
Zaawansowany

  • Postów:343
  • GG:
Offline

Napisano 29.04.2011 12:58

proponuję ci wrzucić .sma i powiedzieć które dokładnie itemy nie działają;]
  • +
  • -
  • 0

#3 Kendzior87

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:130
  • Lokalizacja:Matrix
Offline

Napisano 29.04.2011 15:10

W *.sma nie mam tego itemu bo nie mogłem go skompilować więc usunąłem tą modyfikację, dodawałem dokładnie tak jak opisałem wyżej, ale zaraz dopisze to do mego *.sma i wrzucę tutaj :)

edit //wyłapałem czemu nie chciało się kompilować lecz teraz jest inny problem.

zmieniłem
if(!equal(GodmodeZuzyte[id], 1)
        {
        GodmodeZuzyte[id] = 1
        set_user_godmode(id, 1)
        set_task(3.0,"godoff",id,"",0,"a",1)
        }
        else
        {
        return PLUGIN_CONTINUE;
        }

na:

if(GodmodeZuzyte[id] = 1)
        {
	return PLUGIN_CONTINUE;	
        }
        else
        {	
        GodmodeZuzyte[id] = 1
        set_user_godmode(id, 1)
        set_task(3.0,"godoff",id,"",0,"a",1)
        }

ale mam inny problem, plik się skompilował, można używać umiejętności więcej niż raz no i pasek progressbar ma czas trwania znacznie dłuższy niż 3 sek. W tym .sma są dwie klasy Fanatyk - niewidzialność i T1000 - godmode, proszę o poprawienie kodu, obie klasy mają działać tak samo (umiejętność na 3 sek użycie 1 krotne w ciągu rundy oraz progressbar też na 3 sek) z rozgraniczeniem, że jedna posiada niewidzialność druga godmode. Kombinuje i nie daje rady tego przeskoczyć :/

Załączony plik  qtm_codmod edytowany.sma   76,42 KB  53 Ilość pobrań
  qtm_codmod edytowany.amxx
Oto moje .sma jakby komuś wpadły inne błędy w kodzie proszę o info/poprawieni. Dzięki wielkie.

Użytkownik Kendzior87 edytował ten post 29.04.2011 18:05

  • +
  • -
  • 1

#4 NieMaMnie

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:23
  • Steam:steam
  • Imię:Jaś
  • Lokalizacja:Miesiąc
Offline

Napisano 02.05.2011 10:20

siema. To tak:

błędy poprawione, dodane to co chciałeś + "optymalizacja" kodu = usunięte zbędne IFy, spacje i tabulatory

wszystko się dobrze kompiluje - powinno działać i u Ciebie :)

Fanatyk - raz na rundę może mieć niewidzialność na 3s z paskiem na 3s
T1000 - raz na rundę może mieć godmoda na 3s z paskiem na 3s

jakby coś jeszcze nie śmigało = pisz :]

__________________________________________

PS
nie mogę zrozumieć składni Twojego kodu na godmoda podanego wyżej - jak Ty to pisałeś? :D

Załączone pliki


Użytkownik NieMaMnie edytował ten post 02.05.2011 10:22

  • +
  • -
  • 1

#5 Kendzior87

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:130
  • Lokalizacja:Matrix
Offline

Napisano 02.05.2011 11:05

dzięki wielkie :)
a ta składnia to racja :D takie twory że szok :P próbowałem wszystkiego bo klasa z umiejętnością aktywną i z paskiem czasu jest narpawde ciekawa :)

Użytkownik Kendzior87 edytował ten post 02.05.2011 11:09

  • +
  • -
  • 0





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

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

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