Kakashi heroe's
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Kakashi heroe's

Forum du projet Kakashi heroe's
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 [Combat] Player vs Player (Destined et Goldenaura3)

Aller en bas 
AuteurMessage
Uchiha sasuke
Admin
Uchiha sasuke


Nombre de messages : 63
Date d'inscription : 21/06/2007

[Combat] Player vs Player (Destined et Goldenaura3) Empty
MessageSujet: [Combat] Player vs Player (Destined et Goldenaura3)   [Combat] Player vs Player (Destined et Goldenaura3) Icon_minitimeLun 25 Juin - 13:14

Game_PvP Code:


#==============================================================================
# ■ Game_PvP
#------------------------------------------------------------------------------
# Handles battle data.
# Based on Goldenaura3's original script!
# Created by Destined and Goldenaura3 ^_^
#==============================================================================

class Game_PvP
#--------------------------------------------------------------------------
# ● Class Variables
#--------------------------------------------------------------------------
attr_reader :b_hp
attr_reader :b_sp

#--------------------------------------------------------------------------
# ● Initializes the battle data for opponent!
#--------------------------------------------------------------------------
def initialize
@b_hp = 0
@b_sp = 0
@battle_active = false
end

#--------------------------------------------------------------------------
# ● Refreshes battle data.
#--------------------------------------------------------------------------
def refresh_battle(battle_data)
eval(battle_data)
end

#--------------------------------------------------------------------------
# [!] PVP Battle Starting Information
#--------------------------------------------------------------------------
def self.start_battle
@battle_active = true
end
end



PVP Code:


#=============================================================
# PvP Core Class Modifié par LeDémonNTXone
#-------------------------------------------------------------
#Modifications : Ajout de Points AME
#Traductions
#=============================================================
module PvP
class Player
#--PvP Attack--#
def self.attack
@attack_shot = rand(4)
if @attack_shot == 4
$network.socket.send("'attack'n")
else
@attack_output = rand(60)
$network.socket.send("'attack'n")
end
end

#--PvP Opponent--#
def self.opponent_attack(amount)
if amount != 0
$game_actors[1].hp -= amount
p amount
else
p "Raté"
end
death_update
end

#--PvP Death Update--#
def self.death_update
if $game_actors[1].hp == 0
$scene = Scene_Gameover.new
end
end

#--PvP Lose Battle--#
def self.lose_pvp
$game_actors[1].hp = 0
$game_variables[1] += 2
Pvp_Network.close
end

#--PvP Win Battle--#
def self.win_pvp
$game_actors[1].hp = $game_actors[1].max_hp
$game_variables[1] += 5
Pvp_Network.close
end

#--PvP Death Update--#
def self.score_update
if PvP_Network.battler[PvP_Network.battler_id].hp > 0 && $game_actors[1].hp == 0
$network.socket.send("'you_win'n")
end
if $game_actors[1].hp > 0 && PvP_Network.battler[PvP_Network.battler_id].hp == 0
$network.socket.send("'i_won'n")
end
end
end

class Pvp_Network
#--Attributes--#
attr_reader :battler
attr_reader :battle_active
attr_reader :battler_id

#--Adjust PvP Start Data--#
def self.initialize
@battler = {}
@battle_active = false
@battler_id = 0
@tname = ""
end

def self.btname
return @tname
end

#--Synchronize--#
def self.synchronize
@pvp_event = $game_map.events[8]
for p in $network.players.values
if p.global_id == @battler_id
@selected_player = p
end
end
@pvp_event.character_name = @selected_player.character_name
@pvp_event.moveto(@selected_player.x, @selected_player.y)
end

#--Synchronize Now!--#
def self.sync
for p in $network.players.values
if p.global_id == @battler_id
@selected_player = p
end
end
@pvp_event.moveto(@selected_player.x, @selected_player.y)
end

#--Find User Data--#
def self.data(datan)
for i in $network.players.values
if i.name == @tname
return eval("i." + datan.to_s)
end
end
end

#--Select Battle Cache--#
def self.request(name)
$pvp_rplay = name
$scene = Scene_Map.new
end

#--Find Battle Data--#
def self.setup_battler(name)
for id_amount in $network.players.size
for user_check in $network.players[id_amount].values
if user_check.name == name
@battler_id = user_check.global_id
@battler[user_check.global_id] ||=Game_PvP.new
@battler[user_check.global_id].battle_start
p "Phase 1 Complete.. Proccedding To Arena"
$game_temp.player_new_map_id = 27
$scene = Scene_CM.new(7, $game_switches[5])
else
print "Error (3): Battler Setting Up Error.... PvP Closing! - PHASE 1"
end
end
end
end

#--Send PvP Request Data--# (HOST)
def self.send_request(player)
$network.socket.send("" + player.to_s + "n")
end

#--Set Battler Name--#
def self.set_name(name)
@tname = name
end

#--Send PvP Start Data--#
def self.pvp_battle_start
for i in $network.players.values
print @tname.to_s
$network.socket.send("#{i.global_id}n")
end
sleep(2)
stage3_step1
end

#--Change Maps--#
def self.stage3_step1
$game_switches[5] = true
$game_map.setup(27)
$game_player.refresh
$game_map.update
$game_temp.player_new_map_id = 27
$game_temp.player_new_x = 11
$game_temp.player_new_y = 9
$scene = Scene_CM.new(7, $game_switches[5])
end

#--Change Maps--# ( LOAD EVENTS )
def self.stage3_step2
$game_switches[5] = true
$game_map.setup(27)
$game_player.refresh
$game_map.update
$game_temp.player_new_map_id = 27
$game_temp.player_new_x = 11
$game_temp.player_new_y = 9
$scene = Scene_CM.new(7, $game_switches[5])
end

def self.event_stray(event, list)
for i in 0...list.size
if list[i].code == 108 and list[i].parameters == ["Pvp_Player_Online_2"]
$game_map.events[event.id].character_name = "001-Fighter01"
#$game_map.events[event.id].character_name = data("character_name")
p "Found Event 2"
end
end
end

#--Update pvp data--#
def self.update_pvp_data(pvp_id, pvp_info)
Player.score_update
end

#--Close Pvp Stream--#
def self.close
@battler = {}
@battle_active = false
@battler_id = 0
end
end
end



PVP_Mods Code:


#===================
# PVP_Mods
#===================

class Scene_Item
alias upipvp update_item
def update_item
if Input.trigger?(Input::C)
@item = @item_window.item
if @item.id == 24
$player_vs_select = true
$scene = Scene_Map.new
end
end
upipvp
end
end
Revenir en haut Aller en bas
https://kakashiheroes.forums-actifs.net
Uchiha sasuke
Admin
Uchiha sasuke


Nombre de messages : 63
Date d'inscription : 21/06/2007

[Combat] Player vs Player (Destined et Goldenaura3) Empty
MessageSujet: Re: [Combat] Player vs Player (Destined et Goldenaura3)   [Combat] Player vs Player (Destined et Goldenaura3) Icon_minitimeLun 25 Juin - 13:17

PvP_Map Code:

#=============================================================
# PvP Map Class Modifié par LeDémonNTXone
#=============================================================
class Scene_Map
#-- PVP Initialize Technique --#
#if $game_map.map_id == 027
#--Alias--#
alias pvp_map_update update
alias pvp_map_main main

#--Initialize--#
def initialize
$Pvp = PvP
end

#--Main--#
def main
if $player_vs_select == true
@invite = Window_Invite.new
@invite.active = true
$player_vs_select = false
end
pvp_map_main
@invite.dispose if @invite != nil
@rvie.dispose if @rvie != nil
@rwin.dispose if @rwin != nil
end

#--Update--#
def update
@invite.update if @invite != nil
@rvie.update if @rvie != nil
@rwin.update if @rwin != nil
if $player_vs_select == true
player_select
end
if $pvp_rplay != nil
pvp_request($pvp_rplay) if @rvie == nil
end
if $player_vs_search == true
player_search
$player_vs_search = false
end
if @rvie != nil && @rwin != nil
if Input.C
case @rwin.index
when 0
for i in $network.players.values
if i.name == $Pvp::Pvp_Network.btname
$network.socket.send("#{i.global_id}\n")
else
for a in $network.players.values
$network.socket.send("#{a.global_id}\n")
end

end
end
$pvp_rplay = nil
$scene = Scene_Map.new
when 1
$network.socket.send("request_return\n")
$pvp_rplay = nil
$scene = Scene_Map.new
end
end

end
pvp_map_update
end

#--Player_Select--#
def player_select
@invite = Window_Invite.new
@invite.active = true
$player_vs_select = false
end

def pvp_request(from_player)
@rvie = Window_Help.new
@rvie.set_text("You have been invited to the 'Grassland Arena' to Vs " + from_player)
@rvie.size(16)
@rwin = Window_Command.new(160, ["Accept", "Decline"])
@rwin.y = 64
@rwin.x = 220
@rwin.active = true
$pvp_rplay = ""
end

#--Player_Search--#
def player_search
for a in $network.players.values
if a.name == $player_search_data
@player_search = "a"
$player_vs_search = false
p $player_search_data + ", Votre défie à été envoyé.... Veuillez patientez pour la réponse."
for i in $network.players.values
if i.name == $player_search_data
$Pvp::Pvp_Network.new
$Pvp::Pvp_Network.send_request(i.global_id)
end
end
end
end
if @player_search != "a"
p "Demande échoué.... The player " + $player_search_data + ", N'existe pas ou n'est pas connecté!"
@player_search = "b"
$player_vs_search = false
end
end
end
#end




Pk Code:

#=============================================================
# Pk ( Player Kill )
#=============================================================
class Scene_Map

# Alias
alias pk_update update
alias pk_main main

# Initialize
def main
$pk_maps = [13] # Addin Map Id's Here ( PK Allowed )
@pk_allow = false
for a in 0...$pk_maps.size
if $pk_maps[a] == $game_map.map_id
@pk_allow = true
end
end
pk_main
end

# Update
def update
if Input.getkey(70)
if @pk_allow == true
for i in $network.players.values
if i.map_id == $game_map.map_id
if i.level.to_i == $game_actors[1].level.to_i # PK Level Restriction
if i.x == $game_player.x + 1
attack(i.global_id)
elsif i.x == $game_player.x - 1
attack(i.global_id)
elsif i.y == $game_player.y - 1
attack(i.global_id)
elsif i.y == $game_player.y + 1
attack(i.global_id)
end
end
end
end
$ABS.player_attack # if $ABS # ABS Attack
else
$ABS.player_attack #if $ABS # ABS Attack
end
end
pk_update
end

# Attack a player
def attack(id)
damage = proccess
$network.socket.send("#{id}\n")
$network.socket.send("#{proccess}\n")
for animation in $network.players.values
if animation.global_id == id
$game_actors[1].exp += $data_actors[1].exp_inflation.to_i / 8
animation.animation_id = 7
end
end
end


# Proccess damage
def proccess
data = ($game_actors[1].str / 10 + 20)
bonus = rand($data_actors[1].exp_inflation.to_i / 5 * 4) # Bonus damage!
return data + bonus
end
end

Window_Invite Code:


#==============================================================================
# ■ Window_Invite Originally created by: Cybersam
#------------------------------------------------------------------------------
#  Based on the Full-Keyboard Input script created by Cybersam.
#==============================================================================

class Window_Invite < Window_Base
attr_reader :txt
#--------------------------------------------------------------------------
# ● Initializes code input window.
#--------------------------------------------------------------------------
def initialize
super(130, 192, 380, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 16
@txt = []
refresh
end

#--------------------------------------------------------------------------
# ● Refreshes code input window.
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.draw_text(0, -32, 640, 96, "Entrez le nom du joueur que vous souhaitez affronter. (1)")
self.contents.draw_text(0, 0, 620, 96, "Nom: #{@txt}")
end

#--------------------------------------------------------------------------
# ● Refreshes code input window.
#--------------------------------------------------------------------------
def add(char)
if @txt.size >= 80
$game_system.se_play($data_system.buzzer_se)
else
@txt.push(char.to_s)
refresh
end
end

#--------------------------------------------------------------------------
# ● Updates input code window.
#--------------------------------------------------------------------------
def update
refresh
# Removes last entry in test.
if Input.getkey(Cool
if @txt.size == 0
$game_system.se_play($data_system.buzzer_se)
else
@txt.delete_at(-1)
refresh
end
end
#Return to GC
if Input.getkey(48)
$player_vs_select = false
$scene = Scene_Map.new
end

if Input.getkey(49)
$Pvp::Pvp_Network.set_name(@txt.to_s)
$player_vs_search = true
$player_search_data = @txt.to_s
$scene = Scene_Map.new
end

# Adds a pressed key.
if Input.getstate(16)
add("A") if Input.getkey(65)
add("B") if Input.getkey(66)
add("C") if Input.getkey(67)
add("D") if Input.getkey(68)
add("E") if Input.getkey(69)
add("F") if Input.getkey(70)
add("G") if Input.getkey(71)
add("H") if Input.getkey(72)
add("I") if Input.getkey(73)
add("J") if Input.getkey(74)
add("K") if Input.getkey(75)
add("L") if Input.getkey(76)
add("M") if Input.getkey(77)
add("N") if Input.getkey(78)
add("O") if Input.getkey(79)
add("P") if Input.getkey(80)
add("Q") if Input.getkey(81)
add("R") if Input.getkey(82)
add("S") if Input.getkey(83)
add("T") if Input.getkey(84)
add("U") if Input.getkey(85)
add("V") if Input.getkey(86)
add("W") if Input.getkey(87)
add("X") if Input.getkey(88)
add("Y") if Input.getkey(89)
add("Z") if Input.getkey(90)
add("^") if Input.getkey(54)
else
add("a") if Input.getkey(65)
add("b") if Input.getkey(66)
add("c") if Input.getkey(67)
add("d") if Input.getkey(68)
add("e") if Input.getkey(69)
add("f") if Input.getkey(70)
add("g") if Input.getkey(71)
add("h") if Input.getkey(72)
add("i") if Input.getkey(73)
add("j") if Input.getkey(74)
add("k") if Input.getkey(75)
add("l") if Input.getkey(76)
add("m") if Input.getkey(77)
add("n") if Input.getkey(78)
add("o") if Input.getkey(79)
add("p") if Input.getkey(80)
add("q") if Input.getkey(81)
add("r") if Input.getkey(82)
add("s") if Input.getkey(83)
add("t") if Input.getkey(84)
add("u") if Input.getkey(85)
add("v") if Input.getkey(86)
add("w") if Input.getkey(87)
add("x") if Input.getkey(88)
add("y") if Input.getkey(89)
add("z") if Input.getkey(90)
end
end
end
Revenir en haut Aller en bas
https://kakashiheroes.forums-actifs.net
 
[Combat] Player vs Player (Destined et Goldenaura3)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [combat]Combat de coté version 1.5
» Combat A-RPG
» [Combat]CBS Vue sur le Côté v2.5
» Combat A-RPG version 3
» Objet aléatoire en fin de combat.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Kakashi heroe's :: Partie RPG :: Scripts-
Sauter vers: