Dziwny problem ze sprawdzaniem poziomu
Andrzejek
09.08.2015
Witam, mam taki problem ze sprawdzaniem poziomu, dawno już nie pisałem w pawnie, wiec nie wiem co zrobiłem źle, mam taki kod
public Death() { new id = read_data(2); new attacker = read_data(1); if(!is_user_alive(attacker) || !is_user_connected(attacker)) return PLUGIN_CONTINUE; if(get_user_team(id) != get_user_team(attacker)) { zabojstwa_gracza[attacker]++; } SprawdzPoziom(attacker); return PLUGIN_CONTINUE; } public SprawdzPoziom(id) { if(poziom_gracza[id] < 20) { while(zabojstwa_gracza[id] >= zabojstwa_poziomu[poziom_gracza[id]]) { poziom_gracza[id]++; } } }
Prosto kod, po zabójstwie sprawdza poziom gracza....
new const nazwy_poziomu[][] = {"Brak", "nazwa 1", "nazwa 2", "nazwa 3", "nazwa 4", "nazwa 5", "nazwa 6", "nazwa 7", "nazwa 8", "nazwa 9", "nazwa 10", "nazwa 11", "nazwa 12", "nazwa 13", "nazwa 14", "nazwa 15", "nazwa 16", "nazwa 17", "nazwa 18", "nazwa 19", "nazwa 20" } new const zabojstwa_poziomu[] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180 }
Tabele z nazwami poziomów i ile trzeba zdobyć do nastepnego poziomu...
public Pokaz(id) { id -= ZADANIE_POKAZ; set_task(0.1, "Pokaz", id+ZADANIE_POKAZ); if(is_user_connected(id) && is_user_alive(id)) { new szText[428], szName[64]; get_user_name(id, szName, sizeof szName - 1); format(szText, sizeof szText - 1, "N: %s | Z: %i / %i", nazwy_poziomu[poziom_gracza[id]], zabojstwa_gracza[id], zabojstwa_poziomu[poziom_gracza[id]]); message_begin(MSG_ONE, get_user_msgid("StatusText"), {0,0,0}, id); write_byte(0); write_string(szText); message_end(); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; }
Oraz pokazywanie wiadomości...
Noi problem polega na tym że przed wbiciem ostatniego poziomu mam 179 zabójstw, gdy zabijam 180, nic sie nie zmienia i serwer zaczyna sypać logami, a nazwa poziomu się nie zmienia a ilość zabójstw zostaje 179
[AMXX] [0] plugin.sma::Pokaz (line 114) [AMXX] Displaying debug trace (plugin "plugin.amxx")
line 114 to
write_string(szText);
CO zrobiłem źle??
Master Yoga
09.08.2015
Od razu co mi się rzuciło w oczy to:
Użytkownik Master Yoga edytował ten post 09.08.2015 21:37
new const nazwy_poziomu[]21 stałych
new const zabojstwa_poziomu[]20 stałych
Użytkownik Master Yoga edytował ten post 09.08.2015 21:37
Andrzejek
09.08.2015
OOOO, nie umiem liczyć , teraz fakt dodaje nazwe poziomu, ale zabójstwa sie nie zmieniają
Master Yoga
09.08.2015
if(poziom_gracza[id] < 20)wiec to też idzie do poprawki
bo nie będziesz miał ostatniego lvl.
p.s luuz przy tylu liniach kodu łatwo coś przeoczyć
radim
10.08.2015
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL