Witam
Dzisiaj mój problem wygląda następująco:
Nie wywołuje mi się menu po wpisaniu komendy (właściwie to nie mam pewności, czy kod jest napisany dobrze):
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <ColorChat>
#include <fun>
#include <engine>
#define PREFIX "4FunPoints"
#define MENU1
//#define MENU2
new blokada[33];
new punkty[33];
new obrazenia[33];
new pancerz[33];
new grawitacja[33];
new niewidka[33];
new zdrowie[33];
public plugin_init() {
register_plugin("x", "xx", "xxx");
register_clcmd("say /funpoints", "Odblokuj");
RegisterHam(Ham_Spawn, "player", "BlokadaSprawdz", 1);
RegisterHam(Ham_TakeDamage, "player","Fun_Pancerz_Obrazenia",0);
}
public BlokadaSprawdz(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
set_user_gravity(id, 1.0)
if(!blokada[id])
{
obrazenia[id] = 0;
pancerz[id] = 0;
grawitacja[id] = 0;
niewidka[id] = 0;
zdrowie[id] = 0;
punkty[id] = 5;
FUN(id)
}
}
public Odblokuj(id)
{
blokada[id] = 0;
Zaladuj(id)
FUN(id)
}
public FUN(id)
{
if(blokada[id])
{
ColorChat(id, GREEN, "[%s] ^x01 COS", PREFIX)
return PLUGIN_HANDLED;
}
new tytul[25];
formatex(tytul, charsmax(tytul), "\rFun\yPoints \w%i :D", punkty[id]);
new menu = menu_create(tytul, "FUN_Handler");
#if defined MENU1
menu_additem(menu, "\rFUN \wObrazenia %s %s %s", obrazenia[id] == 1 ? "\y|":"\r|", obrazenia[id] == 2 ? "\y||":"\r||", obrazenia[id] == 3 ? "\y|||":"\r|||");
menu_additem(menu, "\rFUN \wPancerz %s %s %s", pancerz[id] == 1 ? "\y|":"\r|", pancerz[id] == 2 ? "\y||":"\r||", pancerz[id] == 3 ? "\y|||":"\r|||");
menu_additem(menu, "\rFUN \wGrawitacja %s %s %s", grawitacja[id] == 1 ? "\y|":"\r|", grawitacja[id] == 2 ? "\y||":"\r||", grawitacja[id] == 3 ? "\y|||":"\r|||");
menu_additem(menu, "\rFUN \wNiewidka %s %s %s", niewidka[id] == 1 ? "\y|":"\r|", niewidka[id] == 2 ? "\y||":"\r||", niewidka[id] == 3 ? "\y|||":"\r|||");
menu_additem(menu, "\rFUN \wzdrowie %s %s %s", zdrowie[id] == 1 ? "\y|":"\r|", zdrowie[id] == 2 ? "\y||":"\r||", zdrowie[id] == 3 ? "\y|||":"\r|||");
#endif
#if defined MENU2
menu_additem(menu, "\rFUN \wObrazenia %i/3", obrazenia[id]);
menu_additem(menu, "\rFUN \wPancerz %i/3", pancerz[id]);
menu_additem(menu, "\rFUN \wGrawitacja %i/3", grawitacja[id]);
menu_additem(menu, "\rFUN \wNiewidka %i/3", niewidka[id]);
menu_additem(menu, "\rFUN \wzdrowie %i/3", zdrowie[id]);
menu_additem(menu, "\rFUN Resetuj")
menu_additem(menu, "Zapisz konfiguracje")
#endif
menu_setprop(menu, MPROP_EXIT, 0);
menu_display(id, menu);
return PLUGIN_CONTINUE;
}
public Przydziel_Punkty_Chwaly_Handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
if(punkty[id] == 0)
{
ColorChat(id, GREEN, "[%s] Nie masz juz wiecej punktow do rozdania ;)", PREFIX)
return PLUGIN_HANDLED;
}
switch(item)
{
case 0:
{
if(obrazenia[id] <=3)
{
obrazenia[id]++
punkty[id]--
Zaladuj(id)
FUN(id)
}
else
{
ColorChat(id, GREEN, "[%s] Statystyka Obrazenia jest na full ;)", PREFIX)
}
}
case 1:
{
if(pancerz[id] <=3)
{
pancerz[id]++
punkty[id]--
Zaladuj(id)
FUN(id)
}
else
{
ColorChat(id, GREEN, "[%s] Statystyka Pancerz jest na full ;)", PREFIX)
}
}
case 2:
{
if(grawitacja[id] <=3)
{
grawitacja[id]++
punkty[id]--
Zaladuj(id)
FUN(id)
}
else
{
ColorChat(id, GREEN, "[%s] Statystyka Grawitacja jest na full ;)", PREFIX)
}
}
case 3:
{
if(niewidka[id] <=3)
{
niewidka[id]++
punkty[id]--
Zaladuj(id)
FUN(id)
}
else
{
ColorChat(id, GREEN, "[%s] Statystyka Niewidka jest na full ;)", PREFIX)
}
}
case 4:
{
if(zdrowie[id] <=3)
{
zdrowie[id]++
punkty[id]--
Zaladuj(id)
FUN(id)
}
else
{
ColorChat(id, GREEN, "[%s] Statystyka Zdrowie jest na full ;)", PREFIX)
}
}
case 5:
{
obrazenia[id] = 0;
pancerz[id] = 0;
grawitacja[id] = 0;
niewidka[id] = 0;
zdrowie[id] = 0;
punkty[id] = 5;
ColorChat(id, GREEN, "[%s] 4FunPointy zresetowane", PREFIX)
}
case 6:
{
blokada[id] = 1;
ColorChat(id, GREEN, "[%s] Statystyki zostaly zapisane", PREFIX)
}
}
return PLUGIN_CONTINUE;
}
public Zaladuj(id)
{
Fun_Zdrowie(id)
Fun_Niewidka(id)
Fun_Grawitacja(id)
}
public Fun_Zdrowie(id)
{
if(zdrowie[id] == 1)
{
set_user_health(id, 105)
}
else if(zdrowie[id] == 2)
{
set_user_health(id, 110)
}
else if(zdrowie[id] == 3)
{
set_user_health(id, 120)
}
}
public Fun_Niewidka(id)
{
if(niewidka[id] == 1)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 200);
}
else if(niewidka[id] == 2)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 150);
}
else if(niewidka[id] == 3)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 100);
}
}
public Fun_Grawitacja(id)
{
if(grawitacja[id] == 1)
{
set_user_gravity(id, 0.8)
}
else if(grawitacja[id] == 2)
{
set_user_gravity(id, 0.6)
}
else if(grawitacja[id] == 3)
{
set_user_gravity(id, 0.5)
}
}
public Fun_Pancerz_Obrazenia(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(obrazenia[idattacker])
{
if(obrazenia[idattacker] == 1)
{
SetHamParamFloat(4, damage + 3.0);
return HAM_HANDLED;
}
if(obrazenia[idattacker] == 2)
{
SetHamParamFloat(4, damage + 5.0);
return HAM_HANDLED;
}
if(obrazenia[idattacker] == 1)
{
SetHamParamFloat(4, damage + 9.0);
return HAM_HANDLED;
}
}
if(pancerz[this])
{
if(damagebits & (1<<1) && pancerz[this] == 1)
{
SetHamParamFloat(4, floatmax(0.0, damage - 3.0));
}
else if(damagebits & (1<<1) && pancerz[this] == 2)
{
SetHamParamFloat(4, floatmax(0.0, damage - 5.0));
}
else if(damagebits & (1<<1) && pancerz[this] == 3)
{
SetHamParamFloat(4, floatmax(0.0, damage - 9.0));
}
}
return HAM_IGNORED;
}
@Gwyn
Dodałem wklejkę przedtem


Dodatki SourceMod




Temat jest zamknięty









