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

Problem z dodaniem nowej klasy


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Belormoroth

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Lokalizacja:Ruda Śląska
Offline

Napisano 22.01.2011 20:41

Witam.

Jesli pisze w zlym dziale proszę o przeniesienie.

Wersja Diablo Moda "DiabloMod 5.9l"

Przy dodawaniu klasy wg tego poradnika dochodze do:

###### -- ZNAJDŹ -- ######

case Hunter: fm_give_item(id, "weapon_hegrenade")

###### -- ZAMIEŃ NA -- ######

case Hunter: fm_give_item(id, "weapon_hegrenade")
case Cziter: // gdy noz sie naladuje..
{
player_b_damage[id]+=5;
client_print(id, print_center, "Masz juz %d dodatkowych obrazen!", player_b_damage[id]);
}


Super ale w pliku sma miedzy klasami sa nawiasy itp.

case Ninja:
{
show_hudmessage(id, "Zwiekszyles sobie tymczasowo predkosc")
set_user_maxspeed(id,get_user_maxspeed(id)+25.0)
}
case Barbarzynca:
{
ultra_armor[id]++
if(ultra_armor[id]>7)
{
ultra_armor[id]=7
show_hudmessage(id, "Maksymalna wartosc pancerza to 7",ultra_armor[id])
}
else show_hudmessage(id, "Magiczny pancerz wytrzyma %i strzalow",ultra_armor[id])
}
case Hunter: fm_give_item(id, "weapon_hegrenade")
}
}


Pytanie pierwsze jak to dodac? Bezposrednio czy rzeczywiscie jakies nawiasy tam wrzucic?

Pytanie drugie jak by wygladal kod na dodatkowe umiejetnosci klasy (automatycznie od wyboru tak jak ninja=niewidzialnosc)
Umiejetnosci:
player_b_vampire[33] = 1 //Wysysasz życie
player_b_dagon[33] = 1 //Możesz wypuścić piorun raniący przeciwników
oraz
player_b_respawn[33] = 1 //Po śmierci masz szanse na odrodzenie się

Chcialbym od razu zaznaczyc ze miala by to byc klasa VIP.

Pytanie trzecie najwazniejsze to czy po dodaniu nowej klasy i zmianie nazw dotychczasowych posypie sie na serwerze baza danych z lvlami graczy?

Pozdrawiam
  • +
  • -
  • 0

#2 ZiuTeK

    Wszechwiedzący

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:507
  • Lokalizacja:inąd
Offline

Napisano 23.01.2011 00:55

1: case Hunter nie posiada klamer gdyz ma tylko jedna komende, gdy chcesz zastosowac wiecej polecen musisz zastosowac klamy
W twoim przypadku case Cziter:{
player_b_respawn[id]=1 // gdy dasz 1 oznacza to ze ma szanse 1/1 na odrodzenie 2 oznacza szanse 1/2 na odrodzeni itd
Jesli otwierasz klamre to oczywiscie trzeba ja tez zamknac.
case Cziter: // gdy noz sie naladuje..
{
player_b_vampire[id]=3; // ile hp zabiera przy kazdym strzale
player_b_dagon[id]=1; // ma mozliwosc uzywania pioruna ( moze sie bugowac z innymi itemami bez odpowiednich przerobek
player_b_respawn[id] = 3 // ma szanse 1/3 na odrodzenie
}
Te wlasciwosci zostana dodane od razu po wyborze klasy, zeby ich nie utracic, najlepiej w funkcji od wyrzucania itemow ( chyba to jest public dropitem) na koncu dopisac cos w rodzaju:
public dropitem(id){
...
...

if (!player_b_class[id]== Cziter){
player_b_vampire[id]=0 
i pozostale komendy jakie ma miec ta klasa
}
}
Przy czym nalezy pamietac zeby ich nie zerowac powyzej. Jesli standardowa moc dla klasy Cziter bedzie player_b_dagon, to usuwasz ja bezposrednio z funkcji public dropitem(id) a dodajesz ja na samym koncu tej funkcji do warunku dla klasy cziter.
Na jezyk chlopski to co napisalem wyzej:
Jesli klasa gracza jest inna niz Cziter, wywal player_b_vampire ( jesli klasa to cziter, ten skill zostaje bo ma byc wbudowany w klase) - dokladny opis w kodzie powyzej.

2. To juz powyzej odpisalem.
3. Posypac sie nie posypie ale nowej klasie nie bedzie rosl exp. Musisz skorzystac z podadnika - Dodawanie nowej klasy bez resetu expa - poradnik Pavulona, lub zresetowac levele.

Ten sposob, ktory opisalem nie jest najlepszy ale najszybszy do wytlumaczenia. Jesli Gracz dostanie item player_b_vampire 1/1 to nie zostanie mu wowczas wywalony.
Mozna to zrobic odrobine lepiej w ten sposob, najpierw wyzerowac wszystkie wartosci a warunek w dropitem zamienic na:
if(player_class[id]==Cziter){
player_b_vampire[id]=1/3
...
}
Wczoraj pisalem z glowy ale cos mi to w nocy spac nie dalo :D Takie rozwiazanie bedzie lepsze.

Użytkownik ZiuTeK edytował ten post 23.01.2011 10:30

  • +
  • -
  • 1




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

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