Witam, mam do was pytanie jak mogę zmienić wyświetlanie hud z pluginu do silnika?
Chciałbym dodać hud tego plugu do silnika co muszę dodać/zmienić w plugu silniku?
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <fun>
#include <nvault>
#include <ColorChat>
#define NAZWA "Punkty Chwaly"
#define WERSJA "1.3.1"
#define AUTOR "MAGNET" //Pomagali: Vasto_Lorde, G[o]Q i d0naciak
#define PREFIX "Punkty Chwaly"
#define ILE_POTRZEBA 100 ///ile punktow potrzeba do wbicia 1 punktu w statystyke
#define SZANSA 5///Szansa na zgubienie 1 punktu po smierci
#define POKAZ_HUD 1234
#define ZADANIE_WSKRZES 6240
#define ACCESS_FLAG ADMIN_IMMUNITY
new CT_Skins[4][] = {"sas","gsg9","urban","gign"};
new Terro_Skins[4][] = {"arctic","leet","guerilla","terror"};
new punkty_chwaly[33];
new zdrowie[33];
new obrazenia[33];
new wyrzucenie[33];
new resp[33];
new respawn[33];
new niesmiertelnosc[33];
new msg_bartime;
new noclip[33];
new bool:uzyl[33];
new bool:uzyl2[33];
new g_Vault;
public plugin_init()
{
register_plugin(NAZWA, WERSJA, AUTOR);
g_Vault=nvault_open("PunktyChwaly")
register_event("DeathMsg", "DeathMsg", "a")
RegisterHam(Ham_TakeDamage, "player", "Statystyka_Obrazenia");
RegisterHam(Ham_TakeDamage, "player", "Statystyka_Wyrzucenie");
RegisterHam(Ham_Killed, "player", "Statystyka_Respawn", 1);
RegisterHam(Ham_Spawn, "player", "Respawn", 1);
RegisterHam(Ham_Spawn, "player", "Statystyka_Resp", 1);
register_clcmd("say /pch", "Przydziel_Punkty_Chwaly");
register_clcmd("say /sprawdz", "Sprawdz_Staty");
register_clcmd("say /reset", "Resetuj_Punkty_Chwaly");
register_clcmd("say /sklepik", "Sklepik");
register_concmd("dodaj_punkty", "Dodaj_Punkty_Chwaly", ACCESS_FLAG, "<nick> <ilosc>");
register_concmd("ustaw_punkty", "Ustaw_Punkty_Chwaly", ACCESS_FLAG, "<nick> <ilosc>");
register_concmd("odejmij_punkty", "Odejmij_Punkty_Chwaly", ACCESS_FLAG, "<nick> <ilosc>");
msg_bartime = get_user_msgid("BarTime");
register_event("ResetHUD", "ResetHUD", "abe");
}
public Respawn(id)
{
if(!task_exists(id+POKAZ_HUD))
set_task(0.1, "PokazInformacje", id+POKAZ_HUD, _, _, "b");
set_task(0.1, "Statystyka_Zdrowie",id)
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
if(punkty_chwaly[id] > ILE_POTRZEBA - 1)
Przydziel_Punkty_Chwaly(id);
Sklepik_Ubranie(id, 1)
return PLUGIN_CONTINUE;
}
public Statystyka_Resp(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_HANDLED;
if(resp[id]<1)
return PLUGIN_HANDLED;
if(random_num(1,30-resp[id]) == 1)
{
new CsTeams:team = cs_get_user_team(id);
cs_set_user_team(id, (team == CS_TEAM_CT)? CS_TEAM_T: CS_TEAM_CT);
ExecuteHam(Ham_CS_RoundRespawn, id);
cs_set_user_team(id, team);
}
return PLUGIN_CONTINUE;
}
public DeathMsg()
{
new kid = read_data(1) //zabojca
new vid = read_data(2) // ofiara
punkty_chwaly[kid]++;
if(random_num(1,SZANSA) == 1 && punkty_chwaly[vid] > 0)
{
ColorChat(vid, GREEN, "[%s]^x03 Utraciles jeden Punkt Chwaly!", PREFIX);
punkty_chwaly[vid]--;
}
}
public client_authorized(id)
{
WczytajDane(id);
set_task(180.0, "PokazInfo", id, _, _, "b")
}
public client_connect(id)
{
set_task(0.1, "Statystyka_Resp", id)
}
public client_disconnect(id)
{
new entRakiety = find_ent_by_class(0, "rocket");
while(entRakiety > 0)
{
if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
remove_entity(entRakiety);
entRakiety = find_ent_by_class(entRakiety, "rocket");
}
ZapiszDane(id);
UsunUmiejetnosci(id);
}
public UsunUmiejetnosci(id)
{
punkty_chwaly[id] = 0;
obrazenia[id] = 0;
zdrowie[id] = 0;
wyrzucenie[id] = 0;
resp[id] = 0;
respawn[id] = 0;
}
public ZapiszDane(id)
{
new name[64];
get_user_name(id,name,32);
new vaultkey[128], vaultdata[256];
formatex(vaultkey, 63, "%s-PunktyChwaly", name);
formatex(vaultdata, 255, "%i#%i#%i#%i#%i#%i", punkty_chwaly[id], obrazenia[id], zdrowie[id], wyrzucenie[id], resp[id], respawn[id]);
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public WczytajDane(id)
{
new name[64];
get_user_name(id,name,32);
new vaultkey[128], vaultdata[256];
formatex(vaultkey, 63, "%s-PunktyChwaly", name);
formatex(vaultdata, 255, "%i#%i#%i#%i#%i#%i", punkty_chwaly[id], obrazenia[id], zdrowie[id], wyrzucenie[id], resp[id], respawn[id]);
nvault_get(g_Vault, vaultkey, vaultdata, 255);
replace_all(vaultdata, 255, "#", " ");
new punkty_chwaly_vault[33], obrazenia_vault[33], zdrowie_vault[33], wyrzucenie_vault[33], resp_vault[33], respawn_vault[33];
parse(vaultdata, punkty_chwaly_vault, 31, obrazenia_vault, 31, zdrowie_vault, 31, wyrzucenie_vault, 31, resp_vault, 31, respawn_vault, 31);
punkty_chwaly[id] = str_to_num(punkty_chwaly_vault);
obrazenia[id]= str_to_num(obrazenia_vault);
zdrowie[id] = str_to_num(zdrowie_vault);
wyrzucenie[id]= str_to_num(wyrzucenie_vault);
resp[id]= str_to_num(resp_vault);
respawn[id]= str_to_num(respawn_vault);
return PLUGIN_CONTINUE;
}
public Statystyka_Obrazenia(victim, inflictor, attacker, Float:dmg, dmgbits)
{
if(!is_user_connected(victim) || !is_user_alive(attacker))
return HAM_IGNORED;
SetHamParamFloat(4, dmg + obrazenia[attacker]);
return HAM_IGNORED;
}
public Statystyka_Zdrowie(id)
{
set_user_health(id, get_user_health(id) + (zdrowie[id]*2))
}
public Statystyka_Wyrzucenie(id, idinflictor, idattacker, Float:damage, damagebits)
{
if(wyrzucenie[id] < 1 || !is_user_alive(idattacker))
return HAM_IGNORED;
if(random_num(0, 40-wyrzucenie[idattacker])==0)
{
client_cmd(id, "drop");
}
return HAM_IGNORED;
}
public Statystyka_Respawn(id)
{
if (respawn[id] < 1)
return PLUGIN_HANDLED;
if(random_num(1, 30 - respawn[id]) == 1)
{
set_task(0.1, "Wskrzes", id+ZADANIE_WSKRZES);
}
return PLUGIN_CONTINUE;
}
public Resetuj_Punkty_Chwaly(id)
{
punkty_chwaly[id] = punkty_chwaly[id] + obrazenia[id]*ILE_POTRZEBA + zdrowie[id]*ILE_POTRZEBA + wyrzucenie[id]*ILE_POTRZEBA + resp[id]*ILE_POTRZEBA + respawn[id]*ILE_POTRZEBA,
obrazenia[id] = 0,
zdrowie[id] = 0,
wyrzucenie[id] = 0,
resp[id] = 0,
respawn[id] = 0;
ColorChat(id, GREEN, "[%s]^x01 Umiejetnosci zostaly zresetowane", PREFIX);
}
public Przydziel_Punkty_Chwaly(id)
{
new tytul[25];
formatex(tytul, charsmax(tytul), "Twoje Punkty Chwaly(%i)", punkty_chwaly[id]);
new menu = menu_create(tytul, "Przydziel_Punkty_Chwaly_Handler");
menu_additem(menu, "Obrazenia \r[Zwieksza obrazenia]");
menu_additem(menu, "Zdrowie \r[Zwieksza zdrowie]");
menu_additem(menu, "Wyrzucenie \r[Szansa na drop broni wroga]");
menu_additem(menu, "Szpieg \r[Szansa na resp u wroga]");
menu_additem(menu, "Respawn \r[Szansa na odrodzenie sie]^n^n\wPunkty Chwaly by \rMAGNET");
menu_setprop(menu, MPROP_EXIT, 0);
menu_display(id, menu);
}
public Przydziel_Punkty_Chwaly_Handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
if (punkty_chwaly[id] < ILE_POTRZEBA)
{
ColorChat(id, GREEN, "[%s]^x01 Masz za malo Punktow Chwaly!", PREFIX);
return PLUGIN_HANDLED
}
switch(item)
{
case 0:
{
if(obrazenia[id] < 10)
{
obrazenia[id]++;
punkty_chwaly[id]-=ILE_POTRZEBA;
client_print(id, print_center, "Statystyka Obrazenia rozwinieta (%i/10)", obrazenia[id]);
}
else
ColorChat(id, GREEN, "[%s]^x01 Statystyka Obrazenia rozwinieta maksymalnie", PREFIX);
}
case 1:
{
if(zdrowie[id] < 10)
{
zdrowie[id]++;
punkty_chwaly[id]-=ILE_POTRZEBA;
client_print(id, print_center, "Statystyka Zdrowie rozwinieta (%i/10)", zdrowie[id]);
}
else
ColorChat(id, GREEN, "[%s]^x01 Statystyka Zdrowie rozwinieta maksymalnie", PREFIX);
}
case 2:
{
if(wyrzucenie[id] < 10)
{
wyrzucenie[id]++;
punkty_chwaly[id]-=ILE_POTRZEBA;
client_print(id, print_center, "Statystyka wyrzucenie rozwinieta (%i/10)", wyrzucenie[id]);
}
else
ColorChat(id, GREEN, "[%s]^x01 Statystyka Wyrzucenie rozwinieta maksymalnie", PREFIX);
}
case 3:
{
if(resp[id] < 10)
{
resp[id]++;
punkty_chwaly[id]-=ILE_POTRZEBA;
client_print(id, print_center, "Statystyka Szpieg rozwinieta (%i/10)", resp[id]);
}
else
ColorChat(id, GREEN, "[%s]^x01 Statystyka Szpieg rozwinieta maksymalnie", PREFIX);
}
case 4:
{
if(respawn[id] < 10)
{
respawn[id]++;
punkty_chwaly[id]-=ILE_POTRZEBA;
client_print(id, print_center, "Statystyka Respawn rozwinieta (%i/10)", respawn[id]);
}
else
ColorChat(id, GREEN, "[%s]^x01 Statystyka Respawn rozwinieta maksymalnie", PREFIX);
}
}
if(punkty_chwaly[id] >= ILE_POTRZEBA)
Przydziel_Punkty_Chwaly(id);
return PLUGIN_CONTINUE;
}
public PokazInformacje(id)
{
id -= POKAZ_HUD;
if(!is_user_connected(id) || !is_user_alive(id))
{
remove_task(id+POKAZ_HUD);
return PLUGIN_CONTINUE;
}
set_hudmessage(0, 255, 0, 1.0, 1.5, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Punkty Chwaly - %i]", punkty_chwaly[id])
return PLUGIN_CONTINUE;
}
public Dodaj_Punkty_Chwaly(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_CONTINUE;
new arg[33];
read_argv(1, arg, 32);
new target = cmd_target(id, arg, CMDTARGET_ALLOW_SELF);
if(!is_user_connected(target))
return PLUGIN_CONTINUE;
read_argv(2, arg, 32);
remove_quotes(arg);
new ilosc = str_to_num(arg);
punkty_chwaly[target]+=ilosc-1
return PLUGIN_CONTINUE;
}
public Ustaw_Punkty_Chwaly(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_CONTINUE;
new arg[33];
read_argv(1, arg, 32);
new target = cmd_target(id, arg, CMDTARGET_ALLOW_SELF);
if(!is_user_connected(target))
return PLUGIN_CONTINUE;
read_argv(2, arg, 32);
remove_quotes(arg);
new ilosc = str_to_num(arg);
punkty_chwaly[target]=ilosc-1
return PLUGIN_CONTINUE;
}
public Odejmij_Punkty_Chwaly(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_CONTINUE;
new arg[33];
read_argv(1, arg, 32);
new target = cmd_target(id, arg, CMDTARGET_ALLOW_SELF);
if(!is_user_connected(target))
return PLUGIN_CONTINUE;
read_argv(2, arg, 32);
remove_quotes(arg);
new ilosc = str_to_num(arg);
punkty_chwaly[target]-=ilosc-1
return PLUGIN_CONTINUE;
}
public Sklepik(id)
{
new tytul[25];
formatex(tytul, 24, "Sklepik (Punkty Chwaly: %i)", punkty_chwaly[id]);
new menu = menu_create(tytul, "Sklepik_Handler");
menu_additem(menu, "Granat Wybuchowy \yKoszt: \r3 P.Ch.");//1
menu_additem(menu, "Flash \yKoszt: \r3 P.Ch.");//2
menu_additem(menu, "Smoke \yKoszt: \r3P.Ch.");//3
menu_additem(menu, "Ciche Kroki do konca mapy \yKoszt: \r30 P.Ch.");//4
menu_additem(menu, "Leczy HP do maximum \yKoszt: \r5 P.Ch.");//5
menu_additem(menu, "Mniejsza Grawitacja \yKoszt: \r6P.Ch.");//6
menu_additem(menu, "16000$ \yKoszt: \r3P.Ch.");//7
menu_additem(menu, "+300 HP \yKoszt: \r30 P.Ch.");//8
menu_additem(menu, "Ubranie Wroga \yKoszt: \r15 P.Ch.");//9
menu_additem(menu, "5s niesmiertelnosci(E) \yKoszt: \r15 P.Ch.");//10
menu_additem(menu, "Niewidka \yKoszt: \r10 P.Ch.");//11
menu_additem(menu, "NoClip (przechodzenie przez sciany) \yKoszt: \r10 P.Ch.");//12
menu_additem(menu, "150 Armora \yKoszt: \r5 P.Ch.");//12
menu_additem(menu, "AWP + AK \yKoszt: \r10 P.Ch.");//12
menu_setprop(menu, MPROP_BACKNAME, "\yWstecz");
menu_setprop(menu, MPROP_NEXTNAME, "\yDalej");
menu_display(id, menu);
}
public Sklepik_Handler(id, menu, item)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if (punkty_chwaly[id] >=3)
{
give_item(id, "weapon_hegrenade")
punkty_chwaly[id] -=3
ColorChat(id, GREEN, "[%s]^x01 Zakupiles HE", PREFIX);
}
}
case 1:
{
if(punkty_chwaly[id] >=3)
{
give_item(id, "weapon_flashbang")
punkty_chwaly[id] -=3
ColorChat(id, GREEN, "[%s]^x01 Zakupiles Flasha", PREFIX);
}
}
case 2:
{
if(punkty_chwaly[id] >=3)
{
give_item(id, "weapon_smokegrenade")
punkty_chwaly[id] -=3
ColorChat(id, GREEN, "[%s]^x01 Zakupiles Smoke'a", PREFIX);
}
}
case 3:
{
if(punkty_chwaly[id] >=30)
{
set_user_footsteps(id, 1)
punkty_chwaly[id] -=30
ColorChat(id, GREEN, "[%s]^x01 Zakupiles Ciche Kroki", PREFIX);
}
}
case 4:
{
if(punkty_chwaly[id] >=5)
{
new hp = 100 + (zdrowie[id]*2)
set_user_health(id, hp)
punkty_chwaly[id] -=5
ColorChat(id, GREEN, "[%s]^x01 Zostales w pelni uleczony", PREFIX);
}
}
case 5:
{
if(punkty_chwaly[id] >=6)
{
set_user_gravity(id, 0.5)
punkty_chwaly[id] -=6
ColorChat(id, GREEN, "[%s]^x01 Zakupiles zmniejszona grawitacje", PREFIX);
}
}
case 6:
{
if(punkty_chwaly[id] >=3)
{
cs_set_user_money(id, 16000)
punkty_chwaly[id] -=3
ColorChat(id, GREEN, "[%s]^x01 Zakupiles 16000$", PREFIX);
}
}
case 7:
{
if(punkty_chwaly[id] >=30)
{
set_user_health(id, get_user_health(id) + 300)
punkty_chwaly[id] -=30
ColorChat(id, GREEN, "[%s]^x01 ZAKUPILES 300 ZDROWIA!!!", PREFIX);
}
}
case 8:
{
if(punkty_chwaly[id] >=15)
{
Sklepik_Ubranie(id, 0)
punkty_chwaly[id] -=15
ColorChat(id, GREEN, "[%s]^x01 Zakupiles Ubranie Wroga", PREFIX);
}
}
case 9:
{
if(punkty_chwaly[id] >=15 && !uzyl[id])
{
niesmiertelnosc[id]++
punkty_chwaly[id] -=15
ColorChat(id, GREEN, "[%s]^x01 Zakupiles niesmiertelnosc", PREFIX);
}
}
case 10:
{
if(punkty_chwaly[id] >=10)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 45);
punkty_chwaly[id] -=10
ColorChat(id, GREEN, "[%s]^x01 Zakupiles niewidke", PREFIX);
}
}
case 11:
{
if(punkty_chwaly[id] >=10 && !uzyl2[id])
{
noclip[id]++
punkty_chwaly[id] -=10
ColorChat(id, GREEN, "[%s]^x01 Zakupiles NoClip'a", PREFIX);
}
}
case 12:
{
if(punkty_chwaly[id] >=5)
{
set_user_armor(id, 150)
punkty_chwaly[id] -=5
ColorChat(id, GREEN, "[%s]^x01 Zakupiles armor'a", PREFIX);
}
}
case 13:
{
if(punkty_chwaly[id] >=10)
{
give_item(id, "weapon_awp")
give_item(id, "weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_338magnum")
punkty_chwaly[id] -=10
ColorChat(id, GREEN, "[%s]^x01 Zakupiles AK + AWP", PREFIX);
}
}
}
return PLUGIN_CONTINUE;
}
public client_PreThink(id)
{
new button = get_user_button(id)
new oldbutton = get_user_oldbutton(id)
if(niesmiertelnosc[id] && button & IN_USE && !(oldbutton & IN_USE))
{
Sklepik_Niesmiertelnosc(id)
}
else if(noclip[id] && button & IN_USE && !(oldbutton & IN_USE))
{
Sklepik_NoClip(id)
}
}
public Sklepik_Ubranie(id,reset)
{
if (!is_user_connected(id))
return PLUGIN_CONTINUE;
if (reset)
cs_reset_user_model(id);
else
{
new num = random_num(0,3);
cs_set_user_model(id, (get_user_team(id) == 1)? CT_Skins[num]: Terro_Skins[num]);
}
return PLUGIN_CONTINUE;
}
public Sklepik_Niesmiertelnosc(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED;
if(!uzyl[id] && !niesmiertelnosc[id])
{
return PLUGIN_HANDLED;
}
uzyl[id] = true;
niesmiertelnosc[id]--
set_user_godmode(id, 1);
set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0);
set_task(5.0, "WylaczGod", id);
message_begin(MSG_ONE, msg_bartime, _, id)
write_short(5)
message_end()
return PLUGIN_CONTINUE;
}
public WylaczGod(id)
{
if(!is_user_connected(id)) return;
set_user_godmode(id, 0);
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0);
}
public Sklepik_NoClip(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED;
if(!uzyl2[id] && !noclip[id])
{
return PLUGIN_HANDLED;
}
uzyl2[id] = true;
noclip[id]--
set_user_noclip(id, 1);
set_task(10.0, "WylaczNoClip", id);
message_begin(MSG_ONE, msg_bartime, _, id)
write_short(10)
message_end()
return PLUGIN_CONTINUE;
}
public WylaczNoClip(id)
{
if(!is_user_connected(id)) return;
set_user_noclip(id, 0);
}
public PokazInfo(id)
{
if(!is_user_connected(id))
return PLUGIN_HANDLED;
ColorChat(id, GREEN, "[%s]^x01 Aby sprawdzic stan twoich statystyk, wpisz ^x03/sprawdz", PREFIX);
return PLUGIN_CONTINUE;
}
public Sprawdz_Staty(id)
{
client_print(id, print_chat, "Twoje aktualne statystyki: Obrazenia - %i/10, Zdrowie - %i/10, Wyrzucenie - %i/10, Szpieg - %i/10, Respawn - %i/10", PREFIX, obrazenia[id], zdrowie[id], wyrzucenie[id], resp[id], respawn[id])
}
public Wskrzes(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id-ZADANIE_WSKRZES);
}
public ResetHUD(id)
{
uzyl[id] = false;
uzyl2[id] = false;
}


Dodatki SourceMod












