The Big Master - Wto 25 Gru, 2012 18:13 Temat postu: Skrypt WalkiWitam oto walka w polskej grze multi player Mymafia.pl ten battle system jest bardzo fajny i mam pytanie czy macie skrypt który stworzyłby podobny do tego battle system. skrypty lub odnośniki prosze podawać w tym temacie.
Video z Walki:
Klikaj a będzie ci dane
PS. tam w dolnym lewym rogu są tak jakby wybory typu "Atak, zdolności, magia, itp." na filmikach ich nie widać.
*Skryptu nie moge posiąść od admina standard, mimo że miły ale mu się nie dziwię :)MrCorniszon - Sro 26 Gru, 2012 13:29 Coś takiego... http://www.ultimateam.pl/viewtopic.php?t=2890
Lub takiego... http://www.ultimateam.pl/viewtopic.php?t=2848
Jak pomogłem daj ,,POMÓGŁ" The Big Master - Sro 26 Gru, 2012 17:14 Próbowałem używać obu skryptów i tak. W pierwszym mi się nie chce charów przerabiać i usuwać tła, drugi nie jest zgrany z innymi skryptami które mam pojiedyńczo działa ok. Ale ja chce móc używać tamtych, więc mam do cb Prośby:
1.Podeślij mi paka z przerobionymi charami.
2.Zmień 2 skrypt tak aby nie nadpiysywał innych i był z nimi kompatybilny.
Oto I Skrypt jaki ci preśle nie mogę ich wszystkich razem dać <Głupie Ograniczenia>
Kowalstwo i Alchemia
Spoiler:
Kod:
#====================================================
# ** System Tworzenia Przedmiotów
# wersja: 1.00
# autor: arev (rmxp.pl)
# wydany: 28-12-2009
#=========================================================
# Instalacja i kompatybilność:
#
# Skopiuj ten skrypt i wklej w nowej zakładce nad 'Main' w swoim projekcie.
# Niniejszy skrypt jest kompatybilny z podstawowym systemem RMXP..
# Skrypt nie nadpisuje żadnych metod ani klas, więc powinien również
# współpracować z innymi skryptami.
#
#
#
# Używanie:
#
# Pod tym wstępem znajdziesz tablicę RECIPES.
# Nowe przepisy dodaje się kolejnymi tablicami jak na przykładzie:
# ['i12', 'i78', 'w3', 'a45', 'a45', 'z', 'i-99']
# i oznacza przedmioty, w - bronie, a - zbroje.
# Zgodnie z przykładowym przepisem - by zrobić przedmiot o ID 99 potrzeba
# jednego przedmiotu o ID 12, jednego przedmiotu o ID 78, jednej broni o ID 3,
# dwóch zbroi o ID 45. Maksymalna ilość składników to 6.
# Jeśli chcesz dodać receptę z mniejszej ilość składników, po prostu uzupełnij
# pozostałe pola znakami 'z' (w cudzysłowiu).
# Ostatni element tablicy to rezultat całej recepty. Pierwszy znak działa jak
# poprzednio, następnie konieczny jest myślnik, a dalej ID przedmiotu,
# który tworzymy.
#
# Aby wejść do ekranu tworzenia przedmiotów wywołaj skrypt:
# $scene = Scene_Craft.new - Kowalstwo
# $scene = Scene_Alchemia.new - Alchemia
#
# Kolejność składników podczas tworzenia przedmiotu nie ma znaczenia,
# skrypt sam zajmuje się ich sortowaniem.
#
#
#
# Licencja:
#
# Możesz dowolnie używać tego skryptu w swoin niekomercyjnych projektach.
# Możesz rozpowszechniać ten skrypt (bez pobierania opłat), o ile dołączysz
# informację nt. oryginalnego autora.
# Jeśli chcesz wykorzystać skrypt do celów komercyjnych skontaktuj się ze mną
# za pośrednictwem systemu wiadomości forum www.rmxp.pl lub www.hbgames.org/forums.
#=========================================================
def transmutation
temp = []
for i in 0..5
if @data[i] == nil
temp << "0"
else
case @data[i]
when RPG::Item
temp << "i" + @data[i].id
when RPG::Weapon
temp << "w" + @data[i].id
when RPG::Armor
temp << "a" + @data[i].id
end
end
end
temp = temp.sort
return temp
end
end
#------------------------------------------------------------------------------
class Window_Craft_Result < Window_Base
def make_item(text="")
@item_code = text
if @item_code.include?("-")
temp = @item_code.split("-")
@item = (temp[0] == "i" ? $data_items : "w" ? $data_weapons : $data_armors)[temp[1].to_i]
refresh
end
end
def nullify
@item = nil
refresh
end
end
#------------------------------------------------------------------------------
class Window_Craft_Item < Window_Selectable
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_items.size
if $game_party.item_number(i) > 0
@data.push($data_items[i])
end
end
unless $game_temp.in_battle
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
@data.push($data_weapons[i])
end
end
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
@data.push($data_armors[i])
end
end
end
@data.push(nil)
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
for i in 0...@item_max-1
draw_item(i)
end
end
def draw_item(index)
item = @data[index]
x = 4 + index % @column_max * 320
y = index / @column_max * 32
case item
when RPG::Item
number = $game_party.item_number(item.id)
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
x = index % @column_max * 320
y = index / @column_max * 32 - self.oy
self.cursor_rect.set(x, y, 288, 32)
end
end
#------------------------------------------------------------------------------
class Scene_Craft
def main
@components = Window_Craft_Components.new
@result = Window_Craft_Result.new
@item_window = Window_Craft_Item.new
@help_window = Window_Help.new
@help_window.set_text("Tworzenie Przedmiotów", 1)
Graphics.transition
loop do
Input.update
Graphics.update
update
if $scene != self
break
end
end
Graphics.freeze
@components.dispose
@result.dispose
@item_window.dispose
@help_window.dispose
end
def update
@item_window.update
@components.update
if @components.active
update_comp
return
end
if @item_window.active
update_item
return
end
end
def update_comp
if Input.trigger?(Input::A)
rock_baby
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
@components.active = false
@item_window.active = true
@item_window.index = 0
end
if Input.trigger?(Input::B)
for i in 0..5
item = @components.data[i]
if item != nil
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
end
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
def update_item
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
component = @components.data[@components.index]
if component != nil
case component
when RPG::Item
$game_party.gain_item(component.id, 1)
when RPG::Weapon
$game_party.gain_weapon(component.id, 1)
when RPG::Armor
$game_party.gain_armor(component.id, 1)
end
end
item = @item_window.item
@components.data[@components.index] = item
case item
when RPG::Item
$game_party.lose_item(item.id, 1)
when RPG::Weapon
$game_party.lose_weapon(item.id, 1)
when RPG::Armor
$game_party.lose_armor(item.id, 1)
end
@item_window.refresh
@components.refresh
check_recipes
@item_window.active = false
@item_window.index = -1
@components.active = true
end
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@item_window.active = false
@item_window.index = -1
@components.active = true
end
end
def check_recipes
things_in_the_pot = []
for i in 0..5
case @components.data[i]
when nil
things_in_the_pot << "z"
when RPG::Item
things_in_the_pot << "i#{@components.data[i].id}"
when RPG::Weapon
things_in_the_pot << "w#{@components.data[i].id}"
when RPG::Armor
things_in_the_pot << "a#{@components.data[i].id}"
end
end
things_in_the_pot = things_in_the_pot.sort
for j in 0...KOWALSTWO.size
temp = KOWALSTWO[j].dup
temp[6] = nil
if things_in_the_pot.size == 6
things_in_the_pot << nil
else
things_in_the_pot[6] = nil
end
if things_in_the_pot == temp
@result.make_item(KOWALSTWO[j][6])
return
else
@result.nullify
end
end
end
def rock_baby
case @result.item
when nil
$game_system.se_play($data_system.buzzer_se)
when RPG::Item
$game_party.gain_item(@result.item.id, 1)
finalize_crafting
when RPG::Weapon
$game_party.gain_weapon(@result.item.id, 1)
finalize_crafting
when RPG::Armor
$game_party.gain_armor(@result.item.id, 1)
finalize_crafting
end
end
def finalize_crafting
$game_system.se_play($data_system.save_se)
@components.nullify
@components.refresh
@item_window.refresh
@result.nullify
end
end
class Scene_Alchemia
def main
@components = Window_Craft_Components.new
@result = Window_Craft_Result.new
@item_window = Window_Craft_Item.new
@help_window = Window_Help.new
@help_window.set_text("Tworzenie Preparatów", 1)
Graphics.transition
loop do
Input.update
Graphics.update
update
if $scene != self
break
end
end
Graphics.freeze
@components.dispose
@result.dispose
@item_window.dispose
@help_window.dispose
end
def update
@item_window.update
@components.update
if @components.active
update_comp
return
end
if @item_window.active
update_item
return
end
end
def update_comp
if Input.trigger?(Input::A)
rock_baby
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
@components.active = false
@item_window.active = true
@item_window.index = 0
end
if Input.trigger?(Input::B)
for i in 0..5
item = @components.data[i]
if item != nil
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
end
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
def update_item
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
component = @components.data[@components.index]
if component != nil
case component
when RPG::Item
$game_party.gain_item(component.id, 1)
when RPG::Weapon
$game_party.gain_weapon(component.id, 1)
when RPG::Armor
$game_party.gain_armor(component.id, 1)
end
end
item = @item_window.item
@components.data[@components.index] = item
case item
when RPG::Item
$game_party.lose_item(item.id, 1)
when RPG::Weapon
$game_party.lose_weapon(item.id, 1)
when RPG::Armor
$game_party.lose_armor(item.id, 1)
end
@item_window.refresh
@components.refresh
check_recipes
@item_window.active = false
@item_window.index = -1
@components.active = true
end
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@item_window.active = false
@item_window.index = -1
@components.active = true
end
end
def check_recipes
things_in_the_pot = []
for i in 0..5
case @components.data[i]
when nil
things_in_the_pot << "z"
when RPG::Item
things_in_the_pot << "i#{@components.data[i].id}"
when RPG::Weapon
things_in_the_pot << "w#{@components.data[i].id}"
when RPG::Armor
things_in_the_pot << "a#{@components.data[i].id}"
end
end
things_in_the_pot = things_in_the_pot.sort
for j in 0...ALCHEMIA.size
temp = ALCHEMIA[j].dup
temp[6] = nil
if things_in_the_pot.size == 6
things_in_the_pot << nil
else
things_in_the_pot[6] = nil
end
if things_in_the_pot == temp
@result.make_item(ALCHEMIA[j][6])
return
else
@result.nullify
end
end
end
def rock_baby
case @result.item
when nil
$game_system.se_play($data_system.buzzer_se)
when RPG::Item
$game_party.gain_item(@result.item.id, 1)
finalize_crafting
when RPG::Weapon
$game_party.gain_weapon(@result.item.id, 1)
finalize_crafting
when RPG::Armor
$game_party.gain_armor(@result.item.id, 1)
finalize_crafting
end
end
def finalize_crafting
$game_system.se_play($data_system.save_se)
@components.nullify
@components.refresh
@item_window.refresh
@result.nullify
end
end
[ Dodano: Sro 26 Gru, 2012 20:19 ]
II, i III Skrypt.
Hud Mapy <Mini Mapa>
Spoiler:
Kod:
#==============================================================================
# HUD MAPY
#------------------------------------------------------------------------------
# Autor: squall // [mail]squall@rmxp.ch[/mail]
# Tłumaczenie: Ayene
#==============================================================================
# Umieść skrypt nad Main
#------------------------------------------------------------------------------
# Skrypt rysuje Mini mapę
#==============================================================================
#==============================================================================
class Scene_Map
alias main_passminimap main
alias update_passminimap update
alias transfer_passminimap transfer_player
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
@corner = HUD_ALIGN
end
#--------------------------------------------------------------------------
# main
#--------------------------------------------------------------------------
def main
@mini_map = Map_Event.new(@corner)
main_passminimap
@mini_map.dispose
end
#--------------------------------------------------------------------------
# update
#--------------------------------------------------------------------------
def update
@mini_map.update
if $game_system.map_interpreter.running?
@mini_map.visible = false
elsif not $game_system.map_interpreter.running? and @mini_map.on?
@mini_map.visible = true
end
update_passminimap
end
#--------------------------------------------------------------------------
# transfer_player
#--------------------------------------------------------------------------
def transfer_player
transfer_passminimap
@mini_map.dispose
@mini_map = Map_Event.new(@corner)
end
end
for key in $game_map.events.keys
event = $game_map.events[key]
next if event.list == nil
for i in 0...event.list.size
next if event.list[i].code != 108
@events[key] = Sprite.new(self.viewport)
@events[key].z = self.z + 2
if event.list[i].parameters[0].include?("event")
@events[key].bitmap = RPG::Cache.picture("event")
elsif event.list[i].parameters[0].include?("enemy")
@events[key].bitmap = RPG::Cache.picture("enemy")
elsif event.list[i].parameters[0].include?("teleport")
@events[key].bitmap = RPG::Cache.picture("teleport")
elsif event.list[i].parameters[0].include?("chest")
@events[key].bitmap = RPG::Cache.picture("chest")
elsif event.list[i].parameters[0].include?("npc")
@events[key].bitmap = RPG::Cache.picture("npc")
elsif event.list[i].parameters[0].include?("savepoint")
@events[key].bitmap = RPG::Cache.picture("savepoint")
end
end
end
end
#--------------------------------------------------------------------------
# dispose
#--------------------------------------------------------------------------
def dispose
@player.dispose
for event in @events.values
event.dispose
end
super
end
#--------------------------------------------------------------------------
# update
#--------------------------------------------------------------------------
def update
super
@player.x = $game_player.real_x * 3 / 64 - 5
@player.y = $game_player.real_y * 3 / 64 - 4
@player.src_rect.x = ($game_player.direction / 2 - 1) * 15
for key in @events.keys
event = @events[key]
mapevent = $game_map.events[key]
event.x = mapevent.real_x * 3 / 64
event.y = mapevent.real_y * 3 / 64
end
end
end
Wyzwalanie mocy BROŃ
Spoiler:
Kod:
#=============================================================================
#
# ** Ryex's Weapons Unleash Skills
#
#-----------------------------------------------------------------------------
#
#Autor : Ryex
# Wersja 1.22
#
#-----------------------------------------------------------------------------
#
# Features
#
# * Pozwala broniom na posiadanie umiejetności w bazie danych.
# * możliwy do zmodyfikowania procent/szansa na wyzwolenie mocy/umiejętności.
#
#
#
#-----------------------------------------------------------------------------
#
# Instrukcje
#
# Wstaw skrypt nad main i wypełnij konfigurację.
#
#==============================================================================
module RPG
class Weapon
def unleash_id(id)
case id
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Konfiguracji wyzwalanych mocy.
# Użyj komendy when <IDBroni> then return <ID Mocy do wyzwolenia>
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
when 1 then return 7 # Uniwersalnie : używając broń o id 1 wywołaj skill o id 7/
# w moim przypadku bronze sword wyzwala ogień
# Tu dodawać więcej linijek
when 2 then return 3
# KONIEC konfiguracji wyzwalanych mocy.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
end
return 0
end
def unleash_chance(id)
case id
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Konfiguracja szansy wyzwolenia danej mocy.
# Bez wypełnienia tej rubryki (bądź wypełnienia na 0%) broń nigdy nie wyzwoli mocy
# Użyj when <IDBroni> then return <% szansy wyzwolenia (od 0 do 100)>
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
when 1 then return 35
# Tu dodawać więcej linijek
when 2 then return 35
# KONIEC konfiguracji szansy wyzwolenia danej mocy.
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
end
return false
end
end
end
class Game_BattleAction
attr_accessor :unleash
alias ryex_WUS_GBattleAction_clear_later clear
def clear
@unleash = false
ryex_WUS_GBattleAction_clear_later
end
end
class Scene_Battle
alias ryex_WUS_SBattle_update_phase4_step2_later update_phase4_step2
def update_phase4_step2
if @active_battler.is_a?(Game_Actor)
if @active_battler.current_action.basic == 0
unless $data_weapons[@active_battler.weapon_id].unleash_chance(@active_battler.weapon_id) == false
if rand(100) <= ($data_weapons[@active_battler.weapon_id].unleash_chance(@active_battler.weapon_id))
@active_battler.current_action.kind = 1
@active_battler.current_action.skill_id = $data_weapons[@active_battler.weapon_id].unleash_id(@active_battler.weapon_id)
@active_battler.current_action.unleash = true
else
@active_battler.current_action.unleash = false
end
else
@active_battler.current_action.unleash = false
end
end
end
ryex_WUS_SBattle_update_phase4_step2_later
end
alias ryex_WUS_SBattle_make_skill_action_result_later make_skill_action_result
def make_skill_action_result
if @active_battler.current_action.unleash == true
# Get skill
@skill = $data_skills[@active_battler.current_action.skill_id]
@active_battler.current_action.unleash = false
@status_window.refresh
# Show skill name on help window
@help_window.set_text(@active_battler.name+"'Wyzwolił moc"+@skill.name, 1)
# Set animation ID
@animation1_id = @skill.animation1_id
@animation2_id = @skill.animation2_id
# Set command event ID
@common_event_id = @skill.common_event_id
# Set target battlers
set_target_battlers(@skill.scope)
# Apply skill effect
for target in @target_battlers
target.skill_effect(@active_battler, @skill)
end
else
ryex_WUS_SBattle_make_skill_action_result_later
end
@active_battler.current_action.unleash = false
end
end
[ Dodano: Sro 26 Gru, 2012 20:22 ]
Nie dam teraz wszystkich jutro podeślę Braciak chce na kompa. <PS. Sory za tworzenie nowych postów>MrCorniszon - Sro 26 Gru, 2012 22:01 Haha, nie raczej nie Ja skryptami się nie zajmuje, w ogóle tego nie ogarniam (nawet w rpg xp nie siedzę). Jedynie poszukałem ci takich skryptów bo potrzebowałeś Tyle z mojej strony. Dam ci jeszcze grafiki potworów widzianych z boku, zripowanych z innych gier, proszę:
Tu masz więcej:
http://tsukuru.pl/index.p...dzial=2kmonsterThe Big Master - Czw 27 Gru, 2012 06:56 Skoro ty nie to może kto inny chętny, na pewno dam plusa.