←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

BattleField2
Dodawanie przydatnych natywów do BF2

  • +
  • -
Fili:P - zdjęcie Fili:P 02.08.2012

W tym poradniku pokaże wam jak dodać kilka przydatnych natywów do BF2 moda by pRED. Na początku otwieramy plik bf2rank.sma i nad plugin init dodajemy:
#define MEDAL_BRONZE 1
#define MEDAL_SILVER 2
#define MEDAL_GOLD 3


Następnie pod plugin_init dodaj:

public plugin_natives()
{
register_library("battlefield2");
register_native("bf2_get_user_badge", "_bf2_get_user_badge");
register_native("bf2_get_user_rank", "_bf2_get_user_rank");
register_native("bf2_get_user_medals", "_bf2_get_user_medals");
register_native("bf2_set_user_badge", "_bf2_set_user_badge");
register_native("bf2_set_user_rank", "_bf2_set_user_rank");
register_native("bf2_set_user_medals", "_bf2_set_user_medals");
}
public _bf2_get_user_badge(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
return g_PlayerBadges[get_param(1)][get_param(2)];
}
public _bf2_get_user_rank(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
return g_PlayerRank[get_param(1)];
}
public _bf2_get_user_medals(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
switch(get_param(2))
{
case MEDAL_BRONZE:
return bronze[get_param(1)];
case MEDAL_SILVER:
return silver[get_param(1)];
case MEDAL_GOLD:
return gold[get_param(1)];
}
return g_PlayerRank[get_param(1)];
}
public _bf2_set_user_badge(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
return g_PlayerBadges[get_param(1)][get_param(2)]=get_param(3);
}
public _bf2_set_user_rank(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
return g_PlayerRank[get_param(1)]=get_param(2);
}
public _bf2_set_user_medals(plugin, params)
{
if(!is_user_connected(get_param(1))) return 404;
switch(get_param(2))
{
case MEDAL_BRONZE:
return bronze[get_param(1)]=get_param(3);
case MEDAL_SILVER:
return silver[get_param(1)]=get_param(3);
case MEDAL_GOLD:
return gold[get_param(1)]=get_param(3);
}
return g_PlayerRank[get_param(1)];
}
]

Ponownie kompilujemy. Gdyby komuś nie działał załącznik to to jest plik battlefield2.inc:
#if defined _battlefield2_included
#endinput
#endif

#define _battlefield2_included

#pragma library "battlefield2"

#define BADGE_KNIFE 0
#define BADGE_PISTOL 1
#define BADGE_ASSAULT 2
#define BADGE_SNIPER 3
#define BADGE_SUPPORT 4
#define BADGE_EXPLOSIVES 5
#define BADGE_SHOTGUN 6
#define BADGE_SMG 7

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

#define MEDAL_BRONZE 1
#define MEDAL_SILVER 2
#define MEDAL_GOLD 3

native bf2_get_user_badge(index, badge_id);
// index - id gracza
// badge_id - id odznaki od 0 do 7
// zwraca poziom odznaki u gracza ( int )
// zwroci 404 jezeli podanego gracza nie ma na serwerze
native bf2_get_user_rank(index);
// index - id gracza
// zwraca range gracza ( int )
// zwroci 404 jezeli podanego gracza nie ma na serwerze
native bf2_get_user_medals(index, medal_type);
// index - id gracza
// medal_type - typ medalu ( MEDAL -BRONZE, -SILVER lub -GOLD )
// zwraca ilosc konkretnych medali gracza ( int )
// zwroci 404 jezeli podanego gracza nie ma na serwerze
native bf2_set_user_badge(index, badge_id, level);
// index - id gracza
// badge_id - id odznaki od 0 do 7
// level - jaki poziom odznaki do ustawienia
// Ustawi poziom odznaki u gracza ( int ), w przypadku sukcesu zwroci ustawiona wartosc
// zwroci 404 jezeli podanego gracza nie ma na serwerze
native bf2_set_user_rank(index, rank);
// index - id gracza
// rank - numer rangi ktora zostanie ustawiona
// Ustawia range gracza ( int )
// zwroci 404 jezeli podanego gracza nie ma na serwerze
native bf2_set_user_medals(index, medal_type, ile);
// index - id gracza
// medal_type - typ medalu ( MEDAL -BRONZE, -SILVER lub -GOLD )
// Ustawia ilosc konkretnych medali gracza ( int )
// zwroci 404 jezeli podanego gracza nie ma na serwerze


Załączony plik  battlefield2.inc   1,97 KB   280 Ilość pobrań
Odpowiedz

  • +
  • -
Alvero - zdjęcie Alvero 22.12.2014

Natywy robią crashe
Odpowiedz