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

Ewolucje


  • Zamknięty Temat jest zamknięty
17 odpowiedzi w tym temacie

#1 Firxenowsky

    Profesjonalista

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:166
  • GG:
  • Imię:Krzysiek
  • Lokalizacja:W-wa
Offline

Napisano 09.02.2011 21:28

Witam czy pomógłby mi ktoś zrobić Ewolucje do diablo moda?
Chodzi tu o to zeby klasa od 40 lvla zmieniala sie w inna klase i dostawala nowa moc.
przyklad:
Mag 39 lvl wbija 40 i staje sie arcymagiem 40lvl(arcymag ma moc maga + 1 dodatkowa moc)
zaplace za wykonanie , pisac pw.
  • +
  • -
  • 0

#2 Krejzol

    Wszechpomocny

  • Użytkownik

Reputacja: 48
Pomocny

  • Postów:357
Offline

Napisano 10.02.2011 06:39

Przyłączam się do pytania kolegi
  • +
  • -
  • 0

#3 dRaq

    Pomocny

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:69
  • Lokalizacja:Wawa
Offline

Napisano 10.02.2011 12:35

Wszystko jest do zrobienia. w sumie moglbym sie tego podjac
  • +
  • -
  • 0

#4 Drewno.

    Banned

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:263
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 14.02.2011 19:57


Możesz zrobić to tak:

w public Give_xp(id,amount) pod:


player_class_lvl[id][player_class[id]]=player_lvl[id]
}



dodajesz:

if(player_lvl[id] > 40 && player_class[id] == Mag)
{
set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Ewoluowales w Arcymaga!")
Race[player_class[id] == Mag] = Arcymag
moc[id] = 1 // tu przypisujesz jakas zmienna(moc) odpowiadającą za dodatkowy skill
}

Użytkownik PedoBear. edytował ten post 14.02.2011 20:26


#5 dRaq

    Pomocny

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:69
  • Lokalizacja:Wawa
Offline

Napisano 14.02.2011 20:09

z tego kodu wynika że jeżeli ma Maga LUB 40 lvl
Nie powinno być && zamiast || ?
  • +
  • -
  • 0

#6 Drewno.

    Banned

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:263
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 14.02.2011 20:26

a no tak;P pomylily mi sie funkcje,juz edytuje:P

#7 efee

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:73
  • Imię:Michal
  • Lokalizacja:Krakow
Offline

Napisano 15.02.2011 14:25

A jak dodac aby gracz mogl wybrac czy chce ewulowac czy nie?
Za pomoc dam :plus:
  • +
  • -
  • 0
Zapraszam na Elite-Zone.pl
Największa sieć serwerów w Polsce!

#8 dRaq

    Pomocny

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:69
  • Lokalizacja:Wawa
Offline

Napisano 15.02.2011 14:39

Zamiast tego kodu wywołaj publica z menu i w jednym case daj tą funkcję.
  • +
  • -
  • 0

#9 Drewno.

    Banned

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:263
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 15.02.2011 17:15

banalne...

przy registrach:

register_menucmd(register_menuid("Evo"), 1023, "Evolutions")


wcześniejszy kod,co podałem:

if(player_lvl[id] > 40 && player_class[id] == Mag)
{
set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 3.0, 2.0, 0.2, 0.3, 5)
show_hudmessage(id, "Ewoulowales w Arcymaga!")
Race[player_class[id] == Mag] = Arcymag
moc[id] = 1
}

zamieniasz na:
if(player_lvl[id] > 40 && player_class[id] == Mag)
{
evolution_menu(id)
}


na koniec kodu dajesz:

public evolution_menu(id)

{
new text[513]

format(text, 512, "\yCzy chcesz ewoulować?: ^n^n\w\r1. \wTak^n\w\r2. \wNie")

new keys = (1<<0)|(1<<1)
show_menu(id, keys, text, -1, "Evo")
return PLUGIN_HANDLED
}
public Evolutions(id, key)
{
switch(key)
{
case 0:
{
evolution(id)
}
case 1:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}


i tez na koniec kodu(dokladnie pod powyzszym dodajesz:)

public evolution(id)
{
if(player_lvl < 40 && player_class[id] == Mag)
{
Race[player_class[id] == Mag] = Arcymag
moc[id] = 1
}
}


Mozesz dodac takze inne klasy,jak beda jakies bledy to pisac w tym temacie to naprawie,bo tego kodu nie jestem pewien czy zadziala

Użytkownik PedoBear. edytował ten post 16.02.2011 15:55


#10 efee

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:73
  • Imię:Michal
  • Lokalizacja:Krakow
Offline

Napisano 17.02.2011 13:37

diablomod5.9l.sma(11902) : error 033: array must be indexed (variable "player_lvl")
  • +
  • -
  • 0
Zapraszam na Elite-Zone.pl
Największa sieć serwerów w Polsce!

#11 Firxenowsky

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:166
  • GG:
  • Imię:Krzysiek
  • Lokalizacja:W-wa
Offline

Napisano 18.02.2011 23:55

player_lvl[id]?
  • +
  • -
  • 0

#12 efee

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:73
  • Imię:Michal
  • Lokalizacja:Krakow
Offline

Napisano 20.02.2011 15:54

Teraz dziala :)
  • +
  • -
  • 0
Zapraszam na Elite-Zone.pl
Największa sieć serwerów w Polsce!

#13 Firxenowsky

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:166
  • GG:
  • Imię:Krzysiek
  • Lokalizacja:W-wa
Offline

Napisano 20.02.2011 16:51

a mi nie
undefined symbol ,,Arcymag''
  • +
  • -
  • 0

#14 efee

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:73
  • Imię:Michal
  • Lokalizacja:Krakow
Offline

Napisano 20.02.2011 18:19

Nie masz klasy Arcymag
@edit Nabilem lvl ktory ustawilem , pokazalo sie daje tak i nic sie nie dzieje i pokazuje sie tak samo po 20 sekundach^^

Użytkownik efee edytował ten post 21.02.2011 13:14

  • +
  • -
  • 0
Zapraszam na Elite-Zone.pl
Największa sieć serwerów w Polsce!

#15 Drewno.

    Banned

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:263
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 21.02.2011 17:47

a nie zamiast tworzyc nowa klase,to moznaby zrobić coś takiego?
#define Arcymag


albo

#define Mag Arcymag


albo jescze

#define Arcymag Mag


podaje różne sposoby,bo niewiem czy obojętnie który może zadziałać

Dodano 21 luty 2011 - 17:51:
public Evolutions(id, key) 
{
switch(key)
{
case 0:
{
evolution(id)
}
case 1:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}

zamień na:
public Evolutions(id, key) 
{
switch(key)
{
case 0:
{
evolution(id)
}
case 1:
{
//evolution(id)
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}



Bo masz 40 lvl i wybrales ze nie chcesz ewolucji... ale tu jest zla funkcja - moj blad... zapomnialem zablokowac ewolucje bo wbilo by sie 41 lvl to nadal by sie pojawialo menu ewolucji

Użytkownik PedoBear. edytował ten post 21.02.2011 17:48


#16 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.02.2011 20:24

public Evolutions(id, key) 
{
switch(key)
{
case 0:
{
evolution(id)
}
case 1:
{
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}

zamień na:
public Evolutions(id, key) 
{
switch(key)
{
case 0:
{
evolution(id)
}
case 1:
{
//evolution(id)
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}

Takie pytanie mam... A czym to niby się różni?
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#17 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 21.02.2011 21:38

hmhmhm co ty pieprzysz z tym define?

jak nie wiesz co to jest to nie używaj

#18 dRaq

    Pomocny

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:69
  • Lokalizacja:Wawa
Offline

Napisano 22.02.2011 14:57

można stworzyć nową tablicę z klasami (na podstawie race). Nie były by one dostępne w menu, tylko że do bazy by doszły dodatkowe wpisy. Takie proste rozwiązanie, drugą rzeczą jest po prostu zmiana wyświetlanej nazwy i dodanie if'a, czy nawet publica że jeżeli np. player_ewolucja(id)=true/1 i player_class[id]=xxx to daje dodatkową moc.


new Evo[9][18] = {"None", "Arcymag", "xxx", "yyy" itd.)
new ewolucja[33]

w give_xp
if(player_lvl[id]==40)
evolution(id)

na koniec
public evolution(id)
{
ewolucja[id]=1
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Ewoluowałeś w %s'a ", Evo[player_class[id]])
}

w public write_hud(id)

if(ewolucja[id]==1)
format(tpstring,1023,"Klasa: %s Level: %i (%0.0f%s) Item: %s", Evo[player_class[id]], player_lvl[id], perc,"%%",player_item_name[id])

Użytkownik dRaq edytował ten post 22.02.2011 15:16

  • +
  • -
  • 1




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

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