Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Skrypt Dawania prezentów
Autor Wiadomość
Teyan 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 05 Lis 2009
Posty: 48
Wysłany: Sro 16 Gru, 2009 12:25
Skrypt Dawania prezentów
Teraz następny skrypt, długo go tłumaczyłem ale udało mi się. Na szczęście ktoś mi pomógł.
PS: Dzięki Cyklop!!!!!!!!!!!!!!!! :-)

Dzięki niemu będziemy mogli dawać prezenty innym NPC. Możemy też wymyśleć inne zastosowania. Najlepiej najpierw przetestować działanie tego skryptu.

INSTRUKCJA:
wszystko w skrypcie.

DEMO i SCREENY:
niepotrzebne.

Spoiler:

Kod:
#====================================================
#  Tytuł: Okno Prezentów
#  Oryginalny tytuł: Evidence Locker
#  Wersja: 1.0
#  Autor: modern algebra (rmrk.net)
#  Data: 2 Sierpień 2008
#  Tłumaczenie: Marcin (www.ultimateam.pl)
#  Data tłumaczenia: 16 Grudnia 2009r.

#
#                                                          ~~PODIĘKOWANIA~~
#       Chce podziekować Cyklopowi (www.ultimateam.pl) za pomoc w zrozumieniu tego skryptu.
#       Wielkie Dzięki!!!!!!!!
#
#  PS: Wiem, że podziękowania umieszcza się na końcu, ale wtedy nigdy byście tego nie przeczytali.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  INSTRUKCJA:
#                    ~~WSTĘP~~
#      Autor tego skryptu stworzył go z myślą o śledztwach, "Evidence Locker" oznacza z angielskiego mniej
#      więcej "'coś tam' dowody". ja natomiast używam go do dawania prezentów innym NPC podczas gry.
#      Jeżeli chcecie mieć więcej takich okienek np: jedno do dawania prezentów, drugie do tworzenia mikstur z
#      możliwością eksperymentowania jak w Wiedźminie, to przekopiujcie ten skrypt, wklejcie kopie nad "Main" i
#      zamieńcie wszystkie słowa "evidence" na np: Alchemia
#
#                     ~~NOTE/NOTATKI~~
#    By ten skrypt działał trzeba napisać w notatkach (note) danego przedmiotu to:
#    \evidence
#    Wg autora mamy w notatniku dodatkowo wpisać jedną lub kilka z
#    poniższych linijek, ja tego nie robiłem i zawsze uzyskałem ten efekt, który chciałem:
#    $game_temp.evidence_w      zamiast "w" należy wpisać nazwę przedmiotu.
#    $game_temp.evidence_x    zamiast x należy wpisać liczbę przedmiotów.
#    $game_temp.evidence_type   zamiast type wpisujemy numer od 0 do 2 (0 = Item, 1 = Weapon, 2 = Armor)
#    $game_temp.evidence_id        zamiast "id" wpisujemy id ikonki
#
#                    ~~ZDARZENIE~~
#  By wywołać menu dawania prezentów wywołaj skrypt:
#    $scene = Scene_Evidence.new
#  Potem wstaw polecenie czekaj/wait 1 frame
#  Teraz wpisz polecenie: "conditional branch/ustaw warunek" używając jednego z tych skryptów.
#    $game_temp.evidence_name == "nazwa przedmiotu"
#    $game_temp.evidence_amount == liczba przedmiotu
#    $game_temp.evidence_type == typ od 0 do 2,
#    $game_temp.evidence_id == id ikonki
#   
#                  ~~ZAKOŃCZENIE~~
#   Jeżeli chcemy ustawić warunek np: musimy podarować komuś "X" przedmiotów o nazwie "Y"
#   Wpisujemy w Conditional Branch to:
#    $game_temp.evidence_amount == X && $game_temp.evidence_name == "Y"
#   Jeżeli bohater nie ma przedmiotu w plecaku, to ten przedmiot nie wyświetli się w Oknie Prezentów.
#
#       WIELKOŚĆ LITER MA ZNACZENIE!!!!!!!!!!!!!!!!!
#=========================================================
#=========================================================
# ** RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#    new method - evidence?
#=========================================================

class RPG::BaseItem
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Evidence?
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def evidence?
    return true if self.note[/\\evidence/i] != nil
    return false
  end
end

#=========================================================
# ** Game_Temp
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#    new public instance variables - evidence_name, evidence_type, evidence_id
#=========================================================

class Game_Temp
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_accessor :evidence_type   # 0 => Item, 1 => Weapon, 2 => Armor
  attr_accessor :evidence_id     # Item ID
  attr_accessor :evidence_name   # The name of the evidence
  attr_accessor :evidence_amount # The amount of that evidence in possession
end

#=========================================================
# ** Window_Item
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#    aliased methods - include?, enable?
#=========================================================

class Window_Item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Include?
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_dragon9_request_evince_selct_incl_8b4s include?
  def include?(item)
    return (item == nil ? false : item.evidence?) if $scene.is_a? (Scene_Evidence)
    modalg_dragon9_request_evince_selct_incl_8b4s (item)
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Enable?
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias modalg_drgdd9_req_evidnc_954n  enable?
  def enable? (item)
    return true if $scene.is_a? (Scene_Evidence)
    return modalg_drgdd9_req_evidnc_954n (item)
  end
end

#=========================================================
# ** Scene_Evidence
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  This class is a subclass of Scene_Item. Instead of using a selected item,
#  this script reserves it in a variable to be used in an event.
#=========================================================

class Scene_Evidence < Scene_Item
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Return Scene
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def return_scene
    $scene = Scene_Map.new
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Update Item Selection
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def update_item_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      # Clear evidence variables
      $game_temp.evidence_type = nil
      $game_temp.evidence_id = nil
      $game_temp.evidence_name = nil
      $game_temp.evidence_amount = nil
      return_scene
    elsif Input.trigger?(Input::C)
      @item = @item_window.item
      if @item == nil
        Sound.play_buzzer
      else
        # Set evidence variables to the item chosen
        $game_temp.evidence_type = @item.is_a? (RPG::Item) ? 0 : @item.is_a? (RPG::Weapon) ? 1 : 2
        $game_temp.evidence_id = @item.id
        $game_temp.evidence_name = @item.name
        $game_temp.evidence_amount = $game_party.item_number (@item)
        return_scene
      end
    end
  end
end

 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 22 Gru, 2009 01:56
Całkiem przydatny skrypcik, choć wolałabym osobiście użyć go właśnie do celu "Evidence Locker". Wpadłam na pomysł wykorzystania go w swoim projekcie :-> Dobra robota ;-)
________________________


 
 
 
kugron 




Preferowany:
RPG Maker VX

Dołączył: 03 Cze 2010
Posty: 17
Wysłany: Czw 10 Cze, 2010 12:55
Przecież to można zrobić jako zdarzenie.
 
 
CreeperCrisis 



Preferowany:
RPG Maker VXAce

Pomógł: 32 razy
Dołączył: 01 Maj 2010
Posty: 395
Wysłany: Pią 11 Cze, 2010 15:19
Właśnie to sprawdzałem. Wszystko działa lecz nie wiem do czego to użyć?
 
 
kugron 




Preferowany:
RPG Maker VX

Dołączył: 03 Cze 2010
Posty: 17
Wysłany: Sob 12 Cze, 2010 11:18
Można to wykorzystać do robienia misji naprzykład jeżeli damy gostkowi talon na balon on nam powie gdzie jest przedmiot do misji.
 
 
Ulvran 




Preferowany:
RPG Maker VX

Dołączył: 05 Lip 2010
Posty: 15
Skąd: Otwock
Wysłany: Wto 06 Lip, 2010 07:26
Ew. można zastosować cos takiego jak hm... lubienie nas przez kluczowe postacie(?).
Nie będę się tu rozpisywał jak to zrobić, bo nie od tego jest ten temat :P
Może powiem, że coś jak Dragon Age :D

A skrypcik naprawdę fajny... może go wykorzystam
 
 
 
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Sro 07 Lip, 2010 12:26
Ale nie rozumie tego. Czyli tan przedmiot który mamy dać NPC to nam się będzie wyświetlał w eq czy nie??
________________________
Pomogłem? Daj ""
Piszę poprawnie po polsku

 
 
Drawestien 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 01 Gru 2010
Posty: 127
Wysłany: Czw 20 Sty, 2011 17:30
Nawet nawet.
Kiedyś się przyda.
 
 
CrasheR 




Pomógł: 123 razy
Dołączył: 20 Gru 2010
Posty: 609
Skąd: Nibelheim
Wysłany: Sob 26 Mar, 2011 16:33
Jak to dodać?? Zrobiłem wszystko, ale nie odejmuje mi itemka :-(
________________________



 
 
 
Theron 




Preferowany:
RPG Maker VX

Dołączył: 21 Sie 2011
Posty: 37
Wysłany: Pon 31 Paź, 2011 19:16
mam podobny problem jak CrasheR tyle, że mi to ani itemu nie odejmuje ani nie mam jak wybrać komu chcę ten cholerny prezent dać. niby wywołuję to :
$scene = Scene_Evidence.new
pod przedmiotem też mam komendę
/evidence
ale jak kliknę na przedmiot to pokazuje mi się okno postaci i po kilku klatkach (nie cała sekunda) mi się zamyka a przedmiot jak był tak jest... Czy w przedmoiocie trza dodatkowo coś ustawić ?
________________________
Pomyśl, o czym myślisz i przemyśl czy warto sobie zajmować tym czas
 
 
 
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