O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Rhyaaan! Window Karma, gooo!

Iniciado por Rhyan, 22/05/2020 às 17:30

22/05/2020 às 17:30 Última edição: 24/05/2020 às 15:10 por Rhyan
Fiz esse script para o evento da cidade reconstruída do Condado Braveheart, mas decidi postar aqui também pois eu achei que serial legal (e porque sim), sei lá.

Window Karma

Compativel com: RMVXA

[box class=titlebg]
Condições de Uso
[/box]
Credita eu (Rhyan/Polloyus/Polloyusrhyan) e fala que usou, se usar..

[box class=titlebg]
Para que serve o script
[/box]
Cria uma variável "Karma" para a classe do jogador (Game_Player), além de uma janelinha que fica no mapa mostrando esse valor.

Está por vir (se eu colocar vergonha na cara e vencer a preguiça ksks:

- Funcionalidade de troca de posição.
[box class=titlebg]
Imagens
[/box]
Spoiler
[close]

[box class=titlebg]
Comandos Simples de Adição, Subtração e Reset do karma do jogador:
[/box]

Numa chamada de script (evento), coloque o seguinte código:

Para adicionar... Karma_Script.add_karma(valor)

Para subtrair... Karma_Script.remove_karma(valor)

Para resetar... Karma_Script.reset_karma

OBS: O reset não tem parâmetro porque ele vai fazer o Karma ser resetado (ou seja, ficar 0) (avá '-').

Spoiler
[close]

[box class=titlebg]
Download e Script
[/box]
Abaixo o código:
#==============================->
# Rhyan - Karma Script
#
# - Para alterar os sons tocados:
#
# 1°: Và em Sounds,
#
# 2°.A: Para alterar o som que toca quando o karma:
# :add_karma => "Altere pelo sua SE"
# :remove_karma => "Altere pela sua SE"
# :reset_karma => "Altere pela sua SE"
#
# OBS: A sua SE precisa estar entre aspas!
# OBS_2: Caso não tenbha entendido, poste uma resposta no tópico.
# OBS_3: Leia os termos de uso caso queiram usar.
#
# Termos de Uso:
#
# Credite Rhyan ou Polloyusrhyan (ambos codinomes meus) e me contate, claro.
#==============================->
module Karma_Script
 
  Sounds = {
    :add_karma => "Bell3", #<- Toca quando o jogador recebe karma.
    :remove_karma => "Buzzer2", #<- Toca quando o jogador perde karma.
    :reset_karma => "Disappointment" #<- Toca quando o karma do jogador é resetado.
  }
 
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
  # Método de adição de karma.
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
 
  def self.add_karma(value)
    play_sound(Sounds[:add_karma])
    $game_player.karma += value
  end
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
  # Método de subtração de karma.
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
 
  def self.remove_karma(value)
    play_sound(Sounds[:remove_karma]) unless $game_player.karma <= 0
    $game_player.karma -= value unless $game_player.karma <= 0
  end
 
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
  # Método de resetamento de karma.
  #-=--=--=--=--=--=--=--=--=--=--=--=-#
 
  def self.reset_karma
    play_sound(Sounds[:reset_karma]) unless $game_player.karma <= 0
    $game_player.karma = 0 unless $game_player.karma <= 0
  end
  #-=--=--=--=--=--=--=--=--=--=--=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
  # Método de tocar uma SE. (foi mal, não pensei em algo melhor, hehe.
  #-=--=--=--=--=--=--=--=--=--=--=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
 
  def self.play_sound(sound)
    RPG::SE.new(sound.to_s, 100).play
  end
end
class Scene_Map < Scene_Base
  alias karma_start start
  def start
    karma_start
    @window_karma = Window_Karma.new
  end
end
class Game_Player < Game_Character
  alias karma_initialize initialize
  attr_accessor   :karma
  def initialize
    karma_initialize
    @karma = 0
  end
end
class Window_Karma < Window_Base
  def initialize
    super(422, 0, 122, 48)
    self.opacity = 200
    refresh #<- Refresh inicial.   
  end
  def update
    super
    refresh if @last_karma != $game_player.karma #<- Dar o refresh se o último karma for diferente do karma atual.
  end
  def refresh
    @last_karma = $game_player.karma
   
    contents.clear
    draw_text_ex(0, 0, @last_karma)
   
    p "Window Karma, Refresh!"
  end
end


[box class=titlebg]
Créditos e Avisos
[/box]
Criador:Rhyan | Polloyus | Polloyusrhyan
^~^) -Rhyan.

Boa! Traga sim, o que fizer lá pode postar aqui e vice-versa  :XD:

Você não explicou como adiciona karma no seu script, para quem programa de boas, mas quem não programa vai com certeza perguntar isso.
Sempre que disponibilizar, pode tirar esses p "algo" também xD. Continue trazendo suas criações para cá o/, e como falei no outro, se permitir posso ajudar a melhorar no que eu puder o seu script  :XD:

22/05/2020 às 19:54 #2 Última edição: 24/05/2020 às 15:14 por Rhyan
Citação de: Raizen online 22/05/2020 às 19:20
Boa! Traga sim, o que fizer lá pode postar aqui e vice-versa  :XD:

Você não explicou como adiciona karma no seu script, para quem programa de boas, mas quem não programa vai com certeza perguntar isso.
Sempre que disponibilizar, pode tirar esses p "algo" também xD. Continue trazendo suas criações para cá o/, e como falei no outro, se permitir posso ajudar a melhorar no que eu puder o seu script  :XD:

Ahsushsu, eu tinha colocado esse "p" mais como um log, esqueci de tirar.

Pôô!!! Realmente, viu atualizar o tópico daqui a pouco.

Toda ajuda é bem vinda, Raizen! :XD:, então se quiser, pode mandar melhorias, o que eu quero é melhorar cada vez mais minhas habilidades.

Fato que pode ser interessante (ou não): Há um tempo eu quase desisti do RGSS3 para ir para o JS do MV.

Obrigadããão!!!
^~^) -Rhyan.


[box2 class=titlebg title=Atualização]

:br:


      1°...
Spoiler
Agora, não tem mais "p "Refresh"" (acho que era algo assim, hehe)
[close]

      2°...
Spoiler
Novo comando adicionado. Ele é identificado por "set_karma", que serve para setar o karma para o valor passado como parâmetro (o que fica entre parenteses).

- Utilização: Numa script call (evento), digite o seguinte código:

Karma_Script.set_karma(valor para setar)


OBS: O sonzinho dele é o "Chime2", das SE's que vem no RTPVXAce.

[close]
[/box2]
^~^) -Rhyan.