Skocz do zawartości
Thomas

[Rozwiązane] Pytania do zarządzania silnikiem "codmod nowy"

Rekomendowane odpowiedzi

Witam wszystkich czytających jak i tych którzy będą Mi pomagać w zrozumieniu tego i naprawy.

Więc wziąłem się za mała edycję silnika i pierwsze pytanie jaki Mi się nasuwa to czemu jako klasa brak mam dziwnie dużą kondycję a po wybraniu klasy jakąś dziwną grawitację.

Drugie pytanie jak dodać tutaj wyrównanie lvl czyli mamy np serwer "On" osoby grające mają już np 300 lvl i nowy gracz żeby na start dostał np 10% średniego lvl na serwerze.

I trzecie pytanko jak dodać tak zwana tabelkę expa, chyba że już takie coś istnieje to niech ktoś Mnie oświeci bo nie mogłem tego znaleźć w silniku.

 

Jeżeli  złym dziale napisałem temat to proszę o jego przeniesienie, a co do samego tematu to proszę nie zamykać go przez tydzień chyba że zgłoszę że więcej pytań nie mam.

Z góry dziękuję i oczywiście za pomoc łapkę dam ?

Przez Vasto_Lorde,

Z racji tego, że post jest na temat kodu pluginu i jego przeróbki, przenoszę do odpowiedniego działu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pierwsze:

  nazwy_klas[0] = "Brak";
  opisy_klas[0] = "Brak dodatkowych uzdolnien";
  inteligencja_klas[0] = 0;
  zdrowie_klas[0] = 100;
  obrazenia_klas[0] = 0;
  wytrzymalosc_klas[0] = 0;
  kondycja_klas[0] = 100;
  adrenalina_klas[0] = 0;

w funkcji OnPluginStart z racji nie posiadania żadnej klasy dostajemy bonus to prędkości i zdrowia - aby to usunąć, zwyczajnie pozbądź się linijek odpowiedzialnych za zdrowie i kondyche, lub ustaw wartości na 0.

 

 

Drugie:

Nie widziałem takiego rozwiązania na żadnym forum. Gdybyś chciał się tego podjąć, można przykładowo na początku każdej mapy pobierać największy level i ustawiać 10% jego wartości dla każdego gracza, który wybierze klasę o niższym levelu.

 

 

Trzecie:

Wersja CodModa od Linuxa opiera się na wartości level ratio, która określa jak trudno zdobyć kolejne poziomy. Wzór:

RoundFloat(Pow(float(poziom), 2.0)) * twój_level_ratio

Gdybyś chciał ustawiać poziom samodzielnie, wymagana by była edycja silnika

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z tą tabelką expa będę chyba potrzebował pomocy bo łatwe to nie jest, ale mam kolejne pytanie jak wyłączyć tego huda na środku co jest wklejony w informację i czy macie jakiś poradnik lub jakieś podpowiedzi jak stworzyć własnego huda. Chodzi tu o takiego jak zawsze był czyli po lewej stronie z klasa, lvl itp.

 

Edytowane przez Thomas

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ten domyślny "hud" to HintText i możesz go znaleźć w funkcji PokazInformacje (PrintHintText
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!
)

 

Jeśli chcesz stworzyć "huda z lewej strony", to tutaj już musisz posłużyć się SetHudTextParamsEx
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!
oraz ShowHudText
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Przykład zastosowania:

public void PokazInformacje(int client) {
//...blabla
SetHudTextParamsEx(-1.0, 0.9, 0.3, {
              255,
              255,
              0,
              255
            });

ShowHudText(client, 1, "Tutaj sformatowana wiadomość. Można korzystać z %s", "reguł formatujących");
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mam też problem z dodaniem % expa.

Link do poradnika linuxa:https://mygo.pl/topic/2951-cod-nowy-dodawanie-procentowego-doswiadczenia/

Robię dokładnie tak jak tam opisuję i wyrzuca Mi 23 błędy.

Tutaj podrzucam wklejkę z błędami: http://www.wklejto.pl/707731
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
local variable "target" shadows a variable at a preceding level

Błąd ten oznacza po krótce, że zadeklarowałeś gdzieś funkcji zmienną, której nazwa jest taka sama jak zmienna, będący w innym zasięgu(scope'ie) - na przykład w zmiennych globalnych, w bibliotekach etc.

 

Bardzo często w sytuacji, w której kompilator znikąd wypluwa masę błędów tego typu, prawdopodobnie nie domknąłeś gdzieś klamry, przez co kompilatorowi mylą się zasięgi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Próbowałem sam to ogarnąć, ale najwidoczniej moja wiedza jest jeszcze zbyt mała żeby się z tym uporać.

Może chciałby ktoś siąść jak z dzieckiem i wytłumaczyć co z czym się łączy ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wracając do trzeciego pytania. Ktoś chętny wytłumaczyć lub pomóc w dodaniu tabelki expa ? Bo błędy sypie już Mi od 2 dni xD

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gdzie tabelka ma się wyświetlać?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@Yamakashi z tego co zrozumiałem chodzi o zastąpienie levelRatio tablicą, w której na sztywno będą liczby odzwierciedlające wymaganą ilość expa dla danego lvl'a

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, MAGNET napisał:

@Yamakashi z tego co zrozumiałem chodzi o zastąpienie levelRatio tablicą, w której na sztywno będą liczby odzwierciedlające wymaganą ilość expa dla danego lvl'a

Tak właśnie o to chodzi.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...