zrobiłem sobie menu Rendringu, ale coś nie działa
Powinno zmieniać Kolor Gracza, na taki jaki sobie wybierze, ale zamiast tego jest ciągle standardowy kolor który zdefiniowałem...
wyciąłem kod z głównego pluginu i zrobiłem mały plugin, byście pomogli mi naprawić:
Spoiler
#include <amxmodx>
#include <engine>
#include <fun>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define prefix "Test"
#define KOLOR_1 {240, 0, 240}
#define KOLOR_2 {0, 0, 0}
new efekt = 1
new glow = 2
new rgb[33][3]
new get
new spr
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /test", "ustaw_rgb");
// Add your code here...
}
public rgb_teraz(id) {
if ((get == get_user_userid(id)) && (glow == 2)) {
new amd[3] = KOLOR_1
set_user_rendering(id, kRenderFxGlowShell, amd[0], amd[1], amd[2], kRenderTransColor, 20)
return PLUGIN_CONTINUE
}
if (rgb[id][0] < 0)
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 255)
else
set_user_rendering(id, kRenderFxGlowShell, rgb[id][0], rgb[id][1], rgb[id][2], kRenderTransColor, 20)
return PLUGIN_CONTINUE
}
public ustaw_rgb(id, klawisz) {
if (!is_user_alive(id))
return PLUGIN_HANDLED
if ((klawisz < 6) && (rgb[id][0] < 0))
rgb[id] = KOLOR_2
switch (klawisz) {
case 0: if (rgb[id][0] < 240)
rgb[id][0] += 16
case 1: if (rgb[id][0] > 15)
rgb[id][0] -= 16
case 2: if (rgb[id][1] < 240)
rgb[id][1] += 16
case 3: if (rgb[id][1] > 15)
rgb[id][1] -= 16
case 4: if (rgb[id][2] < 240)
rgb[id][2] += 16
case 5: if (rgb[id][2] > 15)
rgb[id][2] -= 16
case 6: {
set_hudmessage(255, 255, 255, -1.0, 0.05, 0, 0.0, 3.0, 1.0, 1.0, 3)
show_hudmessage(id, "Twoj Rednering jest juz Normalny!")
rgb[id] = {-1, -1, -1}
rgb_teraz(id)
menu_rgb(id)
return PLUGIN_HANDLED
}
default: {
return PLUGIN_HANDLED
}
}
rgb_teraz(id)
if (efekt) {
new xyz[3]
get_user_origin(id, xyz)
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(27);
write_coord(xyz[0]);
write_coord(xyz[1]);
write_coord(xyz[2]);
write_byte(30);
write_byte(rgb[id][0]);
write_byte(rgb[id][1]);
write_byte(rgb[id][2]);
write_byte(50);
write_byte(60);
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(21);
write_coord(xyz[0]);
write_coord(xyz[1]);
write_coord(xyz[2]);
write_coord(xyz[0]);
write_coord(xyz[1]);
write_coord(xyz[2]+500);
write_short(spr);
write_byte(0);
write_byte(0);
write_byte(5);
write_byte(15);
write_byte(0);
write_byte(rgb[id][0]);
write_byte(rgb[id][1]);
write_byte(rgb[id][2]);
write_byte(100);
write_byte(0);
message_end();
}
menu_rgb(id)
return PLUGIN_HANDLED
}
public menu_rgb(id) {
if (!is_user_alive(id)) {
client_print(id, print_chat,"[%s] Musisz Zyc Mozgu! ", prefix)
return PLUGIN_HANDLED
}
new meni[512]
new klawisze = (1<<9)
new klawisz = 0
new len = format(meni,511, "\rMenu Renderingu\w^n^n")
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. R +^n", klawisz)
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. R -^n", klawisz)
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. G +^n", klawisz)
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. G -^n", klawisz)
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. B +^n", klawisz)
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. B -^n \d[RGB: %d %d %d]\w^n^n", klawisz, rgb[id][0], rgb[id][1], rgb[id][2])
klawisze |= (1<<klawisz)
klawisz++
len += format(meni[len],511-len,"%d. wyłącz Rendering^n^n0. Wyjdz", klawisz)
show_menu(id, klawisze, meni)
return PLUGIN_HANDLED
}
co tutaj jest źle?
ps. a dodam że nawet jak się naciśnie na obojętnie jaki przycisk to pokazuje ciągle zwiększenie Koloru R
Pozdrawiam!
Użytkownik AmD edytował ten post 21.11.2010 00:29