Stwórz dwie zmienne przy reszcie globalnych na górze pluginu:
new fCeleOpenPre, fCeleOpenPost;
W plugin_init():
fCeleOpenPre = CreateMultiForward("OnCellOpenPre", ET_CONTINUE);
fCeleOpenPost = CreateMultiForward("OnCellOpenPost", ET_CONTINUE);
Public OtworzCele():
public OtworzCele()
{
new ReturnValue;
ExecuteForward(fCeleOpenPre, ReturnValue);
if(ReturnValue == PLUGIN_HANDLED)
return;
for(new i=0; i<sizeof(g_Buttons); i++)
{
if(!pev_valid(g_Buttons[i]) || !g_Buttons[i])
continue;
ExecuteHam(Ham_Use, g_Buttons[i], 0, 0, 2, 1.0);
}
ExecuteForward(fCeleOpenPost, ReturnValue);
}
w pliku jailbreak.inc na samym dole dodaj:
forward OnCellOpenPre();
forward OnCellOpenPost();
Boom, masz pieknie ładnie forwardy przed i po otworzeniu celi. Przykładowy plugin:
#include <amxmodx>
#include <jailbreak>
#define AUTHOR "aSior - amxx.pl/user/60210-asior/"
public plugin_init()
register_plugin("x", "v0.1", AUTHOR);
public OnCellOpenPre()
client_print(0, print_chat, "Cele otwarte (PRE)");
public OnCellOpenPost()
client_print(0, print_chat, "Cele otwarte (POST)");
Plugin z otworzeniem celi po czasie:
#include <amxmodx>
#include <colorchat>
#include <jailbreak>
#define PLUGIN "[Jail] Cele"
#define VERSION "1.0"
#define AUTHOR "Anonymuss"
#define TASK_CELE 1337
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Poczatek_Odliczania", 2, "1=Round_Start");
}
public plugin_precache()
precache_sound("misc/jb_anonymuss/dzwonek.wav")
public Poczatek_Odliczania()
set_task(60.0, "Otwieranie_Cel", TASK_CELE);
public Otwieranie_Cel()
{
jail_open_cele();
client_cmd(0, "spk misc/jb_anonymuss/dzwonek.wav");
ColorChat(0, GREEN, "[Cele]^x01 Cele zostaly otwarte, poniewaz Straznik nie zdarzyl wydac polecen");
}
public OnCellOpenPre()
{
if(task_exists(TASK_CELE))
remove_task(TASK_CELE);
return PLUGIN_CONTINUE;
}