←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Tutorial
Komenda /exp

Drewno. - zdjęcie Drewno. 16.12.2010

Witajcie.To mój pierwszy poradnik do diablo.Zaprezentuje w nim nową komendę - /exp.Sprawdza ona ilość obecnego doświadczenia i ile brakuje do następnego poziomu:

Jest to dosyć proste do zrobienia,ale zarazem do diablo bardzo przydatne,bo oprócz expa podanego w % wiemy ile dokładnie nam brakuje do lvl,więc wiemy ile grać aby osiągnąć dany poziom:

Pod:
register_clcmd("/reset","reset_skill")

Dodaj:
register_clcmd("say /exp", "exp")
register_clcmd("say exp", "exp")


I na końcu sma dodajesz:
public exp(id)
{
ColorChat(id, GREEN, "Poziom: ^x04%i ^x01- Masz ^x03(%d/%d)^x01 Doswiadczenia", player_lvl[id], player_xp[id], LevelXP[player_lvl[id]])
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])
}


UWAGA! do tego kodu wymagany jest moduł colorchat,jeśli go nie masz to w swoim diablo

Pod:
#include <csx>

Dodaj:
#include <colorchat>

Użytkownik Master'eX edytował ten post 16.12.2010 22:03
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 16.12.2010

public exp(id)
{
ColorChat(id, GREEN, "Poziom: ^x04%i ^x01- Masz ^x03(%d/%d)^x01 Doswiadczenia", player_lvl[id], player_xp[id], LevelXP[player_lvl[id]])
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])
}

Drobnostka ale chyba lepiej będzie tak ^^
Odpowiedz

Drewno. - zdjęcie Drewno. 16.12.2010

też racja,bo z tym colorchatem to coś z kolorami,musiałem tak zrobić,jak mam,ale dzięki za poprawkę
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 17.12.2010

Wszystko fajnie ale wypadało by dodać colorchat.inc ;)
Odpowiedz

FreZZy - zdjęcie FreZZy 17.12.2010

i spróbuj zrobić obliczenia na podstawie cvaru ile osób trza jeszcze zabić
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 17.12.2010

i spróbuj zrobić obliczenia na podstawie cvaru ile osób trza jeszcze zabić

Raczej niezbyt dobry pomysł, bo exp zdobywa się także za podłożenie/rozbrojenie paki, do tego jeszcze przecież ilość expa ile się dostaje za zabójstwo jest różna, zależy ona od różnicy lvl atakowanego i atakującego, a jeśli ktoś jeszcze dodatkowo sobie dodał do tego inne możliwości zdobycia expa, to takie obliczenie "ile trzeba jeszcze zabić" byłyby trochę, a nawet bardzo mylne.
No ale skoro pytasz, można by to zrobić na takiej zasadzie
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje Ci ^x04%d^x01 zabojstw", (LevelXP[player_lvl[id]]-player_xp[id])/get_cvar_num("diablo_xpbonus"))

i dodajesz to do tamtego publica.
Odpowiedz

FreZZy - zdjęcie FreZZy 17.12.2010

Raczej niezbyt dobry pomysł, bo exp zdobywa się także za podłożenie/rozbrojenie paki, do tego jeszcze przecież ilość expa ile się dostaje za zabójstwo jest różna, zależy ona od różnicy lvl atakowanego i atakującego, a jeśli ktoś jeszcze dodatkowo sobie dodał do tego inne możliwości zdobycia expa, to takie obliczenie "ile trzeba jeszcze zabić" byłyby trochę, a nawet bardzo mylne.


zdaje sobie z tego sprawe ale to jest mój kaprys
Odpowiedz

  • +
  • -
Szymon035 - zdjęcie Szymon035 17.12.2010

A mam takie pytanie co do tego:

I na końcu sma dodajesz:

public exp(id)
{
ColorChat(id, GREEN, "Poziom: ^x04%i ^x01- Masz ^x03(%d/%d)^x01 Doswiadczenia", player_lvl[id], player_xp[id], LevelXP[player_lvl[id]])
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])
}



To trzeba dodać na samym końcu pliku DiabloModa?
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 17.12.2010

Na końcu kodu pliku sma z diablo modem i potem go kompilujesz i wrzucasz na serwer.
Odpowiedz

strikepremium - zdjęcie strikepremium 27.12.2010

Welcome to the AMX Mod X 1.8.1-300 Compiler.

Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team



diablo.sma(1755) : warning 217: loose indentation

diablo.sma(1756) : warning 217: loose indentation

diablo.sma(10032) : error 017: undefined symbol "NORMAL"

diablo.sma(10032) : warning 215: expression has no effect

diablo.sma(10032) : warning 215: expression has no effect

diablo.sma(10032) : error 001: expected token: ";", but found ")"

diablo.sma(10032) : error 029: invalid expression, assumed zero

diablo.sma(10032) : fatal error 107: too many error messages on one line



Compilation aborted.

4 Errors.

Odpowiedz

Drewno. - zdjęcie Drewno. 27.12.2010

To:
ColorChat(id, NORMAL, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])

Zamien Na:
ColorChat(id, GREEN, "Do nastepnego poziomu brakuje ^x04%d^x01 Doswiadczenia", LevelXP[player_lvl[id]]-player_xp[id])
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 27.12.2010

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

diablo.sma(1755) : warning 217: loose indentation
diablo.sma(1756) : warning 217: loose indentation
diablo.sma(10032) : error 017: undefined symbol "NORMAL"
diablo.sma(10032) : warning 215: expression has no effect
diablo.sma(10032) : warning 215: expression has no effect
diablo.sma(10032) : error 001: expected token: ";", but found ")"
diablo.sma(10032) : error 029: invalid expression, assumed zero
diablo.sma(10032) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.

Pewnie masz starego colorchata, a tam nie ma "NORMAL" tylko "YELLOW".
Odpowiedz

Drewno. - zdjęcie Drewno. 30.12.2010

Najlepiej otworzyć colorchat.inl i po prostu sprawdzić jakie są dostępne rodzaje kolorów;)
Odpowiedz