←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Dodanie prefixu do wyboru klasy (frakcje b...

  • +
  • -
Split - zdjęcie Split 21.07.2014

Witam, jak można dodać takie coś że dodaje w cod_frakcje np:

[prefix](NOWA)[klasa]Snajper[frakcja]Ameryka

 

To po wejściu we frakcje "Ameryka" pokazuje się

(NOWA) Snajper

 

Mógłby mi ktoś napisać co mam zrobić albo dodać? za instrukcję byłbym wdzięczny bo sam nie mogę tego zrobić.

 

Mój kod:

public WybierzKlase(id)
{
 
new menu = menu_create("WYBIERZ GRUPE:", "WybierzKlase_Frakcje");
for(new i=1; i <= ilosc_klas; i++)
{
if(!equal(frakcja_klas[i],"") && !is_in_previous(frakcja_klas[i],i)){
menu_additem(menu,frakcja_klas[i],frakcja_klas[i])
}
}
 
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
 
public WybierzKlase_Frakcje(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
 
new data[65], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,64, iName, 63, callback)
 
new menu2 = menu_create("WYBIERZ KLASE:", "WybierzKlase_Handle");
 
new klasa[50],szTmp[5];
for(new i=1; i <= ilosc_klas; i++)
{
if(equali(data,frakcja_klas[i])){
WczytajDane(id, i);
format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
num_to_str(i,szTmp,charsmax(szTmp));
menu_additem(menu2, klasa, szTmp);
}
}
 
WczytajDane(id, klasa_gracza[id]);
 
menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu2);
 
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

Użytkownik e-Skill edytował ten post 21.07.2014 15:42
Odpowiedz

  • +
  • -
DealeR^^ - zdjęcie DealeR^^ 21.07.2014

A jest takie coś? Mi się zdaję, że musisz to zmienić w nazwie klasy ale nie wiem.

Odpowiedz

  • +
  • -
MAGNET - zdjęcie MAGNET 21.07.2014

format(klasa, charsmax(klasa), "\d[%s] \w%s \yP oziom: %i", frakcja_klas[i], nazwy_klas[i], poziom_grac za[id]);
Odpowiedz

  • +
  • -
Split - zdjęcie Split 21.07.2014

format(klasa, charsmax(klasa), "\d[%s] \w%s \yP oziom: %i", frakcja_klas[i], nazwy_klas[i], poziom_grac za[id]);

 

nie chodzi mi o frakcję, tylko własny prefix aby pokazywał się przed nazwą klasy.

Np wchodzę we frakcję Ameryka i jak w nią wejdę to przed każdymi klasami pokazują się prefixy które ustawie np [USA] [USA-NEW] itp np [USA]Snajper

Nie chce mi się edytować sma klasy bo mam ich sporo i jeżeli chciałbym mieć od razu to to tylko zmieniam w cod_frakcje a nie kompilować 200 klas :-)

 

Pozdrawiam

Odpowiedz

  • +
  • -
Split - zdjęcie Split 22.07.2014

coś zrobiłem ale wyskakuje błąd przy kompilacji:
 
public loadfile()
{
    new file[256];
    get_configsdir(file,charsmax(file));
    formatex(file, charsmax(file), "%s/cod_frakcje.ini", file);
    
    if(!file_exists(file))
        return;
        
    new row[128], trash,  size=file_size(file,1);
    for(new i=0;i<size;i++)
    {
        read_file(file, i, row, charsmax(row), trash);
        
        if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1)
        {
            replace(row, charsmax(row), "[klasa]", "");
            split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_frakcji[klasid], charsmax(nazwa_frakcji[]), "[frakcja]", prefix_klasy[klasid], charsmax(prefix_klasy[]), "[prefix]");
            klasid++;
        }
    }    
}
Błąd:
QTM_CodMod.sma(228) : error 088: number of arguments does not match definition
QTM_CodMod.sma(228) : error 088: number of arguments does not match definition
dokładnie to ta linia:
split(row, nazwa_klasy[klasid], charsmax(nazwa_klasy[]), nazwa_frakcji[klasid], charsmax(nazwa_frakcji[]), "[frakcja]", prefix_klasy[klasid], charsmax(prefix_klasy[]), "[prefix]");

Użytkownik e-Skill edytował ten post 22.07.2014 21:57
Odpowiedz

  • +
  • -
sNH. - zdjęcie sNH. 22.07.2014

Hm, nie jestem pewien o co ci chodzi, ale może coś takiego warto zrobić:

 

new const g_szPrefix[ ] = "[Twoj Prefix]";

 

Później tego możesz użyć jako %s i g_szPrefix

 

Dla danej kategorii możesz zrobić ifa na łatwiznę jeżeli dana frakcja = coś, wtedy prefix taki. To jest bardzo skąpe rozwiązanie, ale powinieneś ogarnąć o co mi chodzi. Później po prostu jak się nie mylę można sobie wypisać %s %s %s -> za kodem ,prefix1,prefix2, ale musisz pamiętać o warunkach. Nie wiem jak to wytłumaczyć, musiałbym użyć mojego kodu, który stosuję w pokemodzie, ale pewnie też byłoby mało zrozumiałe przez to co jest tam zrobione - poketypy etc.

 

To jest jedynie moja sugestia.

Odpowiedz

  • +
  • -
Split - zdjęcie Split 22.07.2014

wiem o co ci chodzi, kumam, lecz jak mogę dla osobnej frakcji zrobić prefix własny? nie mam pomysłów jak to rozdzielić.
Odpowiedz