←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Wyrownanie lvli z jego % postepem

Zablokowany

Dizip - zdjęcie Dizip 27.04.2012

Witam , dziś wam pokaże jak w łatwy i przyjemny sposób zrobić wyrównywanie lvla. O co mi chodzi. Dodatek głównie przeznaczony jest dla serwerów fast diablo , gdzie za fraga zdobywa się więcej jak 1 lvl i % idzie ponad 100.
w public Give_Xp(id,amount) dodać
oblicz_lvl(id)

a to dac za funkcja give_xp
public oblicz_lvl(id)
{
if (player_xp[id] > LevelXP[player_lvl[id]])
{
player_lvl[id]+=1
player_point[id]+=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id])
new name[32]
get_user_name(id, name, 31)
ColorChat(0, GREEN, "^x04%s^x01 awansowal na^x04 %i^x01 level (^x04 %s^x01)", name, player_lvl[id], Race[player_class[id]])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
if (player_xp[id] < LevelXP[player_lvl[id]-1])
{
player_lvl[id]-=1
player_point[id]-=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Spadles do poziomu %i", player_lvl[id])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
if ((player_xp[id] > LevelXP[player_lvl[id]]) || (player_xp[id] < LevelXP[player_lvl[id]-1])) oblicz_lvl(id)
}




dzięki tej funkcji unikniemy takiemu efektu
Zapodaj.Net - Darmowy hosting zdjęć i obrazków bez rejestracji! Zapodaj swoje zdjęcia znajomym!

A to dlatego ze procent po1 zabiciu zamieni się w LVL .
Oczywiście nie jest to konieczny dodatek tylko małe udogodnienie.
Pozdrawiam serdecznie
Odpowiedz

  • +
  • -
MazaQ - zdjęcie MazaQ 28.04.2012

Jeśli ktoś nabije jakiś lvl to mi wyskakuje błąd na serwerze
i gram barbarzyńcą 1 lvl wbiłem 2 lvl i mi pisze że gram nekromantą 221 lvl
http://zapodaj.net/b...b5a344.bmp.html
Odpowiedz

  • +
  • -
MazaQ - zdjęcie MazaQ 28.04.2012

Jeśli komuś to działa to proszę o zrobienie mi tego

Załączone pliki

Odpowiedz

Dizip - zdjęcie Dizip 28.04.2012

lap

Załączone pliki

Odpowiedz

  • +
  • -
MazaQ - zdjęcie MazaQ 29.04.2012

Dalej ten sam błąd
Odpowiedz

  • +
  • -
Wozny - zdjęcie Wozny 29.04.2012

mi wszystko działa, elegancki poradnik i wszystko ładnie opisane
Użytkownik Wozny edytował ten post 29.04.2012 18:47
Odpowiedz

  • +
  • -
MazaQ - zdjęcie MazaQ 29.04.2012

To nie wiem co jest grane może coś z innymi pluginami?
Już wiem co jest grane zranię kogoś i liczy mi 200 lvl muszę exp zmniejszyć
PS. zmniejszyłem na maxa i dalej ten sam błąd
Użytkownik MazaQ edytował ten post 29.04.2012 19:21
Odpowiedz

Dizip - zdjęcie Dizip 29.04.2012

Lap, to ,że nabija 200lvl za fraga przy tkaim expie to sie nie dziwie ,ale dlaczego zmienia klase hmm?

Jak nie działa to nie wiem , musisz mieć coś w silniku blędnego

Załączone pliki

Odpowiedz

  • +
  • -
MazaQ - zdjęcie MazaQ 30.04.2012

4 errory mi wywala przy kompilacji na moim kompie
Czekaj morze zmniejszę lvl
Użytkownik MazaQ edytował ten post 30.04.2012 06:25
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 07.05.2012

jest prostszy i optymalniejszy sposób, wystarczy podmienić funkcje give_xp na tą:


public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1)
{
player_xp[id]+=amount
while(player_xp[id] > LevelXP[player_lvl[id] || player_xp[id] < LevelXP[player_lvl[id]-1])
{
if (player_xp[id] > LevelXP[player_lvl[id]])
{
player_lvl[id]+=1
player_point[id]+=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}

if (player_xp[id] < LevelXP[player_lvl[id]-1])
{
player_lvl[id]-=1
player_point[id]-=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Spadles do poziomu %i", player_lvl[id])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
}
write_hud(id)
}
}
return PLUGIN_CONTINUE;
}

Użytkownik Nakupenda. edytował ten post 07.05.2012 15:51
Odpowiedz

  • +
  • -
SHiBBy. - zdjęcie SHiBBy. 20.02.2024

while(player_xp[id] > LevelXP[player_lvl[id] || player_xp[id] < LevelXP[player_lvl[id]-1])

Tu w tej linijce wywala blad
Odpowiedz
Zablokowany