Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Reputation Script
Autor Wiadomość
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Nie 15 Sty, 2012 22:48
Reputation Script
~ Reputation Script ~


Krótki opis:
Dodaje okno reputacji, oraz zmienną przypisaną do Game_Party, więc zapisuję się w momencie zapisywania gry. Reaguje na ustalony w skrypcie klawisz.

Autor:
Melvin | Thieffer

Kompatybilność:
RPG Maker XP

Skrypt:
Spoiler:

Kod:
#==========================================================================
# Name:          Reputation Script
# Version:       1.0
# Author:        Melvin @ Thieffer - Floating Windows 1.0
#==========================================================================
# INSTRUKCJA
#-----------------------------------------------------------------------
# W zdarzeniu, w poleceniu "Script" wpisać:
# $game_party.reputation = X   # Ustawienie reputacji na wartość "X"
# Zamiast "=", można wstawić "+="(dodanie), lub "-="(odjęcie)
# Za "X" odpowiada dowolna liczba.
# Na końcu dodaj "$reprefresh = true".
#==========================================================================
# KONFIGURACJA
#==========================================================================
module Melvin
# Klawisz odpowiadający za pokazywanie okna:
  Button = Input::R # W
# Nazwa reputacji:
  RepTXT = "Reputacja:"
# Początkowa reputacja:
  StartRep = 0
# Pozycja okna reputacji:
  Location = 1
# 1 - Prawy, górny róg
# 2 - Prawy, dolny róg
# 3 - Lewy, górny róg
# 4 - Lewy, dolny róg
#--------------------------------
# 5 - własny:
# Współrzędne:
  X = 0
  Y = 0
# Szybkość:
  Speed = 30
# Kierunek wejścia:
# ("up" - góra, "down" - dół, "right" - prawo, "left" - lewo)
  From = "left"
#--------------------------------
end
#==========================================================================
class Game_Party
  alias gp_ini initialize
  attr_accessor :reputation
  def initialize
    gp_ini
    @reputation = Melvin::StartRep
  end
end
class Scene_Map
  alias sm_mn main
  def main
    if Melvin::Location == 1
      @From = "left"
      @LocX = 0
      @LocY = 0
    elsif Melvin::Location == 2
      @From = "left"
      @LocX = 0
      @LocY = 416
    elsif Melvin::Location == 3
      @From = "right"
      @LocX = 480
      @LocY = 0
    elsif Melvin::Location == 4
      @From = "right"
      @LocX = 480
      @LocY = 416
    elsif Melvin::Location == 5
      @From = Melvin::From
      @LocX = Melvin::X
      @LocY = Melvin::Y
      @Speed = Melvin::Speed
    end
    if Melvin::Location <= 5
      @Speed = 20
    end
    @window_rep = Window_Reputation.new
    @window_rep.float_setup(@From,@LocX,@LocY, @Speed)
    sm_mn
    @window_rep.dispose
  end
  alias sm_up update
  def update
    sm_up
    @window_rep.press(Melvin::Button)
    @window_rep.update
    if $reprefresh == true
      @window_rep.refresh
      $reprefresh = false
    end
  end
end
class Window_Reputation < Window_Base
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Arial"
    self.contents.font.size = 22
    self.back_opacity = 150
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 105, 32, Melvin::RepTXT)
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 125, 32, $game_party.reputation.to_s, 2)
  end
end
#==========================================================================
# Name:          loating Windows
# Version:       1.0
# Author:        Thieffer
#==========================================================================
class Window_Base < Window
  alias :old_update :update
  alias :old_initialize :initialize
  def initialize(x,y,width,height)
    old_initialize(x,y,width,height)
    @appearing = false
    @disappearing = false
  end
  def float_setup(from,to_x,to_y,speed,speed2=nil)
    @from = from
    @to_x = to_x
    @to_y = to_y
    @speed = speed
    if speed2 == nil
      @speed2 = speed
    else
      @speed2 = speed2
    end
    a = 0
    loop do
      break if a > self.width
      a += 100
    end
    b= 0
    loop do
      break if b >self.height
      b += 100
    end
    case from
    when 'up'
      self.x = @to_x
      self.y = -self.height - b % self.height
    when 'down'
      self.x = @to_x
      self.y = 480 + self.height + b % self.height
    when 'right'
      self.x = 640 + self.width + a % self.width
      self.y = @to_y
    when 'left'
      self.x = -self.width - a % self.width
      self.y = @to_y
    end
    @hidden_x = self.x
    @hidden_y = self.y
    update
  end
  def update
    if @appearing
      case @from
      when 'up'
        if self.y < @to_y
          self.y += @speed
        else
          self.y = @to_y
          @appearing = false
        end
      when 'down'
        if self.y > @to_y
          self.y -= @speed
        else
          self.y = @to_y
          @appearing = false
        end
      when 'right'
        if self.x > @to_x
          self.x -= @speed
        else
          self.x = @to_x
          @appearing = false
        end
      when 'left'
          if self.x < @to_x
          self.x += @speed
        else
          self.x = @to_x
          @appearing = false
        end
      end
    end
    if @disappearing
      case @from
      when 'up'
        if self.y > @hidden_y
          self.y -= @speed2
        else
          self.y = @hidden_y
          @disappearing = false
        end
      when 'down'
        if self.y < @hidden_y
          self.y += @speed2
        else
          self.y = @hidden_y
          @disappearing = false
        end
      when 'right'
        if self.x < @hidden_x
          self.x += @speed2
        else
          self.x = @hidden_x
          @disappearing = false
        end
      when 'left'
        if self.x > @hidden_x
          self.x -= @speed2
        else
          self.x = @hidden_x
          @disappearing = false
        end
      end
    end
    old_update
  end
  def appear
    @appearing = true
  end
  def disappear
    @disappearing = true
  end
  def on_map?
    if self.x == @to_x and self.y == @to_y
      return true
    else
      return false
    end
  end
  def beyond_map?
    if self.x == @hidden_x and self.y == @hidden_y
      return true
    else
      return false
    end
  end
  def press(key)
    if Input.trigger?(key)
      if self.beyond_map?
        self.appear
      elsif self.on_map?
        self.disappear
      end
    end
  end
end


Screeny:
Spoiler:



Demo:


Dodatkowe informacje:
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
 
 
MoD 




Preferowany:
RPG Maker VX

Dołączył: 11 Sty 2012
Posty: 5
Skąd: Brzeg
Wysłany: Pon 16 Sty, 2012 09:20
czyli to normalnie działa?
________________________
ZAPRASZAM Ghost Warrior

SKRYPTY--75%
MAPY--40%
GRAFIKA-100%
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Pon 16 Sty, 2012 11:36
Tak... A co ma nie działać?
________________________
MelvinClass:
Spoiler:

 
 
MoD 




Preferowany:
RPG Maker VX

Dołączył: 11 Sty 2012
Posty: 5
Skąd: Brzeg
Wysłany: Pon 16 Sty, 2012 14:06
mi niedziałą Melvin error wywala
________________________
ZAPRASZAM Ghost Warrior

SKRYPTY--75%
MAPY--40%
GRAFIKA-100%
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Pon 16 Sty, 2012 14:14
Kup oryginalnego Makera, albo zcrackuj czy coś, ale masz polskiego i Ci dlatego nie działa.
________________________
MelvinClass:
Spoiler:

 
 
MoD 




Preferowany:
RPG Maker VX

Dołączył: 11 Sty 2012
Posty: 5
Skąd: Brzeg
Wysłany: Pon 16 Sty, 2012 14:39
mam zcracowanego PL
________________________
ZAPRASZAM Ghost Warrior

SKRYPTY--75%
MAPY--40%
GRAFIKA-100%
 
 
karolloss 




Preferowany:
RPG Maker XP

Pomógł: 1 raz
Dołączył: 21 Paź 2011
Posty: 4
Wysłany: Pon 16 Sty, 2012 18:18
mam pytanie. czy można ustawić dostęp powyżej x reputacji?
________________________
http://www.gadu-gadu.pl/s...tm_medium=hover
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Pon 16 Sty, 2012 19:07
Tak. Ustawiasz warunek - skrypt:
Kod:
$game_party.reputation == X

W tym wypadku jest równe. <= - mniejsze, >= większe, != inne etc.
________________________
MelvinClass:
Spoiler:

 
 
Mateusz SSJ8 




Preferowany:
RPG Maker XP

Pomógł: 1 raz
Dołączył: 07 Sty 2012
Posty: 46
Skąd: Polska
Wysłany: Wto 17 Sty, 2012 13:06
Cytat:
Nie dociera? POZYSKAJ ORYGINALNEGO MAKERA!


W tym miejscu, Melvin, masz szczęście, że administracja tego forum jest dla ciebie pobłażliwa. W przeciwnym wypadku miałbyś już 2 ostrzeżenia na koncie. I to z następujących powodów:
Cytat:
1. Rozum na poziomie "Kali jeść, Kali pić" (w tym wypadku oznacza to twoją niemożliwość szukania innych rozwiązań)
2. Niewskazanie alternatywy


Zamiast szukać oryginalnego RPG Makera, można spróbować podmienić RGSS100j.dll o oryginalnej nazwie na plik RGSS102E.dll (lub nowszy) o nazwie "RGS100j.dll" i skrypty będą chodzić. Ja tak zrobiłem i do tej pory nie mam przerastających mnie problemów.
________________________
Ryzykując, że zrobisz super gniota, możesz zrobić super hit lub super gniota.
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene