Samuka_Adm Admin
Medalhas :
Mensagens : 150 Pontos : 319 Reputação : 44 Data de inscrição : 15/06/2012
| Assunto: Limite de itens[NPM] Qui Jun 28, 2012 12:53 pm | |
| Esse script cria uma especie de mochila que comporta uma determinada quantidade de itens. Quando o limite e atingido vc não pode mais compra itens na loja nem ganhar nos eventos.Para entender melhor as funções leiam as instruções. Imagem: - Código:
-
#================================================================ #================================================================ #============Limite de itens p/netplay master =================== #================================================================ #=======BY:Gladistony Silva====================================== #=======Criada para o forum: Aldeiarpgbr ======================== #=======NÃO POSTA EM OUTRO FORUM SEM AUTORIZAÇÃO================= #================================================================ #================================================================ #Para instala apenas cole ele logo acima do "[Main] Netplay Main" #Aviso esse script deve esta logo acima do main para roda #corretamente. module Edit_Itens #Esse tutorial vai ajuda-lo a configura o sistema corretamente #primeiro iremos configura a HUD, ela será exibida ou não na tela: MOSTRA_HUD = true #para mostra coloque true, para n false #agora iremos configura a hud, se vc n vai usar ignore essa parte X = 0 #posição vertical da janela Y = 150 #posição horizontal da janela OPACIDADE_HUD = 200 #transparência da janela WINDOWSKIN = "Help" #aqui vai o nome da windowslin TXT_HUD = "Limite do Inventario" #Texto na janela da hud #com isso as configurações da hud estão completas, agora iremos #definir as msg. #primeiro vc quer ou não mostra uma msg quando o limite atingir? ATIVAR_MSG = true #true mostra false não mostra MSG_TIPO = 0 #Esse sistema define o estilo da msg, 0 pelo chat 1 janela MSG = "limite de itens atingido" #a mensagem q ira mostra #agora iremos definir como será o limite de itens #vc deve especificar como vai querer o limite máximo CALCULOAUMOTACITO = true #se estiver true o sistema usara a #formula que vc defini abaixo para calcula o tamanho máximo da #lista de item. Se ele estive false o sistema usara o valor da #constante MAX_ICINIAL. MAX_ICINIAL = 30 #se quiser mudar o valor dela no jogo use: #$game_party.actors[0].maximoitens = valor desejado #exemplo: #$game_party.actors[0].maximoitens = 50 #agora o limite máximo será 50 itens. #caso o CALCULOAUMOTACITO for true ele usara essa formula. #vc pode usar o que quiser nela. Caso não sabia como configura #eu farei para vc FORMULA = "$game_party.actors[0].str * 10" #Depois disso vamos definir se o ouro conta ou não como item INCLUIR_OURO = false #por fim a ultima variável define se o sistema afeta todo o jogo #ou apenas a loja. Se ela estiver false vc poderá adquirir itens #pelos evento mesmo que isso passe do limite, porem uma vez que #vc atinja o limite não poderá compra na loja. #Se ela estiver true, ao atingir o limite você fica impossibilitado #de ganha itens. LIMITETOTAL = true #caso vc precise verificar a se ha espaço na mochila use esse #codigo Enviar_Item.verificar(valor) #ele ira retorna true se houver espaço e false se não #vc pode usar ele com uma ir # if Enviar_Item.verificar(2) == true #ou como script da aba condição end #============================================================ #================FIM DAS CONFIGURAÇÕES ====================== #============================================================ #================NÃO EDITE SE NÃO SOUBER RGSS================ #============================================================ class Scene_Map alias main_gladis main alias update_gladis update def main @hud_item = Hud_Itensmax.new main_gladis end def update @hud_item.update update_gladis end end class Hud_Itensmax < Window_Base def initialize super(Edit_Itens::X, Edit_Itens::Y, 160, 80) self.visible = Edit_Itens::MOSTRA_HUD self.contents = Bitmap.new(width - 32, height - 32) self.opacity = Edit_Itens::OPACIDADE_HUD refresh end def refresh if Edit_Itens::CALCULOAUMOTACITO == false maximo = $game_party.actors[0].maximoitens else maximo = eval Edit_Itens::FORMULA end textp = "#{$game_party.totaldeitens} / #{maximo}" self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 128, 32, Edit_Itens::TXT_HUD) self.contents.draw_text(4, 0, 128, 62, textp) self.windowskin = RPG::Cache.windowskin(Edit_Itens::WINDOWSKIN) end def update self.visible = Edit_Itens::MOSTRA_HUD refresh end end class Window_ShopBuy2 alias vender22 loja_vender def loja_vender if $pegando_item_loja == true if !Input.pressed?(Input::Mouse_Left) and $item_w.in_area? $mouse_iconfor = "arrow" $game_temp.atualizar_mouse = true @item = $loja_w.item preparar = $amount if Enviar_item.verificar(preparar) == false if Edit_Itens::ATIVAR_MSG == true if Edit_Itens::MSG_TIPO == 0 $game_temp.chat_log.push(Edit_Itens::MSG) return else p Edit_Itens::MSG return end end end #end end end vender22 end end class Game_Actor attr_reader :maximoitens alias setuppp setup def setup(actor_id) setuppp(actor_id) @maximoitens = Edit_Itens::MAX_ICINIAL end def maximoitens=(maximoitens) @maximoitens = maximoitens end end module Enviar_item def self.verificar(valor) if Edit_Itens::CALCULOAUMOTACITO == false @maximoitens = $game_party.actors[0].maximoitens else coisa = "@adicionar = " + Edit_Itens::FORMULA eval coisa @maximoitens = @adicionar + 1 end if $game_party.totaldeitens + valor >= @maximoitens return false else return true end end end class Game_Party alias receberitem gain_item alias receberweapon gain_weapon alias receberarmor gain_armor def totaldeitens contagem = @items.values contagem += @weapons.values contagem += @armors.values if contagem.empty? return 0 end contagem.compact quantidade = contagem.length inicial = 0 total = 0 loop do if inicial == quantidade if Edit_Itens::INCLUIR_OURO == false total -= item_number(Item_Ouro::Item_Id.to_i) end return total break p "erro" end total += contagem[inicial] inicial += 1 end return total end def gain_item(item_id, n) if Edit_Itens::INCLUIR_OURO == false if item_id == Item_Ouro::Item_Id.to_i receberitem(item_id, n) return end end if Edit_Itens::LIMITETOTAL == true if Enviar_item.verificar(n) == false if Edit_Itens::ATIVAR_MSG == true if Edit_Itens::MSG_TIPO == 0 $game_temp.chat_log.push(Edit_Itens::MSG) return else p Edit_Itens::MSG return end end end end receberitem(item_id, n) end def gain_weapon(weapon_id, n) if Edit_Itens::LIMITETOTAL == true if Enviar_item.verificar(n) == false if Edit_Itens::ATIVAR_MSG == true if Edit_Itens::MSG_TIPO == 0 $game_temp.chat_log.push(Edit_Itens::MSG) return else p Edit_Itens::MSG return end end end end receberweapon(weapon_id, n) end def gain_armor(weapon_id, n) if Edit_Itens::LIMITETOTAL == true if Enviar_item.verificar(n) == false if Edit_Itens::ATIVAR_MSG == true if Edit_Itens::MSG_TIPO == 0 $game_temp.chat_log.push(Edit_Itens::MSG) return else p Edit_Itens::MSG return end end end end receberarmor(weapon_id, n) end end - Instruções:
Para instala apenas cole ele logo acima do "[Main] Netplay Main" Aviso esse script deve esta logo acima do main para roda corretamente. Esse tutorial vai ajuda-lo a configura o sistema corretamente primeiro iremos configura a HUD, ela será exibida ou não na tela: MOSTRA_HUD = true #para mostra coloque true, para n false agora iremos configura a hud, se vc n vai usar ignore essa parte X = 0 #posição vertical da janela Y = 150 #posição horizontal da janela OPACIDADE_HUD = 200 #transparência da janela WINDOWSKIN = "Help" #aqui vai o nome da windowslin TXT_HUD = "Limite do Inventario" #Texto na janela da hud com isso as configurações da hud estão completas, agora iremos definir as msg. primeiro vc quer ou não mostra uma msg quando o limite atingir? ATIVAR_MSG = true #true mostra false não mostra MSG_TIPO = 0 #Esse sistema define o estilo da msg, 0 pelo chat 1 janela MSG = "limite de itens atingido" #a mensagem q ira mostra agora iremos definir como será o limite de itens vc deve especificar como vai querer o limite máximo CALCULOAUMOTACITO = true #se estiver true o sistema usara a formula que vc defini abaixo para calcula o tamanho máximo da lista de item. Se ele estive false o sistema usara o valor da constante MAX_ICINIAL. MAX_ICINIAL = 30 #se quiser mudar o valor dela no jogo use: $game_party.actors[0].maximoitens = valor desejado exemplo: $game_party.actors[0].maximoitens = 50 agora o limite máximo será 50 itens. caso o CALCULOAUMOTACITO for true ele usara essa formula. vc pode usar o que quiser nela. Caso não sabia como configura eu farei para vc FORMULA = "$game_party.actors[0].str * 10" Depois disso vamos definir se o ouro conta ou não como item INCLUIR_OURO = false por fim a ultima variável define se o sistema afeta todo o jogo ou apenas a loja. Se ela estiver false vc poderá adquirir itens pelos evento mesmo que isso passe do limite, porem uma vez que vc atinja o limite não poderá compra na loja. Se ela estiver true, ao atingir o limite você fica impossibilitado de ganha itens. LIMITETOTAL = true caso vc precise verificar a se ha espaço na mochila use esse codigo Enviar_Item.verificar(valor) ele ira retorna true se houver espaço e false se não vc pode usar ele com uma ir if Enviar_Item.verificar(2) == true ou como script da aba condição
créditos e agradecimentos por fazer o script e me deixar poostar | |
|