UltimaForum

Skrypty [VX] - Zmiana cen podczas gry

Teyan - Pon 14 Gru, 2009 09:48
Temat postu: Zmiana cen podczas gry
Oto krótki i prosty w użyciu skrypt, który przetłumaczyłem. Możemy dzięki niemu zmieniać ceny przedmiotów podczas gry.

INSTRUKCJA:
wszystko w skrypcie.

DEMO i SCREENY:
niepotrzebne.

Spoiler:

Kod:
#===============================================================
# Nazwa: Zmiana Cen [VX]
# * Pozwala zmieniać ceny itemów/broni/pancerzy podczas gry *
#--------------------------------------------------------------
# ◦ Autor: Woratana [woratana@hotmail.com]
# ◦ Tłumaczenie: Marcin (www.ultimateam.pl)
# ◦ Data: 26/06/2008
# ◦ Wersja: 1.0
#--------------------------------------------------------------

#==================================================================
# ** INNSTRUKCJA **
#-----------------------------------------------------------------
# ** By zmienić cenę przedmiotu wywołaj skrypt:
# dla itemów:
#  Price_Edit.item(id przedmiotu, nowa cena) np: Price_Edit.item(1, 20)
# by powrócić do starej ceny (tej z "database")
#  Price_Edit.item(id przedmiotu)
#
# dla broni:
#  Price_Edit.weapon(id broni, nowa cena) np: Price_Edit.weapon(4, 80)
# by powrócić do starej ceny (tej z "database")
#  Price_Edit.weapon(id broni)
#
# dla pancerzy/tarcz/akcesorii/nakryć głowy
#  Price_Edit.armor(id pancerza, nowa cena) np: Price_Edit.armor(5, 120)
# by powrócić do starej ceny (tej z "database")
#  Price_Edit.armor(id pancerza)
#===============================================================

module Price_Edit
  def self.item(id, price = nil)
    price ||= $data_items[id].real_price
    $game_system.new_price['item'][id] = price
  end
 
  def self.weapon(id, price = nil)
    price ||= $data_weapons[id].real_price
    $game_system.new_price['weapon'][id] = price
  end
 
  def self.armor(id, price = nil)
    price ||= $data_armors[id].real_price
    $game_system.new_price['armor'][id] = price
  end
end

class Game_System
  def new_price
    if @new_price.nil?
      @new_price = {}
      @new_price['item'] = []
      @new_price['weapon'] = []
      @new_price['armor'] = []
    end
    return @new_price
  end
end

module RPG
  class BaseItem
    def real_price
      return @price
    end
  end
 
  class Item
    def price
      return $game_system.new_price['item'][@id].nil? ? @price :
    $game_system.new_price['item'][@id]
    end
  end
 
  class Weapon
    def price
      return $game_system.new_price['weapon'][@id].nil? ? @price :
    $game_system.new_price['weapon'][@id]
    end
  end
 
  class Armor
    def price
      return $game_system.new_price['armor'][@id].nil? ? @price :
    $game_system.new_price['armor'][@id]
    end
  end
end



PS: Próbowałem stworzyć spoilera ale nie potrafię.

Ayene - Pon 14 Gru, 2009 14:32

Skrypt bardzo przydatny, ale trudno się dziwić - skrypty Woratany są wszechobecne na forum ;-) Niemniej jednak skorzystam z niego w swojej grze :->

A co do spoilera:
Kod:
[spoiler] tekst [/spoiler]

Cyklop - Wto 15 Gru, 2009 12:04

OOO XD coś takiego na pewno się przyda. Już dawno chciałem zrobić coś takiego że jak gracze dojdą do pewnego momentu gry to ceny wzrosną :P Dzienks.
alintes - Czw 24 Gru, 2009 14:36

Fajne dzieki, napewno przyda sie do gierki ;-)
Teyan - Pią 25 Gru, 2009 15:07

Cyklop napisał/a:
Już dawno chciałem zrobić coś takiego że jak gracze dojdą do pewnego momentu gry to ceny wzrosną


Ten skrypt nie bardzo się do tego nadaje (musiałbyś po kolei zmieniać cenę każdego przedmiotu), jeżeli chcesz inflacji w grze to wypróbuj ten skrypt: Ceny kontrolowane


Powered by phpBB modified by Przemo © 2003 phpBB Group