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

Tworzenie klas, poziomów i expa


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

#1 Merciless

    Życzliwy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:31
  • Lokalizacja:Baugladełsz
Offline

Napisano 01.08.2013 01:42

Witam. Chciałbym stworzyć pare klas, dodać do nich poziom, który wbija się po osiągnięciu określonej ilości expa, lecz nie bardzo wiem jak to zrobić, znalazłem w internecie taki skrypcik, lecz nie bardzo rozumiem sposobu odczytywania poziomu, klasy i expa

#define MAXCLASSES 5

new const CLASSES[MAXCLASSES][] = {
    "None",
    "Dog",
    "Cat",
    "Horse",
    "Cow"
}

new const LEVELS[6] = {
    100, 
    200, 
    400, 
    800,
    1600,
    3200
}

new PlayerXP[33],PlayerLevel[33],PlayerClass[33]

Jest coś takiego zrobione odnośnie klas, poziomów i expa natomiast autor odwołuje się do tych zmiennych w ten sposób

CLASSES[PlayerClass[id]] Czy to ma zwrócić klase, którą gracz wybrał?

Natomiast przy wybieraniu klasy zastosował takie coś

    new i = str_to_num(szCommand)
    if(PlayerClass[id] != i)
    {
        PlayerClass[id] = i
        client_print(id,print_chat,"You are now a %s",CLASSES[i])
    }
    else
    {
        client_print(id,print_chat,"You are alredy a %s",CLASSES[i])
    }

To jest kawałek kodu z menu, klasy są pod przyciskami 1,2,3,4. Dziwne jest te wybieranie klasy, nie ma jakichś łatwiejszych czy przejrzystszych sposobów do takich rzeczy?

 

Co musiałbym zapisać aby po wczytaniu, jeszcze przed wyborem klasy widniał lvl danej klasy jaki wbiłem przez całą swoją gre? Nie wiem czy coś takiego przejdzie CLASSES[PlayerLevel[id]], jak wspomniałem nie bardzo rozumiem te sposoby, te const itd. Mógłby mi ktoś wyjaśnić jak to robić i może jakieś prostsze lub przejrzystsze sposoby podać, tutorialem do wyjaśnienia tychże rzeczy nie pogardzę xD


  • +
  • -
  • 0

#2 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 01.08.2013 09:16

To rozwiązanie jest "najlepsze" i najwygodniejsze - takie jest w Diablo 5.9 i w Codzie Starym. Łatwiej się operuje na liczbach i odwoływać się do tabeli niż jakbyś miał do zmiennej zapisać całą nazwę , szybkość, hp itp.

 

Co do wczytywania  danych - http://amxx.pl/topic...roche-o-nvault/ - zobacz jak to wygląda w Diablo (jak interesuje Cię SQL) lub w Codzie (jak Nvault). Przy Tworzeniu Menu Pobiera informacie z nvaulta na id klasy a nie jego nazwę. i tworzy item w menu.


  • +
  • -
  • 0

#3 Merciless

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:31
  • Lokalizacja:Baugladełsz
Offline

Napisano 01.08.2013 10:48

Zapisywanie z nvault rozumiem mniej więcej, lecz nie bardzo wime jak mam używać tych funkcji. Prosiłbym jeszcze o odpowiedź na ostatnie pytania, dziękuje


  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 01.08.2013 15:51

W sensie czego nie rozumiesz? Chcesz coś zapisać to zapisujesz w momencie którym chcesz, nie znasz kolejności i ilości argumentów funkcji to zaglądasz do dokumentacji, ta biblioteka jest prawie cała chyba uzupełniona.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 Merciless

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:31
  • Lokalizacja:Baugladełsz
Offline

Napisano 01.08.2013 16:20

Nie wiem jak mam się odnosić do tych zmiennych


  • +
  • -
  • 0

#6 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 01.08.2013 22:11

Których zmiennych? Jak widzę masz do zapisania liczby, nick i wypadałoby zapisać klase, o ile dobrze pamiętam w cod starym klasa i nick była w kluczu.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#7 Merciless

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:31
  • Lokalizacja:Baugladełsz
Offline

Napisano 02.08.2013 00:35

A mam takie pytanie, jak mogę nadać dla gracza daną klasę, jest jakiś inny sposób niż ten str_to_num co pokazywałem?


  • +
  • -
  • 0

#8 Merciless

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:31
  • Lokalizacja:Baugladełsz
Offline

Napisano 02.08.2013 01:16

Przepraszam za doubla ale nie mogę edytować. Mam problem z klasami i expem, po wybraniu jednej z klas zabijam postac, wbija mi się lvl w jednej i w drugiej klasie, zamiast tylko w jednej

Tak jest w evencie deathmsg

PoziomGracza[attacker] += 1

Reszte mam tak jak podałem wyżej, klasy, tabele expa itd.


  • +
  • -
  • 0




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

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