Scripting Help
1 Attachment(s)
Hi guys, i was helping a member but i dont know how to save the player model.
I tryed the Save Models by Exolent but i dont know why inst work, can you guys help me?
here's the code:
PHP Code:
#include <amxmodx> #include <cstrike> #include <hamsandwich> #include <fakemeta> #include <engine> #include <fun> #include <nvault> #define PLUGIN "CSGO Skins" #define VERSION "1.0" #define AUTHOR "EFFx" new gVault new const szNormalKnife[] = "models/v_knife.mdl" // Models da bayonet new const szBayonetFade[] = "models/CSGOSkins/v_bayonet_fade.mdl" new const szBayonetDoppler[] = "models/CSGOSkins/v_bayonet_doppler.mdl" new const szBayonetViolet[] = "models/CSGOSkins/v_bayonet_violet.mdl" // Models da Hunts new const szHuntsFade[] = "models/CSGOSkins/v_hunts_fade.mdl" new const szHuntsCaseHardened[] = "models/CSGOSkins/v_hunts_ch.mdl" new const szHuntsSlaughter[] = "models/CSGOSkins/v_hunts_slaughter.mdl" new const szPrefix[] = "!g[ AMXX ]!y:" // Defines da KNIFE original do seu counter strike new szNormal[33] // Defines da bayonet, szBayonetSelected[id] = 1 é a Fade, 2 Violet e 3 Doppler, szBayonet[id] = 1 ativa as skins // O szBayonetSelected é pra ler quando voce selecionou a bayonet pra escolher as skins da bayonet que quer new szBayonet[33], szBayonetSelected[33] = 0 new szBayonetSkins[33] // Defines da hunts, szHuntsSelected[id] = 1 é a Fade, 2 CaseHardened e 3 Slaughter, szHunts[id] = 1 ativa as skins // O szHuntsSelected é pra ler quando voce selecionou a Hunts pra escolher as skins da Hunts que quer new szHunts[33], szHuntsSelected[33] = 0 new szHuntsSkins[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) gVault = nvault_open("weapon_models") register_clcmd("say facas","ShowKnifesMenu") register_clcmd("say_team facas","ShowKnifesMenu") register_clcmd("say /facas","ShowKnifesMenu") register_clcmd("say_team /facas","ShowKnifesMenu") register_clcmd("say .facas","ShowKnifesMenu") register_clcmd("say_team .facas","ShowKnifesMenu") RegisterHam(Ham_Spawn,"player","func_Spawn",1) register_event("CurWeapon","EventChangeWeapon","be","1=1") } public plugin_precache() { //Precache dos models da Bayonet precache_model(szBayonetFade) precache_model(szBayonetDoppler) precache_model(szBayonetViolet) //Precache dos models da Hunts precache_model(szHuntsFade) precache_model(szHuntsSlaughter) precache_model(szHuntsCaseHardened) } public client_putinserver(id) { szNormal[id] = 1 // Iniciar com a skin do seu cs szBayonet[id] = 0 // Desativa a Bayonet szBayonetSkins[id] = 0 // Desativa a Bayonet szHunts[id] = 0 // Desativa a Hunts szHuntsSkins[id] = 0 // Desativa a Hunts } public func_Spawn(id) { if(szNormal[id] == 1) { szNormal[id] = 1 szBayonet[id] = 0 szBayonetSkins[id] = 0 szBayonetSelected[id] = 0 } if(szBayonet[id] == 1) { szNormal[id] = 0 szBayonetSkins[id] = szBayonetSkins[id] } } public ShowKnifesMenu(id) { if(is_user_alive(id)) { new szMenu = menu_create("CSGO Skins \w( \rfacas \w )","csgoskins_handler") menu_additem(szMenu,"Normal") if(szBayonetSkins[id] == 0) menu_additem(szMenu,"Bayonet") if(szBayonetSkins[id] == 1) menu_additem(szMenu,"Bayonet \dusando: \y(Fade)") if(szBayonetSkins[id] == 2) menu_additem(szMenu,"Bayonet \dusando: \y(Violet)") if(szBayonetSkins[id] == 3) menu_additem(szMenu,"Bayonet \dusando: \y(Doppler)") if(szHuntsSkins[id] == 0) menu_additem(szMenu,"HuntsMan") if(szHuntsSkins[id] == 1) menu_additem(szMenu,"HuntsMan \dusando: \y(Fade)") if(szHuntsSkins[id] == 2) menu_additem(szMenu,"HuntsMan \dusando: \y(CaseHardened)") if(szHuntsSkins[id] == 3) menu_additem(szMenu,"HuntsMan \dusando: \y(Slaugther)") menu_display(id,szMenu) } } public csgoskins_handler(id,menu,item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new vModel[56] switch(item) { case 0: { if(szNormal[id] == 1) { ChatColor(id,"%s You already have the!g NormalKnife",szPrefix) ShowKnifesMenu(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szNormalKnife) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 1 szBayonet[id] = 0 szHunts[id] = 0 szHuntsSkins[id] = 0 szBayonetSkins[id] = 0 ChatColor(id,"%s You has been selected the!g Default Knife",szPrefix) } } case 1: { szBayonetSelected[id] = 1 ShowKnifeTypes(id) } case 2: { szHuntsSelected[id] = 1 ShowKnifeTypes(id) } } return PLUGIN_HANDLED } public ShowKnifeTypes(id) { new menutittle = menu_create("Knife Type \w( \r say facas \w )","knife_type_handler") if(szBayonetSelected[id] == 1) { menu_additem(menutittle,"Fade") menu_additem(menutittle,"\rUltra Violet") menu_additem(menutittle,"Doppler") } if(szHuntsSelected[id] == 1) { menu_additem(menutittle,"Fade") menu_additem(menutittle,"\rCaseHerdened") menu_additem(menutittle,"Slaugther") } menu_display(id,menutittle) } public knife_type_handler(id,menu,item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new vModel[56] if(szBayonetSelected[id] == 1) { switch(item) { case 0: { if(szBayonetSkins[id] == 1) { ChatColor(id,"%s You already have the!g Bayonet Fade",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szBayonetFade) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 1 szHunts[id] = 0 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_bayonet_fade.mdl") szHuntsSkins[id] = 0 szBayonetSkins[id] = 1 szBayonetSelected[id] = 0 ChatColor(id,"%s You has been selected the!g Bayonet Fade",szPrefix) } } case 1: { if(szBayonetSkins[id] == 2) { ChatColor(id,"%s You already have the!g Bayonet Ultra Violet",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szBayonetViolet) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 1 szHunts[id] = 0 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_bayonet_violet.mdl") szHuntsSkins[id] = 0 szBayonetSkins[id] = 2 szBayonetSelected[id] = 0 ChatColor(id,"%s You has been selected the!g Bayonet Ultra Violet",szPrefix) } } case 2: { if(szBayonetSkins[id] == 3) { ChatColor(id,"%s You already have the!g Bayonet Doppler",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szBayonetDoppler) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 1 szHunts[id] = 0 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_bayonet_doppler.mdl") szHuntsSkins[id] = 0 szBayonetSkins[id] = 3 szBayonetSelected[id] = 0 ChatColor(id,"%s You has been selected the!g Bayonet Doppler",szPrefix) } } } } if(szHuntsSelected[id] == 1) { switch(item) { case 0: { if(szHuntsSkins[id] == 1) { ChatColor(id,"%s You already have the!g HuntsMan Fade",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szHuntsFade) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 0 szHunts[id] = 1 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_hunts_fade.mdl") szBayonetSkins[id] = 0 szBayonetSelected[id] = 0 szHuntsSkins[id] = 1 szHuntsSelected[id] = 0 ChatColor(id,"%s You has been selected the!g Hunts Fade",szPrefix) } } case 1: { if(szHuntsSkins[id] == 2) { ChatColor(id,"%s You already have the!g HuntsMan CaseHerdened",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szHuntsCaseHardened) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 0 szHunts[id] = 1 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_hunts_ch.mdl") szBayonetSkins[id] = 0 szBayonetSelected[id] = 0 szHuntsSkins[id] = 2 szHuntsSelected[id] = 0 ChatColor(id,"%s You has been selected the!g HuntsMan CaseHerdened",szPrefix) } } case 2: { if(szHuntsSkins[id] == 3) { ChatColor(id,"%s You already have the!g HuntsMan Slaugther",szPrefix) ShowKnifeTypes(id) } else { if(get_user_weapon(id) == CSW_KNIFE) { format(vModel,55,szHuntsSlaughter) entity_set_string(id, EV_SZ_viewmodel, vModel) } szNormal[id] = 0 szBayonet[id] = 0 szHunts[id] = 1 SaveModels(id, CSW_KNIFE,"models/CSGOSkins/v_hunts_slaughter.mdl") szBayonetSkins[id] = 0 szBayonetSelected[id] = 0 szHuntsSkins[id] = 3 szHuntsSelected[id] = 0 ChatColor(id,"%s You has been selected the!g HuntsMan Slaugther",szPrefix) } } } } return PLUGIN_HANDLED } public EventChangeWeapon(id) { new vModel[56] if(read_data(2) == CSW_KNIFE) { if(is_user_alive(id)) { if(szNormal[id] == 1) { format(vModel,55,szNormalKnife) } if(szBayonet[id] == 1) { if(szBayonetSkins[id] == 1) { format(vModel,55,szBayonetFade) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55, v_model) } } else if(szBayonetSkins[id] == 2) { format(vModel,55,szBayonetViolet) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55, v_model) } } else if(szBayonetSkins[id] == 3) { format(vModel,55,szBayonetDoppler) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55,v_model) } } } if(szHunts[id] == 1) { if(szHuntsSkins[id] == 1) { format(vModel,55,szHuntsFade) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55,v_model) } } else if(szHuntsSkins[id] == 2) { format(vModel,55,szHuntsCaseHardened) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55, v_model) } } else if(szHuntsSkins[id] == 3) { format(vModel,55,szHuntsSlaughter) new v_model[64] LoadModels(id, CSW_KNIFE, v_model, charsmax(v_model)) if(v_model[0]) { format(vModel,55, v_model) } } } entity_set_string(id, EV_SZ_viewmodel, vModel) } } } SaveModels(id, weaponID, v_model[]) { new szSteamID[35], weaponName[21], key[64] get_user_name(id, szSteamID, charsmax(szSteamID)) get_weaponname(weaponID, weaponName, charsmax(weaponName)) formatex(key, charsmax(key), "%s-%s-v", szSteamID, weaponName) nvault_set(gVault, key, v_model) } LoadModels(id, weaponID, v_model[], v_model_len) { new szSteamID[35], weaponName[21], key[64] get_user_name(id, szSteamID, charsmax(szSteamID)) get_weaponname(weaponID, weaponName, charsmax(weaponName)) formatex(key, charsmax(key), "%s-%s-v", szSteamID, weaponName) nvault_get(gVault, key, v_model, v_model_len) } stock ChatColor(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( ) } } } } public plugin_end() { nvault_close(gVault) }
Sorry for the descriptions in brasilian, the member is portuguese
If you guys want the models, here's
|