Raised This Month: $ Target: $400
 0% 

help saving data and menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
spunko
Senior Member
Join Date: Jun 2005
Location: Ecuador
Old 06-29-2006 , 16:16   help saving data and menu
Reply With Quote #1

hi.. I've been writing this plugin and changing it for a long time.. people in my server likes it so thats why I keep upgrading it..

this pluging has text in spanish. It change the model of 3 guns: ak, deagle and knife.. everything works fine except for the menu.. the first menu works great, but the second one (armas2) doesn't.

I want to set "0" to be the back button, instead of "4" that is what i have right now.. i can't make it work with "0", i dunno if it has to be with the first menu that has "0" to exit. I've been trying to fix that with no results.

About saving data I also want to save the models that each player has chosen, because every map change they have to type /armas for the menu to change models again and most of the time people get killed because of that. So it would be great to save the models a player chose and keep that models util he makes another another change.

The problem is that I dunno how to do it, I have read a tutorial about saving data with cvault, i also cheked some plugings that save data but i cant figure it out, i don't understand..

here is the code, please help me with it..
thanx a lot!!

Code:
#include <amxmodx> #include <amxmisc>   #include <cstrike> #include <engine> #define PLUGIN "Custom Models" #define VERSION "90346087109273123" #define AUTHOR "who??" new ak_model[33] new deagle_model[33] new knife_model[33] public plugin_init() {         register_plugin(PLUGIN, VERSION, AUTHOR)     register_event("CurWeapon","checkWeapon","be","1=1")     new keys1 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     new keys2 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     register_menucmd(register_menuid("Skins para las armas"), keys1, "marmas")     register_menucmd(register_menuid("Skins para Cuchillo"), keys2, "marmas2")     register_clcmd("say /armas", "armas")     register_clcmd("say /armas2", "armas2")     } public plugin_precache() {     precache_model("mdl/test/models/v_ak47.mdl")     precache_model("models/v_ak47.mdl")     precache_model("mdl/test/models/v_laser.mdl")     precache_model("models/v_deagle.mdl")     precache_model("mdl/test/models/v_hacha.mdl")     precache_model("mdl/test/models/p_hacha.mdl")     precache_model("mdl/test/models/v_bate.mdl")     precache_model("mdl/test/models/v_machete.mdl")     precache_model("mdl/test/models/p_machete.mdl")     precache_model("models/v_knife.mdl") } public armas(id)     {     new menu[512]     new keys1 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     new aktext[50], lasertext[50]     if(ak_model[id] == 0 ){         format(aktext, 49, "AK-47 Plateada")     }     else if(ak_model[id] == 1 ){         format(aktext, 49, "AK-47 Normal")     }     if(deagle_model[id] == 0 ){         format(lasertext, 49, "Deagle Laser")     }     else if(deagle_model[id] == 1 ){         format(lasertext, 49, "Deagle Normal")     }         format(menu, 511, "Skins para las armas^n^n1. %s^n2. %s^n3. Skins para cuchillo^n^n0. Salir^n^n", aktext, lasertext)     show_menu(id, keys1, menu)     return PLUGIN_HANDLED } public marmas(id, key)     {     new bool:stayinmenu = false     switch (key)     {     case 0: {         if(ak_model[id] == 0 ){             akplata(id)         }         else if(ak_model[id] == 1 ){             ak(id)         }         stayinmenu = true     }     case 1: {           if(deagle_model[id] == 0 ){             laser(id)         }         else if(deagle_model[id] == 1 ){             deagle(id)         }         stayinmenu = true     }       case 2: {         armas2(id)     }     case 3: {           end_menu(id)     }     }     if (stayinmenu)         armas(id)     return PLUGIN_HANDLED }   public armas2(id)     {     new menu2[512]     new keys2 = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     new hachatext[150], machetetext[150], batetext[150]     if(knife_model[id] == 0){         format(hachatext, 149, "Hacha de Carnicero")     }     else if(knife_model[id] == 2 ){         format(hachatext, 149, "Hacha de Carnicero")     }     else if(knife_model[id] == 3 ){         format(hachatext, 149, "Hacha de Carnicero")     }     else if(knife_model[id] == 1 ){         format(hachatext, 149, "Cuchillo Normal")     }         if(knife_model[id] == 0 ){         format(machetetext, 149, "Machete")     }     else if(knife_model[id] == 1 ){         format(machetetext, 149, "Machete")     }     else if(knife_model[id] == 2 ){         format(machetetext, 149, "Machete")     }     else if(knife_model[id] == 3 ){         format(machetetext, 149, "Cuchillo Normal")     }     if(knife_model[id] == 0 ){         format(batetext, 149, "Bate de Baseball")     }     else if(knife_model[id] == 1 ){         format(batetext, 149, "Bate de Baseball")     }     else if(knife_model[id] == 3 ){         format(batetext, 149, "Bate de Baseball")     }     else if(knife_model[id] == 2 ){         format(batetext, 149, "Cuchillo Normal")     }         format(menu2, 511, "Skins para Cuchillo^n^n1. %s^n2. %s^n3. %s^n4. Atras^n^n", hachatext, machetetext, batetext)     show_menu(id, keys2, menu2)   // i want to set "0" to be the back button, instead of "4" that is it now     return PLUGIN_HANDLED       // but i dunno why i cant do it, if i set it to 0, when you press it, the menu wont go back } public marmas2(id, key){     if (armas2(id)){                 new bool:stayinmenu = false         switch (key)         {         case 0: {             if(knife_model[id] == 0 ){                 hacha(id)             }             else if(knife_model[id] == 2 ){                 hacha(id)             }             else if(knife_model[id] == 3 ){                 hacha(id)             }             else if(knife_model[id] == 1 ){                 cuchillo(id)             }             stayinmenu = true         }         case 1: {             if(knife_model[id] == 0 ){                 machete(id)             }             else if(knife_model[id] == 2 ){                 machete(id)             }             else if(knife_model[id] == 1 ){                 machete(id)             }             else if(knife_model[id] == 3 ){                 cuchillo(id)             }             stayinmenu = true         }           case 2: {             if(knife_model[id] == 0 ){                 bate(id)             }             else if(knife_model[id] == 1 ){                 bate(id)             }             else if(knife_model[id] == 3 ){                 bate(id)             }             else if(knife_model[id] == 2 ){                 cuchillo(id)             }             stayinmenu = true         }         case 3: {             armas(id)         }             }         if (stayinmenu)             armas2(id)     }     return PLUGIN_HANDLED } public end_menu(id)     {     return PLUGIN_HANDLED } public ak(id) {         ak_model[id] = 0     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_AK47 ) {         entity_set_string(id, EV_SZ_viewmodel, "models/v_ak47.mdl")     } } public akplata(id) {         ak_model[id] = 1     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_AK47 ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_ak47.mdl")     } } public cuchillo(id) {     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)         knife_model[id] = 0     if ( Weapon == CSW_KNIFE ) {         entity_set_string(id, EV_SZ_viewmodel, "models/v_knife.mdl")         entity_set_string(id, EV_SZ_weaponmodel, "models/p_knife.mdl")     } } public hacha(id) {     knife_model[id] = 1     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_KNIFE ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_hacha.mdl")         entity_set_string(id, EV_SZ_weaponmodel, "mdl/test/models/p_hacha.mdl")     } } public bate(id) {     knife_model[id] = 2     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_KNIFE ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_bate.mdl")         entity_set_string(id, EV_SZ_weaponmodel, "models/p_knife.mdl")     } } public machete(id) {     knife_model[id] = 3     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_KNIFE ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_machete.mdl")         entity_set_string(id, EV_SZ_weaponmodel, "mdl/test/models/p_machete.mdl")     } } public deagle(id) {     deagle_model[id] = 0     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_DEAGLE ) {         entity_set_string(id, EV_SZ_viewmodel, "models/v_deagle.mdl")     } } public laser(id) {     deagle_model[id] = 1     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)     if ( Weapon == CSW_DEAGLE ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_revolver.mdl")     } } public checkWeapon(id)     {     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)         if ( Weapon == CSW_AK47 && ak_model[id] == 1 ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_ak47.mdl")     }         else if ( Weapon == CSW_AK47 && ak_model[id] == 0 ) {         entity_set_string(id, EV_SZ_viewmodel, "models/v_ak47.mdl")     }         else if ( Weapon == CSW_DEAGLE && deagle_model[id] == 1 ) {         entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_laser.mdl")     }         else if ( Weapon == CSW_DEAGLE && deagle_model[id] == 0 ) {         entity_set_string(id, EV_SZ_viewmodel, "models/v_deagle.mdl")     }         else if ( Weapon == CSW_KNIFE ) {                 entity_set_string(id, EV_SZ_weaponmodel, "models/p_knife.mdl")           switch (knife_model[id]) {             case 0: {                 entity_set_string(id, EV_SZ_viewmodel, "models/v_knife.mdl")             }             case 1: {                 entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_hacha.mdl")                 entity_set_string(id, EV_SZ_weaponmodel, "mdl/test/models/p_hacha.mdl")               }             case 2: {                 entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_bate.mdl")               }             case 3: {                 entity_set_string(id, EV_SZ_viewmodel, "mdl/test/models/v_machete.mdl")                   entity_set_string(id, EV_SZ_weaponmodel, "mdl/test/models/p_machete.mdl")             }         }     } } // I dunno how to save the data to keep the models for each player, so they will get those models when they reconnect
Attached Files
File Type: sma Get Plugin or Get Source (armas.sma - 704 views - 8.4 KB)
spunko is offline
Send a message via MSN to spunko
Hawk552
AMX Mod X Moderator
Join Date: Aug 2005
Old 06-30-2006 , 12:42   Re: help saving data and menu
Reply With Quote #2

Code:
show_menu(id, keys1, menu)

->

Code:
show_menu(id, keys1, menu,"Skins para las armas")

&

Code:
show_menu(id, keys2, menu2)

->

Code:
show_menu(id, keys2, menu2,"Skins para Cuchillo")

Also, for multiple pages it requires a shit load more coding, probably that ( judging by the extremely inefficient and slow code here ) you wouldn't be able to handle ( no offense ). Also, I have no clue how menu1 would work, because it was missing the title, which no one seems to understand is not a title, it's the unique name of the menu.
__________________
Hawk552 is offline
Send a message via AIM to Hawk552
spunko
Senior Member
Join Date: Jun 2005
Location: Ecuador
Old 06-30-2006 , 13:24   Re: help saving data and menu
Reply With Quote #3

wow hehe
im so new at this, i dont even know how to print a document hehe, but im trying to learn how to code..

about those changes, if i do that it will give me compile errors in both lines
argument type mismatch <argument 4>

could you help me with the save data and improving the code of this pluging??
i will apreciate it a lot and i know i will learn more about coding..
thanx man..

Last edited by spunko; 06-30-2006 at 13:42.
spunko is offline
Send a message via MSN to spunko
Hawk552
AMX Mod X Moderator
Join Date: Aug 2005
Old 06-30-2006 , 14:26   Re: help saving data and menu
Reply With Quote #4

Sorry, should be:

Code:
show_menu(id, keys1, menu,_,"Skins para las armas") show_menu(id, keys2, menu2,_,"Skins para Cuchillo")

And also, I might clean it up eventually but I think this is rather redundant and useless. It's possible to shorten it to probably ~1/2 of what it is now.
__________________
Hawk552 is offline
Send a message via AIM to Hawk552
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:09.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode