Sziasztok,itt van egy plugin sma,a forráskód alatt írom le,h mit szeretnék
#include <amxmodx> #include <hamsandwich> #include <fun> #include <fakemeta> #include <colorchat> #define PLUGIN "Knife Menu" #define VERSION "2.0" #define AUTHOR "DeRoiD" new FajlUt[] = "addons/amxmodx/configs/kesmenu/kesek.ini" new KesNeve[128], Kes[33], Float:KesDmg[33], KesRegeneracio[33], Float:RegeneracioIdo[33] new KesNeveValaszt[20][64] new cvar_KesReg, cvar_KesRegIdo, cvar_KesGomb public plugin_precache() { new Fajl[256] format(Fajl, charsmax(Fajl), FajlUt) if(file_exists(Fajl)) { new KesBuff[256], Sor, SorBuff[32] new vKesMdlOlvas[64], vKesMdl[64] new pKesMdlOlvas[64], pKesMdl[64] for(new i; i < file_size(Fajl, 1) ; i++) { read_file(Fajl, i, KesBuff, 63, Sor) format(SorBuff, 1, "%s", KesBuff) if(equal(SorBuff, ";")) continue parse(KesBuff, vKesMdlOlvas, 63, pKesMdlOlvas, 63) remove_quotes(vKesMdlOlvas) remove_quotes(pKesMdlOlvas) format(vKesMdl, charsmax(vKesMdl), "models/%s.mdl", vKesMdlOlvas) format(pKesMdl, charsmax(pKesMdl), "models/%s.mdl", pKesMdlOlvas) if(!equal(vKesMdl, "models/.mdl") && !equal(pKesMdl, "models/.mdl")) { precache_model(vKesMdl) precache_model(pKesMdl) } else if(!equal(vKesMdl, "models/.mdl")) { precache_model(vKesMdl) } else if(!equal(pKesMdl, "models/.mdl")) { precache_model(pKesMdl) } } } } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_dictionary("kesmenu.txt") register_clcmd("say /knife", "KesMenu") register_clcmd("say /kes", "KesMenu") register_clcmd("say /knifemenu", "KesMenu") register_clcmd("say /skin", "KesMenu") register_clcmd("drop", "KesMenuGomb") set_task(120.0, "KesMenuUzenet", 0, _, _, "b") register_event("CurWeapon","KesModel","be","1=1") RegisterHam(Ham_Player_PreThink, "player", "RegThink") RegisterHam(Ham_TakeDamage, "player", "KesSebzes", 0) cvar_KesReg = register_cvar("KesReg", "5") cvar_KesGomb = register_cvar("KesGomb", "0") cvar_KesRegIdo = register_cvar("KesRegIdo", "5.0") } public KesMenuUzenet() { client_print(0, print_chat, "%L", LANG_PLAYER, "UZENET", KesNeve) } public KesSebzes(victim, inflictor, attacker, Float:damage) { if(is_user_alive(attacker) && is_user_alive(victim)) { new Fegyver = get_user_weapon(attacker) if(Fegyver == CSW_KNIFE) SetHamParamFloat(4, damage * KesDmg[attacker]) } } public KesMenuGomb(id) { if(get_pcvar_num(cvar_KesGomb) == 1){ KesMenu(id) return PLUGIN_HANDLED } else { return PLUGIN_CONTINUE } return PLUGIN_HANDLED } public RegThink(id) { new Fegyver = get_user_weapon(id) if(get_gametime() > RegeneracioIdo[id] && Fegyver == CSW_KNIFE && KesRegeneracio[id] == 1 && get_user_health(id) < 100) { RegeneracioIdo[id] = get_gametime() + get_pcvar_float(cvar_KesRegIdo) if(get_user_health(id) > 100-get_pcvar_num(cvar_KesReg)) set_user_health(id, 100) else set_user_health(id, get_user_health(id)+get_pcvar_num(cvar_KesReg)) message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id) write_short(1<<10) write_short(1<<10) write_short(0x0000) write_byte(10) write_byte(200) write_byte(10) write_byte(75) message_end() } } public KesKepessegNullazas(id) { KesRegeneracio[id] = 0 set_user_maxspeed(id, 250.0) set_user_gravity(id, 1.0) KesDmg[id] = 1.0 set_user_footsteps(id, 0) } public KesModel(id) { new Fegyver = get_user_weapon(id) if(!is_user_alive(id) || !is_user_connected(id) || Fegyver != CSW_KNIFE) { KesKepessegNullazas(id) return } new Fajl[256] format(Fajl, charsmax(Fajl), FajlUt) if(file_exists(Fajl)) { new KesBuff[256], Sor, Szam new vKesMdlOlvas[256], vKesMdl[256] new pKesMdlOlvas[256], pKesMdl[256] new StringKesMod[256], KesMod, StringKesFloat[64], Float:KesFloat for(new i; i < file_size(Fajl, 1) ; i++) { Szam++ read_file(Fajl, i, KesBuff, 256, Sor) parse(KesBuff, vKesMdlOlvas, 256, pKesMdlOlvas, 256, KesNeve, 256, StringKesMod, 256, StringKesFloat, 256) KesMod = str_to_num(StringKesMod) if(!equal(StringKesFloat, "")) KesFloat = str_to_float(StringKesFloat) log_amx("dmg: %3.2f", KesFloat) remove_quotes(vKesMdlOlvas) remove_quotes(pKesMdlOlvas) format(vKesMdl, charsmax(vKesMdl), "models/%s.mdl", vKesMdlOlvas) if(!equal(pKesMdlOlvas, "")) format(pKesMdl, charsmax(pKesMdl), "models/%s.mdl", pKesMdlOlvas) if(Kes[id] == Szam){ if(KesMod == 1){ set_user_gravity(id, KesFloat) KesRegeneracio[id] = 0 set_user_maxspeed(id, 250.0) KesDmg[id] = 1.0 set_user_footsteps(id, 0) } else if(KesMod == 2){ set_user_maxspeed(id, KesFloat) KesRegeneracio[id] = 0 set_user_gravity(id, 1.0) KesDmg[id] = 1.0 set_user_footsteps(id, 0) } else if(KesMod == 3){ KesDmg[id] = KesFloat KesRegeneracio[id] = 0 set_user_maxspeed(id, 250.0) set_user_gravity(id, 1.0) set_user_footsteps(id, 0) } else if(KesMod == 4){ set_user_footsteps(id, 1) KesRegeneracio[id] = 0 set_user_maxspeed(id, 250.0) set_user_gravity(id, 1.0) KesDmg[id] = 1.0 } else if(KesMod == 5){ KesRegeneracio[id] = 1 set_user_maxspeed(id, 250.0) set_user_gravity(id, 1.0) KesDmg[id] = 1.0 set_user_footsteps(id, 0) } else { KesKepessegNullazas(id) } set_pev(id, pev_viewmodel2, vKesMdl) if(!equal(pKesMdlOlvas, "")) set_pev(id, pev_weaponmodel2, pKesMdl) } } } } public KesMenu(id) { new Fajl[256] format(Fajl, charsmax(Fajl), FajlUt) if(file_exists(Fajl)) { new KesString[256] format(KesString, 255, "[*W-T-F* #2] Kés skin menü") new menu = menu_create(KesString, "KesMenuValasztas") new KesBuff[256], Sor, Szam, SorBuff[32] new KesMenuPont, StringKesMenuPont[32] for(new i; i < file_size(Fajl, 1) ; i++) { KesMenuPont++ Szam++ new vKesMdl[64], pKesMdl[64] read_file(Fajl, i, KesBuff, 255, Sor) format(SorBuff, 1, "%s", KesBuff) if(equal(SorBuff, ";")) continue parse(KesBuff, vKesMdl, 63, pKesMdl, 63, KesNeve, 63) format(KesString, sizeof(KesString) - 1, KesNeve) replace_all(KesNeve, 127, "[f]", "\w") replace_all(KesNeve, 127, "[s]", "\y") replace_all(KesNeve, 127, "[sz]", "\d") replace_all(KesNeve, 127, "[p]", "\r") format(StringKesMenuPont, charsmax(StringKesMenuPont), "%d", KesMenuPont) menu_additem(menu, KesNeve, StringKesMenuPont) format(KesNeveValaszt[Szam], 63, "%s", KesNeve) } menu_display(id, menu) } } public KesMenuValasztas(id, menu, item){ if(item == MENU_EXIT) { menu_destroy(menu) return } new data[9], name[64], eKes = Kes[id] new access, callback menu_item_getinfo(menu, item, access, data,charsmax(data), name, charsmax(name), callback) Kes[id] = str_to_num(data) if(eKes != Kes[id]) KesModel(id) replace_all(KesNeveValaszt[Kes[id]], 63, "\w", " ") replace_all(KesNeveValaszt[Kes[id]], 63, "\y", " ") replace_all(KesNeveValaszt[Kes[id]], 63, "\d", " ") replace_all(KesNeveValaszt[Kes[id]], 63, "\r", " ") client_print(id, print_chat, "%L", LANG_PLAYER, "VALASZTAS", KesNeveValaszt[Kes[id]]) } 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") replace_all(msg, 190, "á", "á") replace_all(msg, 190, "é", "Ă©") replace_all(msg, 190, "í", "Ă") replace_all(msg, 190, "ó", "Ăł") replace_all(msg, 190, "ö", "ö") replace_all(msg, 190, "ő", "Ĺ‘") replace_all(msg, 190, "ú", "Ăş") replace_all(msg, 190, "ü", "ĂĽ") replace_all(msg, 190, "ű", "ű") replace_all(msg, 190, "Á", "Ă") replace_all(msg, 190, "É", "É") replace_all(msg, 190, "Í", "ĂŤ") replace_all(msg, 190, "Ó", "Ă“") replace_all(msg, 190, "Ö", "Ă–") replace_all(msg, 190, "Ő", "Ĺ") replace_all(msg, 190, "Ú", "Ăš") replace_all(msg, 190, "Ü", "Ăś") replace_all(msg, 190, "Ű", "Ĺ°") 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 }
Szóval azt szeretném,hogy langba lehessen írni színesen.Tudom,hogy hogyan kell,de ezzel a módszerrel most nem lehet lefordítani,mert errort dob rá. Eddigi ismert módszerem(eddig bevált kivéve itt) A 72.sorban kicserélem ezt a sort:
Kód: client_print(0, print_chat, "%L", LANG_PLAYER, "UZENET", KesNeve) erre:
Kód: ColorChat(id, RED, "%L", LANG_PLAYER, "UZENET", KesNeve) (persze előtte includolom)a colorchatet ugyanezt megcsinálom a 255.sorban is,mivel hogy ott is egy hasonló sor van. ezután lefordítom,és most(a többi esettel ellentétben) a studio errort dobott rá. Ismerem azt is,hogy a forráskód végére stockot rakok,és akkor erre alakítom:
Kód: print_color(id, " ezzel a fajta módszerrel is ugyanazt az erorrt dobja valaki segítsen! előre is köszi,majd megy a gomb
|