Dodanie Frakcji

Pokaże w tym tutku jak dodać frakcje do coda starego 😉 Pierwsze co robimy to dodajemy nową tablicę np. pod:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Rambo (Klasa Premium)"
};
new const nazwy_klas[][] = {"Brak", "Snajper", "Komandos", "Strzelec wyborowy", "Obronca", "Medyk", "Wsparcie ogniowe", "Saper", "Demolitions", "Rusher", "Rambo (Klasa Premium)" };
new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Rambo (Klasa Premium)"
};
dodajemy
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
new const frakcje[][]={
"Brak",
"Polacy",
"Rosjanie"
}
new const frakcje[][]={ "Brak", "Polacy", "Rosjanie" }
new const frakcje[][]={
"Brak",
"Polacy",
"Rosjanie"
}
zawsze pierwsze musi być Brak potem po przecinkach podajemy nazwy frakcji po ostaniej frakcji przecinka nie ma ilość jest dowolna ale nie przesadzajmy bo potem będzie dużo roboty 😉 dobrze idziemy dalej dodajemy
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
enum { NONE = 0,polacy,rosjanie}
enum { NONE = 0,polacy,rosjanie}
enum { NONE = 0,polacy,rosjanie}
dodajemy tablice :
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
new const nalezy_do[]={
NONE,
polacy,
rosjanie,
polacy,
rosjanie,
polacy,
polacy,
rosjanie,
polacy,
polacy,
rosjanie
}
new const nalezy_do[]={ NONE, polacy, rosjanie, polacy, rosjanie, polacy, polacy, rosjanie, polacy, polacy, rosjanie }
new const nalezy_do[]={
NONE,
polacy,
rosjanie,
polacy,
rosjanie,
polacy,
polacy,
rosjanie,
polacy,
polacy,
rosjanie
}
to tutaj ustalamy do której frakcji należy klasa i tak w tym przykładzie Snajper należy do polaków a Komandos do Rosjan Następnie musimy podmienić funkcje
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public WybierzKlase(id)
public WybierzKlase(id)
public WybierzKlase(id)
na tą
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public WybierzKlase(id)
{
new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle");
for(new i = 1;i<sizeof(frakcje);i++){
menu_additem(menu, frakcje[i]);
}
menu_display(id, menu);
}
public WybierzKlase(id) { new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle"); for(new i = 1;i<sizeof(frakcje);i++){ menu_additem(menu, frakcje[i]); } menu_display(id, menu); }
public WybierzKlase(id)
{
new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle");
for(new i = 1;i<sizeof(frakcje);i++){
menu_additem(menu, frakcje[i]);
}
menu_display(id, menu);
}
i dodać tą
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public Wybierzfrakcje_Handle(id, menu2, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu2);
return PLUGIN_CONTINUE;
}
item++;
frakcja_gracza[id] = item;
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == item){
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
#if defined BOTY
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
#endif
return PLUGIN_CONTINUE;
}
public Wybierzfrakcje_Handle(id, menu2, item) { if(item == MENU_EXIT) { menu_destroy(menu2); return PLUGIN_CONTINUE; } item++; frakcja_gracza[id] = item; new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle"); new klasa[50]; for(new i=1; i<sizeof nazwy_klas; i++) { if(nalezy_do[i] == item){ WczytajDane(id, i); format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]); menu_additem(menu, klasa); } } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); client_cmd(id, "spk QTM_CodMod/select"); #if defined BOTY if(is_user_bot2(id)) WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1)); #endif return PLUGIN_CONTINUE; }
public Wybierzfrakcje_Handle(id, menu2, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu2);
return PLUGIN_CONTINUE;
}

item++;
frakcja_gracza[id] = item;
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == item){
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

client_cmd(id, "spk QTM_CodMod/select");
#if defined BOTY
if(is_user_bot2(id))
WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
#endif

return PLUGIN_CONTINUE;
}
w zmiennych globalnych (np. przed new const nalezy_do[]) musimy jeszcze dodać
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
new frakcja_gracza[33]
new frakcja_gracza[33]
new frakcja_gracza[33]
i na koniec musimy podmienić funkcje
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
WybierzKlase_Handle(id, menu, item)
WybierzKlase_Handle(id, menu, item)
WybierzKlase_Handle(id, menu, item)
na
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
new ile = 0;
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == frakcja_gracza[id]){
ile++;
}
if(ile == item){
item = i;
break;
}
}
if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;
if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}
public WybierzKlase_Handle(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } item++; new ile = 0; for(new i=1; i<sizeof nazwy_klas; i++) { if(nalezy_do[i] == frakcja_gracza[id]){ ile++; } if(ile == item){ item = i; break; } } if(item == klasa_gracza[id]) return PLUGIN_CONTINUE; if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H)) { client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium."); WybierzKlase(id); return PLUGIN_CONTINUE; } if(klasa_gracza[id]) { nowa_klasa_gracza[id] = item; client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); } else { klasa_gracza[id] = item; WczytajDane(id, klasa_gracza[id]); Odrodzenie(id); } return PLUGIN_CONTINUE; }
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

item++;

new ile = 0;
for(new i=1; i<sizeof nazwy_klas; i++)
{
if(nalezy_do[i] == frakcja_gracza[id]){
ile++;
}
if(ile == item){
item = i;
break;
}
}

if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;

if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}

if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.