Witam!
Pół dnia siedzę w sma pluginu knife mod, przerobionego przez darkgl tak, aby nie dodawał bonusów. Zależy mi tylko na zmianie modelu noża. Babram się i babram, eliminuję ostrzeżenia i błędy, ale nie do końca wiem co one wszystkie oznaczają i co mam zrobić aby i je wyeliminować.
Poniżej proszę plugin:
#include <amxmodx> #include <amxmisc> #include <engine> #include <vault> #include <fun> #define PLUGIN "Knife Mod" #define VERSION "1.0" #define AUTHOR "spunko" #define TASK_INTERVAL 4.0 #define MAX_HEALTH 255 new knife_model[33] new g_Menu public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event( "Damage", "event_damage", "be" ) register_event("CurWeapon","CurWeapon","be","1=1") g_Menu = register_menuid("Knife Mod") register_menucmd(g_Menu, 1023, "knifemenu") register_clcmd("say /kosa", "display_knife") register_clcmd("say /kosy", "display_knife") register_clcmd("say_team /kosa", "display_knife") register_clcmd("say_team /kosy", "display_knife") register_clcmd("say /noz", "display_knife") register_clcmd("say /noze", "display_knife") register_clcmd("say_team /noz", "display_knife") register_clcmd("say_team /noze", "display_knife") set_task(480.0, "kmodmsg", 0, _, _, "b") } public plugin_precache() { precache_model("models/gamingpro/v_gamma.mdl") precache_model("models/gamingpro/v_autotronic.mdl") precache_model("models/gamingpro/v_marble.mdl") precache_model("models/gamingpro/v_doppler1.mdl") precache_model("models/gamingpro/v_doppler2.mdl") precache_model("models/gamingpro/v_doppler3.mdl") precache_model("models/gamingpro/v_doppler4.mdl") precache_model("models/v_knife.mdl") precache_model("models/p_knife.mdl") } public display_knife(id) { new menuBody[512] add(menuBody, 511, "\rBagnety\w^n^n") add(menuBody, 511, "1. Gamma Doppler") add(menuBody, 511, "2. Autotronic") add(menuBody, 511, "3. Marble Fade") add(menuBody, 511, "4. Doppler Phase 1") add(menuBody, 511, "5. Doppler Phase 2") add(menuBody, 511, "6. Doppler Phase 3") add(menuBody, 511, "7. Doppler Phase 4") add(menuBody, 511, "0. \rExit") new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<9 ) show_menu(id, keys, menuBody, -1, "Kosy") } public knifemenu(id, key) { switch(key) { case 0: SetKnife(id , 0) case 1: SetKnife(id , 1) case 2: SetKnife(id , 2) case 3: SetKnife(id , 3) case 4: SetKnife(id , 4) case 5: SetKnife(id , 5) case 6: SetKnife(id , 6) case 7: SetKnife(id , 7) default: return PLUGIN_HANDLED } } public SetKnife(id , Knife) { knife_model[id] = Knife new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) if ( Weapon != CSW_KNIFE ) return PLUGIN_HANDLED new vModel[56], switch(Knife) { case 0: { format(vModel,55,"models/v_knife.mdl") } case 1: { format(vModel,55,"models/gamingpro/v_gamma.mdl") } case 2: { format(vModel,55,"models/gamingpro/v_autotronic.mdl") } case 3: { format(vModel,55,"models/gamingpro/v_marble.mdl") } case 4: { format(vModel,55,"models/gamingpro/v_doppler1.mdl") } case 5: { format(vModel,55,"models/gamingpro/v_doppler2.mdl") } case 6: { format(vModel,55,"models/gamingpro/v_doppler3.mdl") } case 7: { format(vModel,55,"models/gamingpro/v_doppler4.mdl") } } entity_set_string(id, EV_SZ_viewmodel, vModel) return PLUGIN_HANDLED; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Przy kompilacji pluginu otrzymuję takie oto błędy:
knife_mod.sma(81) : warning 209: function "knifemenu" should return a value knife_mod.sma(92) : error 020: invalid symbol name "" knife_mod.sma(92 -- 93) : error 028: invalid subscript (not an array or too many subscripts): "Knife" knife_mod.sma(92 -- 94) : error 001: expected token: "}", but found "case" knife_mod.sma(92 -- 94) : fatal error 107: too many error messages on one line
Rozumiem, że błędy znajdują się w tych linijkach, ale nie mam pojęcia co jest źle i jak to poprawić. Dodam, że zbyt zaawansowany to ja nie jestem.
Przepraszam jeżeli zły dział, ale kilka mi pasowało do napisania tematu.
Liczę na pomoc.