Mam następujący problem. Kolega edytował plugin, który działa tak:
Na daną flagę przydziela model czapki świątecznej. Osoba z flagą otrzymuje czapkę po wpisaniu na say /czapka. Po wpisaniu tego pokazuje się napis na środku że otrzymam czapkę w następnej rundzie. Osoba która nie posiada czapki po wpisaniu /czapka na say otrzymuje napis że nie posiada vipa.
Wydaje mi się że po wielokrotnym wpisaniu komendy /czapka serwer się crashuje (tym jest to spowodowane) Chciałbym abyście zerknęli na kod źródłowy i zobaczyli co jest nie poprawnie napisane oraz abyście poprawili to.
Dodam że nie licząc tych crashy plugin działa poprawnie, przydziela czapkę tym osobom które powinny mieć.
Żadnych cvarów nie mam wpisanych, bo chyba takowych nie ma
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
new g_Enable;
new g_bwEnt[33];
new czapka[33]
public plugin_init() {
register_plugin("Santa Hat", "1.1", "xPaw edited by ZooM");
register_cvar("santa_hat", "1.0", FCVAR_SERVER);
g_Enable = register_cvar("amx_santahat", "1");
register_concmd("say /czapka","czapeczka");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}
public plugin_precache()
precache_model("models/santa_hat.mdl");
public czapeczka(player)
{
if(czapka[player] == 0)
{
czapczap(player)
}
}
public czapczap(player)
{
if(get_user_flags(player) & ADMIN_LEVEL_C)
{
if(g_bwEnt[player] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[player]);
g_bwEnt[player] = 1;
czapka[player] = 1;
set_hudmessage(0, 212, 255, -1.0, 0.39, 0, 6.0, 12.0)
show_hudmessage(player, "W nastepnej rundzie dostaniesz czapke!")
}
else{
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(player, "Nie jestes VIP'em! Kup go na Patologia.net.pl")
}
}
public client_disconnect(player)
{
g_bwEnt[player] = 0
czapka[player] = 0
}
public fwHamPlayerSpawnPost( player ) {
if( !get_pcvar_num(g_Enable) )
return PLUGIN_HANDLED;
if(!is_user_alive( player ))
return PLUGIN_HANDLED;
if(g_bwEnt[player] == 1) {
g_bwEnt[player] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
set_pev(g_bwEnt[player], pev_movetype, MOVETYPE_FOLLOW);
set_pev(g_bwEnt[player], pev_aiment, player);
set_pev(g_bwEnt[player], pev_rendermode, kRenderNormal);
set_pev(g_bwEnt[player], pev_renderamt, 0.0);
engfunc(EngFunc_SetModel, g_bwEnt[player], "models/santa_hat.mdl");
}
return PLUGIN_CONTINUE;
}
@ faktycznie zapomniałem napisać w dobrym dziale. Przepraszam
Załączone pliki
Użytkownik freetu edytował ten post 19.12.2010 14:28