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
 

Fesher - zdjęcie

Fesher

Rejestracja: 06.11.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 14.03.2013 23:10
-----

#293791 Nowy Wygląd HUD

Napisane przez Misiaczek ;c w 08.09.2011 14:53

Witam :)

Jako iż mi się nudzi :D postanowiłem zmienić wygląd HUD w swoim bf2 ;](podpatrzone z coda) efekt jest fajny i miły dla oka :D

nowy HUD wygląda tak:
Dołączona grafika


Instrukcja dla 1.0.7 / 1.1.0

bf2rank.sma
Szukamy
#if defined KOLOROWY_SAY
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
#else
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgSayText;
#endif


dodajemy pod tym to
new gHUD;
//Task
#define TASK_HUD 9897


aby wyglądało to tak
#if defined KOLOROWY_SAY
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
#else
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgSayText;
#endif
new gHUD;
//Task
#define TASK_HUD 9897


następnie szukamy
  
#if defined KOLOROWY_SAY
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
#else
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
gmsgSayText = get_user_msgid("SayText");
#endif.


dodajemy pod tym to
gHUD = CreateHudSyncObj();

aby to wyglądało tak
  
#if defined KOLOROWY_SAY
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
#else
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
gmsgSayText = get_user_msgid("SayText");
#endif
gHUD = CreateHudSyncObj();


Szukamy dalej
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);	// cz bots won't hook here must RegisterHamFromEntity
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre");


Zastepujemy to tym
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);	// cz bots won't hook here must RegisterHamFromEntity
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre");
RegisterHam(Ham_Killed, "player", "Ham_Death_Player", 1);


Zapisujemy Plik ;)

ham.inl

Szukamy
  
set_task(0.1, "DisplayHUD", id);


Zastepujemy to tym

if(!task_exists(id+TASK_HUD))
{
set_task(0.1, "DisplayHUD", id+TASK_HUD, _, _, "b");
}


Szukamy
	SetHamParamFloat(4, damage);

return HAM_HANDLED;
}


Zastepujemy to tym
	SetHamParamFloat(4, damage);

return HAM_HANDLED;
}

public Ham_Death_Player(id)
{
if(!is_user_connected(id))
return HAM_IGNORED;

RemoveHUD(id)

return HAM_IGNORED;
}


Zapisujemy Plik :P

forwards.inl

Szukamy
public client_putinserver(id)
{
// Find a czero bot to register Ham_Spawn
if ( !gCZBotRegisterHam && gPcvarBotQuota && get_pcvar_num(gPcvarBotQuota) > 0 && is_user_bot(id) )
{
// Delay for private data to initialize
set_task(0.1, "RegisterHam_CZBot", id);
}

g_imobile[id] = false;
newplayer[id] = true;
gStatsLoaded[id] = 0;

get_save_key(id);

if (!get_pcvar_num(gPcvarWymus))
{
client_cmd(id,"hud_centerid 0");
client_cmd(id,"cl_shadows 0");
set_task(20.0, "Announcement", id);
}
else
{
set_task(20.0, "Announcement", id);
}
}


Zamieniamy na to
public client_putinserver(id)
{
// Find a czero bot to register Ham_Spawn
if ( !gCZBotRegisterHam && gPcvarBotQuota && get_pcvar_num(gPcvarBotQuota) > 0 && is_user_bot(id) )
{
// Delay for private data to initialize
set_task(0.1, "RegisterHam_CZBot", id);
}

g_imobile[id] = false;
newplayer[id] = true;
gStatsLoaded[id] = 0;

get_save_key(id);

if (!get_pcvar_num(gPcvarWymus))
{
client_cmd(id,"hud_centerid 0");
client_cmd(id,"cl_shadows 0");
set_task(20.0, "Announcement", id);
}
else
{
set_task(20.0, "Announcement", id);
}

RemoveHUD(id);
}


Szukamy
public client_disconnect(id)
{
save_badges(id);

if ( id == highestrankid )
{
set_task(2.0, "ranking_officer_disconnect");
}

clear_stat_globals(id);
gStatsLoaded[id] = 0;
}


Zamieniamy na to
public client_disconnect(id)
{
save_badges(id);

if ( id == highestrankid )
{
set_task(2.0, "ranking_officer_disconnect");
}

clear_stat_globals(id);
gStatsLoaded[id] = 0;
RemoveHUD(id);
}


Zapisujemy Plik :P

hud.inl

Szukamy
public DisplayHUD(id)
{
if ( !get_pcvar_num(gPcvarBF2Active) || !get_pcvar_num(gPcvarStatusText) ) return;
if ( !is_user_alive(id) || is_user_bot(id) ) return;

static HUD[64];

if ( !gStatsLoaded[id] )
{
formatex(HUD, charsmax(HUD), "[BF2] Wczytuje Dane...");
}
else
{
new rank = g_PlayerRank[id];
new nextrank;

switch(rank)
{
case 16, 19, 20, 21: nextrank = 15;
case 17: nextrank = 7;
case 18: nextrank = 8;
default: nextrank = rank;
}

++nextrank;

new nextrankxp = floatround(gRankXP[nextrank] * get_pcvar_float(gPcvarXpMultiplier));

if ( !get_pcvar_num(gPcvarBadgesActive) )
{
formatex(HUD, charsmax(HUD), "[BF2] Zabicia: %d/%d Ranga: %s", totalkills[id], nextrankxp, gRankName[rank]);
}
else
{
formatex(HUD, charsmax(HUD), "[BF2] Zabicia: %d/%d Odznaki: %d Ranga: %s", totalkills[id], nextrankxp, numofbadges[id], gRankName[rank]);
}
}

message_begin(MSG_ONE_UNRELIABLE, gmsgStatusText, _, id);
write_byte(0);
write_string(HUD);
message_end();
}


Zamieniamy na to
public DisplayHUD(id)
{
id -= TASK_HUD;

if ( !get_pcvar_num(gPcvarBF2Active) || !get_pcvar_num(gPcvarStatusText) )
return;
if ( !is_user_alive(id) || is_user_bot(id) )
return;

if(!is_user_connected(id))
{
remove_task(id+TASK_HUD);
return;
}

set_hudmessage(227, 96, 8, 0.05, 0.15, 0, 0.0, 0.3, 0.0, 0.0, 3)
if ( !gStatsLoaded[id] )
{
ShowSyncHudMsg(id, gHUD,"[%s] Wczytuje Dane...", gPluginName)
}
else
{
new rank = g_PlayerRank[id];
new nextrank;

switch(rank)
{
case 16, 19, 20, 21: nextrank = 15;
case 17: nextrank = 7;
case 18: nextrank = 8;
default: nextrank = rank;
}

++nextrank;

new nextrankxp = floatround(gRankXP[nextrank] * get_pcvar_float(gPcvarXpMultiplier));

if ( !get_pcvar_num(gPcvarBadgesActive) )
{
ShowSyncHudMsg(id, gHUD,"[%s]^nRanga: %s^nZabicia: %d/%d", gPluginName, gRankName[rank], totalkills[id], nextrankxp)
}
else
{
ShowSyncHudMsg(id, gHUD,"[%s]^nRanga: %s^nIlosc Odznak: %d^nZabicia: %d/%d", gPluginName, gRankName[rank], numofbadges[id], totalkills[id], nextrankxp)
}
}
}

public RemoveHUD(id)
{
remove_task(id+TASK_HUD);
}


Zapisujemy Plik :P

i kompilujemy teraz sma bf2 ;)

Instrukcja dla 1.5.3 / 1.5.5

bf2rank.sma
Szukamy
//Message sending variables
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgSayText;


dodajemy pod tym to
new gHUD;
//Task
#define TASK_HUD 9897


aby wyglądało to tak
//Message sending variables
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgSayText;
new gHUD;
//Task
#define TASK_HUD 9897


następnie szukamy
    //Message sending.
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
gmsgSayText = get_user_msgid("SayText");


dodajemy pod tym to
gHUD = CreateHudSyncObj();

aby to wyglądało tak
    //Message sending.
gmsgStatusText = get_user_msgid("StatusText");
gmsgScreenFade = get_user_msgid("ScreenFade");
gmsgScreenShake = get_user_msgid("ScreenShake");
gmsgSayText = get_user_msgid("SayText");
gHUD = CreateHudSyncObj();


Szukamy dalej
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);	// cz bots won't hook here must RegisterHamFromEntity
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre");


Zastepujemy to tym
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);	// cz bots won't hook here must RegisterHamFromEntity
RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre");
RegisterHam(Ham_Killed, "player", "Ham_Death_Player", 1);


Zapisujemy Plik ;)

ham.inl

Szukamy
  
set_task(0.1, "DisplayHUD", id);


Zastepujemy to tym

if(!task_exists(id+TASK_HUD))
{
set_task(0.1, "DisplayHUD", id+TASK_HUD, _, _, "b");
}


Szukamy
	SetHamParamFloat(4, damage);

return HAM_HANDLED;
}


Zastepujemy to tym
	SetHamParamFloat(4, damage);

return HAM_HANDLED;
}

public Ham_Death_Player(id)
{
if(!is_user_connected(id))
return HAM_IGNORED;

RemoveHUD(id)

return HAM_IGNORED;
}


Zapisujemy Plik :P

forwards.inl

Szukamy
public client_putinserver(id)
{
// Find a czero bot to register Ham_Spawn
if ( !gCZBotRegisterHam && gPcvarBotQuota && get_pcvar_num(gPcvarBotQuota) > 0 && is_user_bot(id) )
{
// Delay for private data to initialize
set_task(0.1, "RegisterHam_CZBot", id);
}

g_imobile[id] = false;
newplayer[id] = true;
gStatsLoaded[id] = 0;

get_save_key(id);

set_task(20.0, "Announcement", id);
}


Zamieniamy na to
public client_putinserver(id)
{
// Find a czero bot to register Ham_Spawn
if ( !gCZBotRegisterHam && gPcvarBotQuota && get_pcvar_num(gPcvarBotQuota) > 0 && is_user_bot(id) )
{
// Delay for private data to initialize
set_task(0.1, "RegisterHam_CZBot", id);
}

g_imobile[id] = false;
newplayer[id] = true;
gStatsLoaded[id] = 0;

get_save_key(id);

set_task(20.0, "Announcement", id);
RemoveHUD(id);
}


Szukamy
public client_disconnect(id)
{
save_badges(id);

if ( id == highestrankid )
{
set_task(2.0, "ranking_officer_disconnect");
}

clear_stat_globals(id);
gStatsLoaded[id] = 0;
}


Zamieniamy na to
public client_disconnect(id)
{
save_badges(id);

if ( id == highestrankid )
{
set_task(2.0, "ranking_officer_disconnect");
}

clear_stat_globals(id);
gStatsLoaded[id] = 0;
RemoveHUD(id);
}


Zapisujemy Plik :P

hud.inl

Szukamy
public DisplayHUD(id)
{
if ( !get_pcvar_num(gPcvarBF2Active) || !get_pcvar_num(gPcvarStatusText) ) return;
if ( !is_user_alive(id) || is_user_bot(id) ) return;

static HUD[64];

if ( !gStatsLoaded[id] )
{
formatex(HUD, charsmax(HUD), "[BF2] Wczytuje Dane...");
}
else
{
new rank = g_PlayerRank[id];
new nextrank;

switch(rank)
{
case 16, 19, 20: nextrank = 15;
case 17: nextrank = 7;
case 18: nextrank = 8;
default: nextrank = rank;
}

++nextrank;

new nextrankxp = floatround(gRankXP[nextrank] * get_pcvar_float(gPcvarXpMultiplier));

if ( !get_pcvar_num(gPcvarBadgesActive) )
{
formatex(HUD, charsmax(HUD), "[BF2] Zabicia: %d/%d Ranga: %s", totalkills[id], nextrankxp, gRankName[rank]);
}
else
{
formatex(HUD, charsmax(HUD), "[BF2] Zabicia: %d/%d Odznaki: %d Ranga: %s", totalkills[id], nextrankxp, numofbadges[id], gRankName[rank]);
}
}

message_begin(MSG_ONE_UNRELIABLE, gmsgStatusText, _, id);
write_byte(0);
write_string(HUD);
message_end();
}


Zamieniamy na to
public DisplayHUD(id)
{
id -= TASK_HUD;

if ( !get_pcvar_num(gPcvarBF2Active) || !get_pcvar_num(gPcvarStatusText) )
return;
if ( !is_user_alive(id) || is_user_bot(id) )
return;

if(!is_user_connected(id))
{
remove_task(id+TASK_HUD);
return;
}

set_hudmessage(227, 96, 8, 0.05, 0.15, 0, 0.0, 0.3, 0.0, 0.0, 3)
if ( !gStatsLoaded[id] )
{
ShowSyncHudMsg(id, gHUD,"[%s] Wczytuje Dane...", gPluginName)
}
else
{
new rank = g_PlayerRank[id];
new nextrank;

switch(rank)
{
case 16, 19, 20, 21: nextrank = 15;
case 17: nextrank = 7;
case 18: nextrank = 8;
default: nextrank = rank;
}

++nextrank;

new nextrankxp = floatround(gRankXP[nextrank] * get_pcvar_float(gPcvarXpMultiplier));

if ( !get_pcvar_num(gPcvarBadgesActive) )
{
ShowSyncHudMsg(id, gHUD,"[%s]^nRanga: %s^nZabicia: %d/%d", gPluginName, gRankName[rank], totalkills[id], nextrankxp)
}
else
{
ShowSyncHudMsg(id, gHUD,"[%s]^nRanga: %s^nIlosc Odznak: %d^nZabicia: %d/%d", gPluginName, gRankName[rank], numofbadges[id], totalkills[id], nextrankxp)
}
}
}

public RemoveHUD(id)
{
remove_task(id+TASK_HUD);
}


Zapisujemy Plik :P

i kompilujemy teraz sma bf2 ;)
  • +
  • -
  • 31


#334029 [ROZWIĄZANE] Nowa klasa -nozownik

Napisane przez Klakier w 13.12.2011 22:06

dopisz na końcu :


public DeathMsg(){
new iKiller = read_data(1);
new iVictim = read_data(2);

if(cs_get_user_team(iVictim) == cs_get_user_team(iKiller))
{
return PLUGIN_HANDLED
}
if(is_user_alive(iKiller))
{
set_user_health(iKiller, min( 100, get_user_health(iKiller) + 20) )
}
}


do plugin int dopisz:

  register_event("DeathMsg", "DeathMsg", "a");


i dopisz na początku:

#include <fun>

  • +
  • -
  • 1


#333800 [ROZWIĄZANE] Nowa klasa -nozownik

Napisane przez d0naciak w 13.12.2011 13:47

edytowałem posta, tera spróbuj
  • +
  • -
  • 1


#333474 [ROZWIĄZANE] Nowa klasa -nozownik

Napisane przez d0naciak w 12.12.2011 14:34

Aby miała sam noz na samą góre:
#include <fun>

do plugin init :
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);

I na koniec pluginu
public Odrodzenie(id)
{
if(!ma_klase[id])
{
strip_user_weapons(id);
give_item(id, "weapon_knife");
}
}

  • +
  • -
  • 1