Siema, posiadam serwer jb na silniku cypisa i pragnę dodać "niestandardowe" życzenia.
Chodzi mi o to, żeby do pluginu jail_zyczenia:
Spoiler
#include
#include
#include
#include
#include
#include
#include
#include
#define PLUGIN "Jail Zyczenia"
#define VERSION "1.0.6"
#define AUTHOR "Cypis"
/////////// Pojedynek ///////////
new bronie_pojedynek, pojedynek[2];
new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31];
/////////// Pojedynek ///////////
new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100};
new id_bezruch, id_freeday, id_duszek, id_rambomod, id_scouty, id_deagle;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
id_bezruch = jail_register_wish("Bezruch");
id_freeday = jail_register_wish("FreeDay");
id_duszek = jail_register_wish("Duszek");
id_rambomod = jail_register_wish("RamboMod");
id_scouty = jail_register_wish("Pojedynek na Scouty");
id_deagle = jail_register_wish("Pojedynek na Deagle");
}
public plugin_precache()
{
precache_sound("jb_cypis/rambomode.wav");
precache_sound("jb_cypis/pojedynek.wav");
}
public OnRemoveData(day)
{
/////////// Pojedynek ///////////
if(pojedynek[0] || pojedynek[1])
{
pojedynek[0] = 0;
pojedynek[1] = 0;
RegisterHams(false);
}
bronie_pojedynek = 0;
/////////// Pojedynek ///////////
}
public OnLastPrisonerTakeWish(id, zyczenie)
{
if(zyczenie == id_bezruch)
{
strip_user_weapons(id);
give_item(id, "weapon_knife");
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, maxAmmo[CSW_DEAGLE]);
jail_set_ct_hit_tt(true);
for(new i=1; i<=32; i++)
{
if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT)
continue;
strip_user_weapons(i);
give_item(i, "weapon_knife");
jail_set_user_speed(i, 0.1);
}
}
else if(zyczenie == id_freeday)
{
if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd
return JAIL_HANDLED;
user_kill(id);
jail_set_prisoner_free(id);
}
else if(zyczenie == id_duszek)
{
if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść duszka
return JAIL_HANDLED;
user_kill(id);
jail_set_prisoner_ghost(id);
}
else if(zyczenie == id_rambomod)
{
client_cmd(0, "spk jb_cypis/rambomode.wav");
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 4.0);
show_hudmessage(0, "RamboMod aktywny!");
set_user_health(id, 1500);
strip_user_weapons(id);
give_item(id, "weapon_knife");
give_item(id, "weapon_m249");
cs_set_user_bpammo(id, CSW_M249, maxAmmo[CSW_M249]);
}
else if(zyczenie == id_scouty)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_SCOUT;
MenuPojedynek(id);
}
else if(zyczenie == id_deagle)
{
pojedynek[0] = id;
bronie_pojedynek = CSW_DEAGLE;
MenuPojedynek(id);
}
return JAIL_CONTINUE;
}
/////////// Pojedynek ///////////
public MenuPojedynek(id)
{
new menu = menu_create("Pojedynek Z:", "Handel_Pojedynek");
for(new i=1; i<=32; i++)
{
if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT)
continue;
new name[64];
get_user_name(i, name, 63);
menu_additem(menu, name);
}
menu_setprop(menu, MPROP_EXITNAME, "\dWyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public Handel_Pojedynek(id, menu, item)
{
if(pojedynek[0] != id || pojedynek[1] || !is_user_alive(id))
return;
if(item == MENU_EXIT)
{
menu_display(id, menu);
return;
}
new acces, callback, data[3], szName2[64];
menu_item_getinfo(menu, item, acces, data, 2, szName2, 63, callback);
pojedynek[1] = get_user_index(szName2);
if(!is_user_alive(pojedynek[1]) || !is_user_connected(pojedynek[1]))
{
pojedynek[1] = 0;
MenuPojedynek(id);
return;
}
new szName[32];
get_user_name(id, szName, 31);
ColorChat(0, TEAM_COLOR, "^x04[PrisonBreak]^x03 %s^x01 walczy z^x03 %s", szName, szName2);
client_cmd(0, "spk jb_cypis/pojedynek.wav");
RegisterHams(true);
set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10);
set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
jail_set_user_block(pojedynek[0], true)
jail_set_user_block(pojedynek[1], true);
set_user_health(id, 100);
set_user_health(pojedynek[1], 100);
strip_user_weapons(id);
strip_user_weapons(pojedynek[1]);
new weapon_name[24];
get_weaponname(bronie_pojedynek, weapon_name, 23);
new ent = give_item(id, weapon_name);
new ent2 = give_item(pojedynek[1], weapon_name);
cs_set_weapon_ammo(ent, 1);
cs_set_weapon_ammo(ent2, 1);
}
public TakeDamage(id, ent, attacker, Float:damage, damagebits)
return vTracerAttack(id, attacker);
public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
return vTracerAttack(id, attacker);
vTracerAttack(id, attacker)
{
if(!pojedynek[0] || !is_user_connected(id) || !is_user_connected(attacker) || id == attacker)
return HAM_IGNORED;
if(pojedynek[0] == id && pojedynek[1] != attacker)
return HAM_SUPERCEDE;
if(pojedynek[0] == attacker && pojedynek[1] != id)
return HAM_SUPERCEDE;
return HAM_IGNORED;
}
public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(id) || id != pojedynek[1])
return HAM_IGNORED;
jail_set_user_block(id, false);
SzukajPrzeciwnika();
return HAM_IGNORED;
}
public WeaponAttack(ent)
{
new id = get_pdata_cbase(ent, 41, 4);
if(pojedynek[0] == id || pojedynek[1] == id)
{
cs_set_user_bpammo(id, bronie_pojedynek, 1);
}
}
public client_disconnect(id)
{
if(pojedynek[1] == id)
SzukajPrzeciwnika();
}
public SzukajPrzeciwnika()
{
pojedynek[1] = RandomPlayer(2);
if(!pojedynek[1])
return;
if(is_user_alive(pojedynek[0]))
set_user_health(pojedynek[0], 100);
set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
jail_set_user_block(pojedynek[1], true);
set_user_health(pojedynek[1], 100);
strip_user_weapons(pojedynek[1]);
new weapon_name[24]
get_weaponname(bronie_pojedynek, weapon_name, 23);
new ent = give_item(pojedynek[1], weapon_name);
cs_set_weapon_ammo(ent, 1);
}
public RegisterHams(bool:wartosc)
{
if(wartosc)
{
if(fHamKill)
EnableHamForward(fHamKill);
else
fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
if(fHamDamage)
EnableHamForward(fHamDamage);
else
fHamDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
if(fHamTrace)
EnableHamForward(fHamTrace);
else
fHamTrace = RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
if(fHamWeapon[bronie_pojedynek])
EnableHamForward(fHamWeapon[bronie_pojedynek]);
else
{
new WeaponName[24];
get_weaponname(bronie_pojedynek, WeaponName, 23);
fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1);
}
}
else
{
if(fHamKill)
DisableHamForward(fHamKill);
if(fHamDamage)
DisableHamForward(fHamDamage);
if(fHamTrace)
DisableHamForward(fHamTrace);
if(fHamWeapon[bronie_pojedynek])
DisableHamForward(fHamWeapon[bronie_pojedynek]);
}
}
/////////// Pojedynek ///////////
dodać pod "RamboModem", życzenie(nazwa "Inne życzenie), które należy wpisać i ono wyświetli się w hud, np. kliknę w to życzenie i wyświetli się takie coś jak w amxbans (jak się wpisuje powód bana) i jak tam wpisze "Jutro Ganiany" to się to wyświetli w hud na środku.
Dla osób, które nie rozumieją, proszę was o dodanie życzenia o nazwie (Inne życzenie), które po wpisaniu w coś takiego jak jest w amxbans(powód bana), tekstu wyświetli ten tekst w hud na środku. Takie własne życzenie, które nic nie daje tylko info w hud.
P.S
Nie wiem jak to wytłumaczyć.
Użytkownik Patryk:D edytował ten post 18.01.2014 19:55