Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
BattleField2

Nowy poziom odznak

BattleField2

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
17 odpowiedzi w tym temacie

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2011 13:25

*
Popularny

Cześć w tym poradniku pokaże jak dodać nowy poziom odznak do BF2 moda, czyli kiedy mamy przykładowo odznaki Profesjonalista w ..., Expert w ..., to w tym poradniku dodamy kolejny taki poziom. Też miałem kiedyś z tym problem i sam analizując kod go rozwiązałem. Było nawet nieźle kiedy się to wspomina, ale wolę wam pokazać co i jak. W tym poradniku edytujemy: [BattleField2] Battlefield 2 : Rank Mod PL v1.1.0 - AMXX.pl: Support AMX Mod X . No więc zaczynamy:

Otwieramy const.inl:

Szukamy:

#define LEVEL_NONE 0
#define LEVEL_BASIC 1
#define LEVEL_VETERAN 2
#define LEVEL_EXPERT 3
#define LEVEL_PROFESIONAL 4


I zamieniamy na:


#define LEVEL_NONE 0
#define LEVEL_BASIC 1
#define LEVEL_VETERAN 2
#define LEVEL_EXPERT 3
#define LEVEL_PROFESIONAL 4
#define LEVEL_NOWY 5


LEVEL_NOWY to identyfikator nowego poziomu odznak.
Szukamy:


new const gBadgeName[MAX_BADGES][5][] =
{
{ "","Podstawowa walka Nozem","Weteran w walce Nozem","Expert w walce Nozem","Profesjonalista w walce Nozem"},
{ "","Podstawowa walka Pistoletem","Weteran w walce z Pistoletem","Expert w walce z Pistoletem","Profesjonalista w walce z Pistoletem"},
{ "","Podstawowa walka Bronia Szturmowa","Weteran w walce z Bronia Szturmowa","Expert w walce z Bronia Szturmowa","Profesjonalista w walce z Bronia Szturmowa"},
{ "","Podstawowa walka Bronia Snajperska","Weteran w walce z Bronia Snajperska","Expert w walce z Bronia Snajperska","Profesjonalista w walce z Bronia Snajperska"},
{ "","Poczatkujacy w walce Bronia Wsparcia","Weteran w walce Bronia Wsparcia","Expert w walce Bronia Wsparcia","Profesjonalista w walce Bronia Wsparcia"},
{ "","Podstawowe obeznanie w Materialach Wybuchowych","Weteran w obeznaniu w Materialach Wybuchowych","Expert w obeznaniu w Materialach Wybuchowych","Profesjonalista w obeznaniu w Materialach Wybuchowych"},
{ "","Podstawowa walka z Shotgunem","Weteran w walce z Shotgunem","Expert w walce z Shotgunem","Profesjonalista w walce z Shotgunem"},
{ "","Podstawowa walka z SMG","Weteran w walce z SMG","Expert w walce z SMG","Profesjonalista w walce z SMG"}
};


I zamieniamy na:

new const gBadgeName[MAX_BADGES][6][] =
{
{ "","Podstawowa walka Nozem","Weteran w walce Nozem","Expert w walce Nozem","Profesjonalista w walce Nozem","Mistrz w walce Nozem"},
{ "","Podstawowa walka Pistoletem","Weteran w walce z Pistoletem","Expert w walce z Pistoletem","Profesjonalista w walce z Pistoletem","Mistrz w walce Pistoletem"},
{ "","Podstawowa walka Bronia Szturmowa","Weteran w walce z Bronia Szturmowa","Expert w walce z Bronia Szturmowa","Profesjonalista w walce z Bronia Szturmowa","Mistrz w walce z Bronia Szturmowa"},
{ "","Podstawowa walka Bronia Snajperska","Weteran w walce z Bronia Snajperska","Expert w walce z Bronia Snajperska","Profesjonalista w walce z Bronia Snajperska","Mistrz w walce z Bronia Snajperska"},
{ "","Poczatkujacy w walce Bronia Wsparcia","Weteran w walce Bronia Wsparcia","Expert w walce Bronia Wsparcia","Profesjonalista w walce Bronia Wsparcia","Mistrz w walce Bronie Wsparcie"},
{ "","Podstawowe obeznanie w Materialach Wybuchowych","Weteran w obeznaniu w Materialach Wybuchowych","Expert w obeznaniu w Materialach Wybuchowych","Profesjonalista w obeznaniu w Materialach Wybuchowych","Mistrz w obeznaniu w Materialach Wybuchowych"},
{ "","Podstawowa walka z Shotgunem","Weteran w walce z Shotgunem","Expert w walce z Shotgunem","Profesjonalista w walce z Shotgunem","Mistrz w walce z Shotgunem"},
{ "","Podstawowa walka z SMG","Weteran w walce z SMG","Expert w walce z SMG","Profesjonalista w walce z SMG","Mistrz w walce z SMG"}
};


W moim przypadku dodaję poziom Mistrz.

Szukamy:
new const gInvisAlphaValue[5] =
{
190, //Basic Shotgun Combat
150, //Veteran Shotgun Combat
100, //Expert Shotgun Combat
80,
50
};

I zamieniamy na:
new const gInvisAlphaValue[6] =
{
220,
190,
150,
100,
80,
50
};


Otwieramy check.inl:

Szukamy:

case LEVEL_EXPERT:
{
if ((wroundstats[0]>4) && (wroundstats[2]>1) && (kills>199))
{
g_PlayerBadges[id][BADGE_KNIFE]=LEVEL_PROFESIONAL; //Profesjonalista Knife Badge
#if defined KOLOROWY_SAY
ColorChat(id,TEAM_COLOR,"[BF2]^x03 Zdobyles odznake:^x04 %s",gBadgeName[BADGE_KNIFE][LEVEL_PROFESIONAL]);
#else
client_print(id,print_chat,"[BF2] Zdobyles odznake: %s",gBadgeName[BADGE_KNIFE][LEVEL_PROFESIONAL]);
#endif
badgegained=true;
}
}

I dopisujemy pod:

case LEVEL_PROFESIONAL:
{
if ((wroundstats[0]>4) && (wroundstats[2]>1) && (kills>199))//warunek zdobycia odznaki
{
g_PlayerBadges[id][BADGE_KNIFE]=LEVEL_NOWY;
#if defined KOLOROWY_SAY
ColorChat(id,TEAM_COLOR,"[BF2]^x03 Zdobyles odznake:^x04 %s",gBadgeName[BADGE_KNIFE][LEVEL_NOWY]);
#else
client_print(id,print_chat,"[BF2] Zdobyles odznake: %s",gBadgeName[BADGE_KNIFE][LEVEL_NOWY]);
#endif
badgegained=true;
}
}


Nie zmieniłem warunku zdobycia odznaki, więc wymagania na LEVEL_NOWY są takie same jak na LEVEL_PROFESIONAL. Taką operację wykonujemy na każdej odznace, lecz w ten sposób.
1. Kopiujemy cały case LEVEL_EXPERT z konkretnej odznaki.
2. W skopiowanym case zamieniamy nazwe case LEVEL_EXPERT na case LEVEL_PROFESIONAL .
3. Wewnątrz skopiowanego case zamieniamy wszystkie LEVEL_PROFESIONAL na LEVEL_NOWY (czyli na naszą nazwę w const.inl).

Dobrze jeżeli już zedytowaliśmy każdy poziom w odznace to przejdźmy dalej.
Otwieramy menu.inl:

Szukamy:

public badgelevelmenu(id)
{
if (!get_pcvar_num(gPcvarBF2Active))
return PLUGIN_CONTINUE;

new menu = menu_create("\rBF2: Wybierz Poziom", "menu_handler");

menu_additem(menu, "\wZaden", "0", ADMIN_LEVEL);
menu_additem(menu, "\wPodstawowy", "1", ADMIN_LEVEL);
menu_additem(menu, "\wWeteran", "2", ADMIN_LEVEL);
menu_additem(menu, "\wExpert", "3", ADMIN_LEVEL);
menu_additem(menu, "\yProfesjonalista", "4", ADMIN_LEVEL);
menu_additem(menu, "\wWstecz", "5", ADMIN_LEVEL);

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

menuselection[id]=MENU_LEVEL;

menu_display(id, menu, 0);

return PLUGIN_CONTINUE;
}


I zamieniamy na:

public badgelevelmenu(id)
{
if (!get_pcvar_num(gPcvarBF2Active))
return PLUGIN_CONTINUE;

new menu = menu_create("\rBF2: Wybierz Poziom", "menu_handler");

menu_additem(menu, "\wZaden", "0", ADMIN_LEVEL);
menu_additem(menu, "\wPodstawowy", "1", ADMIN_LEVEL);
menu_additem(menu, "\wWeteran", "2", ADMIN_LEVEL);
menu_additem(menu, "\wExpert", "3", ADMIN_LEVEL);
menu_additem(menu, "\wProfesjonalista", "4", ADMIN_LEVEL);
menu_additem(menu, "\yMistrz", "5", ADMIN_LEVEL);
menu_additem(menu, "\wWstecz", "6", ADMIN_LEVEL);

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

menuselection[id]=MENU_LEVEL;

menu_display(id, menu, 0);

return PLUGIN_CONTINUE;
}


Otwieramy save.inl:
Szukamy:

for (new i = 0; i < MAX_BADGES; i++)
{
g_PlayerBadges[id][i] = clamp(g_PlayerBadges[id][i], 0, 4);
}

I zamieniamy na:

for (new i = 0; i < MAX_BADGES; i++)
{
g_PlayerBadges[id][i] = clamp(g_PlayerBadges[id][i], 0, 5);
}


Otwieramy badgepowers.inl:
Szukamy:

if ( sniperlevel )
{
if ( random_num(1, (5-sniperlevel)) == 1 )
{
new weaponName[32];
new weaponID = get_user_weapon(id);

if ( !get_pcvar_num(gPcvarFreeAwp) )
{
fm_give_item(id, "weapon_scout");
}
else
{
fm_give_item(id, "weapon_awp");
}

if ( weaponID )
{
get_weaponname(weaponID, weaponName, charsmax(weaponName));
engclient_cmd(id, weaponName);
}

givenitem = true;
}
}

I zamieniamy na:
if ( sniperlevel )
{
if ( random_num(1, (6-sniperlevel)) == 1 )
{
new weaponName[32];
new weaponID = get_user_weapon(id);

if ( !get_pcvar_num(gPcvarFreeAwp) )
{
fm_give_item(id, "weapon_scout");
}
else
{
fm_give_item(id, "weapon_awp");
}

if ( weaponID )
{
get_weaponname(weaponID, weaponName, charsmax(weaponName));
engclient_cmd(id, weaponName);
}

givenitem = true;
}
}


Szukamy:

if ( explosionlevel )
{
if ( random_num(1, (5-explosionlevel)) == 1 )
{
fm_give_item(id, "weapon_hegrenade");
givenitem = true;
}
}

I zamieniamy na:
if ( explosionlevel )
{
if ( random_num(1, (6-explosionlevel)) == 1 )
{
fm_give_item(id, "weapon_hegrenade");
givenitem = true;
}
}


Niestety nie testowałem tego na bazie danych, lecz jedynie na nvault. Mam nadzieję że nie będzie problemów.

Pozdrawiam i mam nadzieję że poradnik wam się spodobał.

Użytkownik Fili:P edytował ten post 07.11.2011 13:54

  • +
  • -
  • 6

#2 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 07.11.2011 13:45

na bazie danych sie podobnie robi ;)
  • +
  • -
  • 0

#3 8ball1

    Profesjonalista

  • Użytkownik

Reputacja: 72
Pomocny

  • Postów:196
  • GG:
  • Steam:steam
  • Imię:Łukasz
  • Lokalizacja:Trzebiatów
Offline

Napisano 07.11.2011 13:52

Cześć w tym poradniku pokaże jak dodać nowy poziom odznak do BF2 moda.


może napiszesz coś więcej o tym, bo zbytnio nie wiem o czy mówisz ;)
jakie to są zmiany, na czym polegają, jaki jest efekt końcowy.

Użytkownik 8ball1 edytował ten post 07.11.2011 13:52

  • +
  • -
  • 0

Cs-Bosman.pl [De_Dust2] [FFA] [1000 FPS] - IP 188.116.33.132:27050
Dołączona grafika
Cs-Bosman.pl [De_Dust2] [BF2] [1000 FPS] - IP 79.133.198.50:27055
Dołączona grafika
Cs-Bosman.pl [GunGameExpMod] [600 FPS] - IP 31.186.81.18:27016
Dołączona grafika


#4 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2011 13:54

Cześć w tym poradniku pokaże jak dodać nowy poziom odznak do BF2 moda.


może napiszesz coś więcej o tym, bo zbytnio nie wiem o czy mówisz ;)
jakie to są zmiany, na czym polegają, jaki jest efekt końcowy.

Ok już edit.
  • +
  • -
  • 0

#5 8ball1

    Profesjonalista

  • Użytkownik

Reputacja: 72
Pomocny

  • Postów:196
  • GG:
  • Steam:steam
  • Imię:Łukasz
  • Lokalizacja:Trzebiatów
Offline

Napisano 07.11.2011 14:13

z tej edycji Twojego postu i tak nic nie zrozumiałem :D
ale sam doszedłem do wniosków xD

edycja ta pozwoli nam dodać nowy poziom odznak, tak jak piszesz.
czyli np w odznace za walkę nożem, mamy takie oto poziomy :)

Podstawowy -> Weteran -> Expert -> Profesjonalista -> i nowa odznaka Mistrz


będą nowe odznaki też w formie graficznej ??
bo jak już coś robić to dokładnie - zawsze jestem takiego zdania.
  • +
  • -
  • 0

Cs-Bosman.pl [De_Dust2] [FFA] [1000 FPS] - IP 188.116.33.132:27050
Dołączona grafika
Cs-Bosman.pl [De_Dust2] [BF2] [1000 FPS] - IP 79.133.198.50:27055
Dołączona grafika
Cs-Bosman.pl [GunGameExpMod] [600 FPS] - IP 31.186.81.18:27016
Dołączona grafika


#6 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2011 14:26

To nie jest dział Webmastering, więć jedno nie ma nic do drugiego.
  • +
  • -
  • 0

#7 mlekowita

    Wszechpomocny

  • Zbanowany

Reputacja: 91
Zaawansowany

  • Postów:398
  • Lokalizacja:Polska
Offline

Napisano 07.11.2011 14:41

Dobry poradnik przyda się na pewno nie jednemu !

#8 TheMiX

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:69
  • Imię:PePe pan dziobak
  • Lokalizacja:Suwałki
Offline

Napisano 23.11.2011 19:59

A co daje ten wyższy poziom ?
  • +
  • -
  • 0

#9 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 28.11.2011 21:07

Jest to wyższa ranga odznaki, więc i możemy dodać wyższą nagrodę.
  • +
  • -
  • 0

#10 Mac Pherson

    Banned

  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:221
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Wołomin
Offline

Napisano 30.11.2011 08:18

a jak dodać nową nagrodę
http://www.CSMagic.pl ----> Nowa sieć, nowy zespół, super serwery!
Dołączona grafika
Szukam osób znających się na pisaniu pluginów do sieci!
Możemy się dogadać na jakich warunkach

#11 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 01.12.2011 13:53

Zależy w jakim momencie nagroda ma być dana, np. start rundy. koniec rundy, dmg itp
  • +
  • -
  • 0

#12 Cs-assassin

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:3
  • Imię:M(-)CiE|&gt;
  • Lokalizacja:Warszawa
Offline

Napisano 05.05.2012 19:30

Hehehe ZRobiłem tak jak tutaj piszę i nie działa.... BARDZO DOBRE :)
  • +
  • -
  • 0

#13 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 15.05.2012 15:27

Hehehe ZRobiłem tak jak tutaj piszę i nie działa.... BARDZO DOBRE :)

Pewniak że nie masz pojęcia o programowaniu w pawnie, a bierzesz się za mody.
  • +
  • -
  • 0

#14 Cs-assassin

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:3
  • Imię:M(-)CiE|&gt;
  • Lokalizacja:Warszawa
Offline

Napisano 19.05.2012 13:58

W takim razie powiedz co tu nie gra??
  • +
  • -
  • 0

#15 Na 5tyk

    Godlike

  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 21.05.2012 20:47

W takim razie powiedz co tu nie gra??

Taaa... Powiedz jakie błędy, może sma?
  • +
  • -
  • 0

#16 what??

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:DL
Offline

Napisano 26.11.2012 12:12

A jak na bazie danych ?
Może ktoś opisać .
  • +
  • -
  • 0

#17 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 01.12.2012 20:56

A jak na bazie danych ?
Może ktoś opisać .

prawie, tak samo, o ile nie calkiem
  • +
  • -
  • 0

#18 hanyse

    Nowy

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:6
  • GG:
  • Lokalizacja:wadowice
Offline

Napisano 15.04.2013 17:50

ehh :( zrobiłem wszystko jak trzeba i nic nie działa nawet w menu nic się nie zmieniło ...

 







Również z jednym lub większą ilością słów kluczowych: BattleField2

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych