#include < amxmodx >
#define Plugin_Neve "Becenév Prefix Plugin"
#define Verzio "1.0" // Ezeket egyszer használod, akkor define tökéletes. Nem kell mindegyiknek konstans.
#define Keszito "Levii @ Peace"
new beceNEV[ 33 ][ 32 ] // 32 a karakterszám, nem 33
public plugin_init() {
register_plugin(Plugin_Neve,Verzio,Keszito)
register_clcmd("say /becenev","BecenevMenu")
register_clcmd("say /nev","BecenevMenu")
register_clcmd("say","HookSay")
register_clcmd("BECENEV_LETREHOZ","letrehozas")
}
public BecenevMenu( id )
{
new temp[ 256 ] // minek 3 tömb??? egyet készítesz, azt formázod mindig!
if(!equal(beceNEV[id],"")) formatex(temp,charsmax(temp),"\yBecenevek Menü 1.0 \dBy: \rLevii^n\wAz ön beceneve\d: \r[\d%s\r]",beceNEV[ id ])
else
formatex(temp,charsmax(temp),"\rBecenĂ©v: ^n\yNincs Beceneved | \wVan Beceneve") // CHARSMAXOT HASZNÁLUNK!!!!!
new menu = menu_create(temp,"BecenevHAndler")
formatex(temp,charsmax(temp),"\rHozzon LĂ©tre egy Becenevet")
menu_additem(menu,temp,"0",0) // NEM ELSŐ ITEM, HANEM 0! pláne nem,ha a case 0-áról indul!
formatex(temp,charsmax(temp),"\dBecenév Törlése")
menu_additem(menu,temp,"1",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); // Nem ártana!
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
public BecenevHAndler(id,menu,item){
switch(item)
{
case 0: { // nincs új sor.
if(equal(beceNEV[id],""))
client_cmd(id,"messagemode BECENEV_LETREHOZ")
}
case 1: // itt meg van. WTF?
{
if(equal(beceNEV[id],""))
print_color(id, "!g[Becenevek 1.0]!y Neked már van Beceneved.")
else
{
copy(beceNEV[id], charsmax(becenev), "") // inkább így
print_color(id, "!g[Becenevek 1.0]!y A Beceneved Törlésre került.")
// remélem itt a handlert nem gondoltad komolyan
}
}
case MENU_EXIT:
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public letrehozas(id)
{
read_args(beceNEV[id],charsmax(beceNEV[]))
remove_quotes(beceNEV[id]);trim(beceNEV[id])
if (!beceNEV[id][0] || contain(beceNEV[id],"^"") != -1 )
{
client_cmd(id, "messagemode BECENEV_LETREHOZ")
print_color(id, "!g[Becenevek 1.0]!y Érvénytelen Becenevet Adtál meg.")
}
else // Nem 2x return, hanem egy ELSE
{
print_color(id, "!g[Becenevek 1.0]!y A te Beceneved: !t%s",beceNEV[id])
}
}
public HookSay(id)
{
static iras[ 191 ] // 192?? pár ns kliens összeomlik thx.
read_args(iras, charsmax( iras ))
remove_quotes( iras )
// %-hoz mi köze a pluginnak? törölve
static szNev[32];get_user_name(id, szNev, charsmax(szNev)) // charsmax megintcsak
// a connected-et ellenőrzi a print_color is! Meg amúgy is id-t ellenőrzöd, mikor mindenkinek kiiratod?
print_color(0, "!g[ %s ] !t%s: !y%s",equal(beceNEV[id],"") ? "Becenév" : beceNEV[id],szNev,iras)
// erre inkább nem mondok semmit
// amúgy a print_color mióta írja ki saját színnel másoknak is???
return PLUGIN_HANDLED
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
return PLUGIN_HANDLED
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/