Menu i Zmienna
Raku129
11.11.2013
Hmmmm w menu_create nie da się użyć zmiennej no nie?
Dzięki format mogę wpisać zmienną, ale nie chce mieć tego 1. przed nazwą.
Ciężko pewnie zrozumieć to co wyżej napisałem, dlatego pokaże to na przykładzie.
Mam powiedzmy zrobione to tak:
menu_create "Moje Menu"
format "1. Skill"
format "2. Skill"
format "3. Skill"
Chcę w tym menu_create dodać zmienną liczbową, która pokazuje ile ma się punktów, wiem że się nie da, a w format nie będzie to ładnie wyglądać, będzie to się zlewać jak tu:
menu_create "Moje Menu"
format "1. Posiadasz %d Punktów"
format "2. Skill"
format "3. Skill"
format "4. Skill"
Jakiś pomysł?
DarkGL
12.11.2013
Em chcesz po prostu przerzucić do nowej linii ? ^n
Dlaczego w format miało by to nie ładnie wyglądać ?
Jakieś ss czy coś
GwynBleidD
12.11.2013
W menu_create wpisz swój tytuł menu
Następnie weź format i do zmiennej nazwa wryp tytuł menu, nową linię (^n) i linijkę pod tytułem z punktami itp.
Następnie użyj menu_setprop(menu, MPROP_TITLE, nazwa)
Dalej już robisz co chcesz
Obejście jest z tego względu, że w tytule menu podawanym do menu_create jest limit znaków... addtext użyć się nie da, bo jest zbugowany (czekamy na darka, aby to poprawił w swoim AMX).
Raku129
12.11.2013
Nie wiem czy koniecznie o takie coś Ci chodziło, ale działa
new HEAD = format(formats,charsmax(formats),"\yPosiadasz \r[%d] \yPunktow", g_points[id])
menu_setprop(menu, MPROP_TITLE, HEAD)
Teraz mam kolejne pytanie.
Na każdą postać z wyboru [T/CT] chce przypisać zmienne, coś w tym stylu:
Zapis na NICK, tylko na każdej z tych postaci zapisuje się inny poziom.
To muszę utworzyć pełno zmiennych i zrobić to za pomocą warunku, czy mogę jakoś to ogarnąć za pomocą tablic?
GT Team
13.11.2013

enum playerInfo { PLAYER_CLASS, PLAYER_POINTS, PLAYER_NAME[33] } new g_playerInfo[33][ playerInfo ]a jeśli chcesz zapisać dla kazdej z postaci to jesli korzsystarz z nvault o jako klucz ustawiasz :
new key[64]; formatex(key, 63, "%s-%s", nick_gracza, g_playerInfo[id][ PLAYER_CLASS ]) // no i klucz jest, aby wczytac potem dane to uzywasz tego samego nvault_set(plik_nvault, key, jakies_dane);// jak ci o to chodzi.

Raku129
13.11.2013
Kurcze coś nie mogę zczaić cały czas tego
Mam tak:
new const CLASSES[MAX_CLASSES][] = {
"Brak",
"Arctic Avengers",
"Guerilla Warfare",
"Phoenix Connection",
"L337 Crew",
"French GIGN",
"German GSG9",
"UK SAS",
"Seal Team 6"
}
W ewencie przy wyborze teamu chce zrobić tak:
if(cs_get_user_team(id, CS_TEAM_T, CS_T_ARCTIC) {// Tutaj chce nadać graczowi że jest CLASSES[Arctic Avengers] ? Jak to zrobić, w ogóle tutaj nie wiem co i jak. Pewnie dalej dużo rzecz nie ogarniam ;]
}
A potem jak w zapisie i wczytywaniu to? Tak?
public Load_BF3(id)
{
new authid[64], vaultkey[64], vaultdata[32];
get_user_name(id, authid, 63);
format(vaultkey,63,"%s-%s", authid, CLASSES);
nvault_get(g_Save, vaultkey, vaultdata,511);
replace_all(vaultdata, 511, "#", " ");
new one[33], two[33], three[33], four[33], five[33], six[33], seven[33], eight[33], nine[33];
parse(vaultdata, one, 32, two, 32, three, 32, four, 32, five, 32, six, 32, seven, 32, eight, 32, nine, 32);
g_frag[id] = str_to_num(one);
g_dead[id] = str_to_num(two);
g_hs[id] = str_to_num(three);
g_points[id] = str_to_num(four);
g_health[id] = str_to_num(five);
g_gravity[id] = str_to_num(six);
g_speedrun[id] = str_to_num(seven);
g_invisble[id] = str_to_num(eight);
g_autobh[id] = str_to_num(nine);
while(ranganum[id] < 52)
{
if(g_frag[id] >= rangaxp[ranganum[id]] && sizeof(ranga) > ranganum[id])
{
ranganum[id]++;
}
else
{
break;
}
}
}
public Save_BF3(id)
{
new authid[64], vaultkey[64], vaultdata[512];
get_user_name(id, authid, 63);
format(vaultkey, 63, "%s-%s", authid, CLASSES);
format(vaultdata, 511,"%d#%d#%d#%d#%d#%d#%d#%d#%d", g_frag[id], g_dead[id], g_hs[id], g_points[id], g_health[id], g_gravity[id], g_speedrun[id], g_invisble[id], g_autobh[id]);
nvault_set(g_Save, vaultkey, vaultdata);
}
Użytkownik Raku129 edytował ten post 13.11.2013 22:10
GT Team
14.11.2013
one[33], two[33], three[33]tam będą cyfry, nie aż tak duże więc możesz zmniejszyć do np 6. Co do tego
new const CLASSES[MAX_CLASSES][] = { "Brak", "Arctic Avengers", "Guerilla Warfare", "Phoenix Connection", "L337 Crew", "French GIGN", "German GSG9", "UK SAS", "Seal Team 6" }tak jak mówiłem, enumy

enum eClass { NONE, ARCTIC_AVENGERS, GUERILLA_WARFARE, ... UK_SAS, SEAL_TEAM }i potem :
if(cs_get_user_team(id, CS_TEAM_T, CS_T_ARCTIC) { // co tam miales dac ...nwm model, nazwa czy co. CLASSES[ARCTIC_AVENGERS] }jak sie nie mylę .. pozdrawiam
Raku129
14.11.2013
Czyli w zmiennych od zliczania fragów, deada mogę ustawić mniejsze zużywanie?
Czym się różni enum, const itd.?
GT Team
14.11.2013
http://amxx.pl/topic/1699-troche-o-enum/a dalej, o typach zmiennych, choc są to "tagi" w PAWN
http://amxx.pl/topic/6614-zmienne-co-i-jak/
GT Team
16.11.2013

