←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Ładowanie się paliwa

Blondyneczka ;* - zdjęcie Blondyneczka ;* 29.05.2012

Witam! Klasa posiada ładowanie paliwa aby latać Jetpackiem. Czas ładowania to (0.3) a ja chciałbym aby za zabójstwo dostawał tylko paliwo.
Czyli usunięcie ładowanie się paliwa automatycznie i dodanie aby za zabójstwo dostawał 10L paliwa.
Max paliwa 50 oraz dodanie do hud informacji takie np jak w diablo mod hopy paladyna to tu :
[Paliwo: 10/50]

Załączone pliki


Użytkownik WiWa edytował ten post 29.05.2012 14:01
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 29.05.2012

Spróbuj tego:

Załączony plik  Rocketman.sma   8,93 KB   11 Ilość pobrań

Nie wiem tylko czy jest jakiś sposób na podpięcie się pod HUD z CoDa (o ile taki istnieje), więc utworzyłem samemu odpowiedni HUD. W funkcji SprawdzTankowanie możesz zmienić pozycję i kolor HUDa, powinno się ładnie wyświetlać. Aktualizacja HUD jest co 0.3 sekundy.
Odpowiedz

Blondyneczka ;* - zdjęcie Blondyneczka ;* 29.05.2012

Dzięki działa hud, lecz nie działa za zabójstwo +10L paliwa.
A i jeszcze jedno czy da się aby napis : paliwo 50/50 nie mrugał cały czas?
Odpowiedz

Blondyneczka ;* - zdjęcie Blondyneczka ;* 30.05.2012

Proszę o pomoc
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 31.05.2012

Dziwne, wszystko powinno działać, jedynie zapomniałem (co teraz zauważyłem) o sprawdzaniu, czy gracz może dostać paliwo (czyli czy nie ma pełnego). Jeśli chcesz ograniczyć mruganie, wystarczy zwiększyć długość wyświetlania wiadomości o 0.1 sekundy w stosunku do częstotliwości odświeżania (linia 278, zmieniasz CO_ILE TANKOWANIE na 0.4).

Zamień linie 390 i 391 na te 3 linie:
    if(victim!=killer&&is_user_connected(killer))
if(paliwo[killer]<max_paliwo[killer])
paliwo[killer]+=10;

żeby sprawdzać, czy gracz nie przekracza pojemności baku. Jeśli dalej nie będzie działało, pokaż error logi, może tam coś będzie o tym..
Odpowiedz

Gość_21977_* 31.05.2012

Zamiast powyższego kodu, użyj lepiej kodu
	if(victim!=killer&&is_user_connected(killer))
paliwo[killer]=min(paliwo[killer]+10,max_paliwo[killer]);


Kod GwynBleidDa nie przewidział sytuacji, kiedy paliwo[killer]∈(max_paliwo[killer]-10;max_paliwo[killer]), kiedy to wartość paliwa, zamiast osiągnąć maximum, przekroczy je o (paliwo[killer]+10-max_paliwo[killer])∈(0,10)

edit. Poprawiłem powód, dla którego kod GwynBleidDa nie zawsze jest poprawy.
Użytkownik benio101 edytował ten post 31.05.2012 15:38
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 31.05.2012

Doda, ale powyżej limitu ;) Dzięki za poprawienie, nie pomyślałem na początku kompletnie o tym.
Odpowiedz

Gość_21977_* 31.05.2012

@up Poprawiłem powód, zanim przeczytałem Twój post powyżej :)
Oczywiście ponad limit. Mój błąd ;P

edit. Ale dzięki za spostrzeżenie.
Odpowiedz

Blondyneczka ;* - zdjęcie Blondyneczka ;* 01.06.2012

Dzięki wielkie
Zaraz przetestuje.

Nie wiem dlaczego ale nadal za zabójstwo nie otrzymuje +10 Litrów paliwa a logów nie ma.
Odpowiedz