HUD_Info
Przyjmij wiadro 06.10.2013
Plugin wyświetla przez cały czas wiadomość HUD w której znajdziemy:
-nazwe forum
-ilość HP
-czas do zmiany mapy
-pozycje w rankingu
standardowa: http://amxx.pl/topic...-pluginow-amxx/
Nazwe forum zmieniamy w HUD_info.sma, dokładniej tutaj:
#define forum "XXX"
Dziękuję użytkownikowi: 28276 za lekką pomoc.
Załączone pliki
Przyjmij wiadro 06.10.2013
jesli odswieza HUD co 0.1 sekundy to tak samo odswieza HUD, prawda?
Rodzyn
06.10.2013
Ogólnie fajny plugin
Lecz zamiast aby podawać nazwy forum w #define mogłeś zrobić to na cvara wtedy inni użytkownicy twojego pluginu nie musieli by go na nowo kompilować
Misiaczek ;c
06.10.2013
#include <amxmodx> #include <amxmisc> #include <csx> #include <fakemeta_util> new Float: gfNextHUDRefresh[33] new gSyncHUD, gForum, timeleft; new szBuffer[1][512], szForum[1][32]; public plugin_init() { gForum = register_cvar("hud_forum", "www.amxx.pl"); register_forward(FM_PlayerPostThink, "fwPlayerPostThinkPost", 1); gSyncHUD = CreateHudSyncObj(); } public fwPlayerPostThinkPost(id) { if(is_user_bot(id) || gfNextHUDRefresh[id] >= get_gametime()) return FMRES_IGNORED; gfNextHUDRefresh[id] = get_gametime() + 1.00; timeleft = get_timeleft() get_pcvar_string(gForum, szForum[0], 31); static stats[8], body[8], rankpos; rankpos = get_user_stats(id, stats, body); new iLen = 0; iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, "Forum: %s || Ranking: %d/%d || Koniec mapy: %d:%02d || Zdrowie: %i"); iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, szForum[0], rankpos, get_statsnum(), timeleft / 60, timeleft % 60, get_user_health(id)); set_hudmessage(0, 255, 0, -1.0, 0.01, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, gSyncHUD, szBuffer[0]); return FMRES_IGNORED; }
Przyjmij wiadro 06.10.2013
Ogólnie fajny plugin
Lecz zamiast aby podawać nazwy forum w #define mogłeś zrobić to na cvara wtedy inni użytkownicy twojego pluginu nie musieli by go na nowo kompilować
myslalem o tym ale kilka osob mi mowilo ze lepiej bedzie w define
Nie lepiej tak?:
#include <amxmodx> #include <amxmisc> #include <csx> #include <fakemeta_util> new Float: gfNextHUDRefresh[33] new gSyncHUD, gForum, timeleft; new szBuffer[1][512], szForum[1][32]; public plugin_init() { gForum = register_cvar("hud_forum", "www.amxx.pl"); register_forward(FM_PlayerPostThink, "fwPlayerPostThinkPost", 1); gSyncHUD = CreateHudSyncObj(); } public fwPlayerPostThinkPost(id) { if(is_user_bot(id) || gfNextHUDRefresh[id] >= get_gametime()) return FMRES_IGNORED; gfNextHUDRefresh[id] = get_gametime() + 1.00; timeleft = get_timeleft() get_pcvar_string(gForum, szForum[0], 31); static stats[8], body[8], rankpos; rankpos = get_user_stats(id, stats, body); new iLen = 0; iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, "Forum: %s || Ranking: %d/%d || Koniec mapy: %d:%02d || Zdrowie: %i"); iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, szForum[0], rankpos, get_statsnum(), timeleft / 60, timeleft % 60, get_user_health(id)); set_hudmessage(0, 255, 0, -1.0, 0.01, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, gSyncHUD, szBuffer[0]); return FMRES_IGNORED; }
jest to moj pierwszy plugin..
DarkGL
10.10.2013
new szBuffer[1][512], szForum[1][32];
new szBuffer[512], szForum[32];
i dalej używasz jednowymiarowych tablic
iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, "Forum: %s || Ranking: %d/%d || Koniec mapy: %d:%02d || Zdrowie: %i"); iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, szForum[0], rankpos, get_statsnum(), timeleft / 60, timeleft % 60, get_user_health(id));
jak już to
iLen += formatex(szBuffer[0][iLen], charsmax(szBuffer[]) - iLen, "Forum: %s || Ranking: %d/%d || Koniec mapy: %d:%02d || Zdrowie: %i" , szForum[0], rankpos, get_statsnum(), timeleft / 60, timeleft % 60, get_user_health(id));