Life Rpg Maker
Registre-se em nossa comunidade e saiba Mais do mundo maker(:
Life Rpg Maker
Registre-se em nossa comunidade e saiba Mais do mundo maker(:
Life Rpg Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.



 
InícioInício  chat  PortalPortal  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  EntrarEntrar  

 

  [Tutorial]Sistema de PK Avançado NP Master v3.0

Ir para baixo 
AutorMensagem
Samuka_Adm
Admin
Admin
Samuka_Adm


Medalhas :
Mensagens : 150
Pontos : 319
Reputação : 44
Data de inscrição : 15/06/2012

 [Tutorial]Sistema de PK Avançado NP Master v3.0 Empty
MensagemAssunto: [Tutorial]Sistema de PK Avançado NP Master v3.0    [Tutorial]Sistema de PK Avançado NP Master v3.0 Icon_minitimeSeg Jun 25, 2012 3:55 pm

Sistema de PK Avançado:
Por: KaiqueHunter

Esse sistema de PK foi baseado no do Mu Online,cuja caso a pessoa esteja PK troca a cor da Asa,a diferença é que neste caso trocaremos a Cor do Nome.
Perguntas Frequentes:

Pergunta:Porque esse sistema é avançado ?
Resposta:Ele meche com varios Scriptes,inclusive o NetWork e caso a pessoa não saiba mecher com WinSock,ela pode acabar desconfigurando,por isso é recomendado que extraia uma nova pasta do NP antes de tentar fazer.

Pergunta: O que é PK?
Resposta: se não me engano é player Killer

Pergunta:Funciona em outros NetPlay ?
Resposta:Funciona em todos NP baseados no NetPlay Plus 1.7

1º Passo


Antes de começar,iremos no "User Edits" e depois da linha 70,onde fica as cor iremos adicionar está
variavel:

Código:
PK_COLOR = Color.new(250,0,0)

Oque fizemos ? Nós adicionamos uma variavel contendo a cor "vermelha" que é perfeita para uma cor de quando a pessoa estiver PK.

Agora iremos criar uma variavel com o nome de "PK Var",para o tutorial eu usei o Slot numero 10,vocês poderão usar outro Slot mas usaremos este Slot praticamente o tutorial inteiro então caso vocês queiram mudar vocês terão que modificar os Script.

Agora que já criamos a Variavel iremos no Script "PlayerVsPlayer" e na linha 146 está assim:

Código:
netplayer_killed(pl) if pl.hp <= 0

Iremos arrancar está linha de codigo e adicionaremos:

Código:
if pl.hp <= 0
netplayer_killed(pl) 
$game_variables[10] = 1
end

Com o "if",ela verifica se o Player que seu char atacou tem o HP igual ou menor que 0 caso sim,ele executa a função "netplayer_killed(pl)" e logo em seguida coloca o valor da variavel do Slot 10 com o valor 1,hã ? Porque colocaremos o valor 1 ? O valor da variavel sera usado para dizer se está PK ou não, o bom disso que sera possivel utiliza-las em varios sistemas,como empedir que o NPC converse com o matador,etc.Ou seja valor da variavel do Slot 10 = 1 significa que a pessoa está PK e valor 0 não está PK.

2º Passo
Agora falta a parte de mudar de nome,então iremos no Script "Event Text Display",este Script é responsavel por colocar o nome e a cor do nome em cima do personagem.Na linha 122 iremos modificar o "else" e colocaremos um "elsif" ficando assim.

Código:

if Network::Main.group == 'admin' and User_Edit::COLOR_ADMIN == true
@text_display = [txt, ADM_Color]
elsif $game_variables[10] == 1
@text_display = [txt, User_Edit::PK_COLOR]
else
@text_display = [txt, Player_Color]
end
end
end


Com isso o Sistema de PK já estaria pronto,mas ele não seria global e ainda não teria um Refresh,ou seja mesmo que a pessoa mata-se a cor do nome iria mudar só se ela reloga-se.

3º Passo


Agora iremos fazer com que o Sistema de PK seja global ou seja caso a pessoa mate a cor do nome fique vermelho para os outros player,para isso iremos no Script "Game_NetPlayer" e iremos adicionar logo apos da linha 54 isto:

Código:
attr_accessor :variavel

Isso foi colocado porque para que o Sistema de PK seja global é necessario que um Player verifique a variavel do Slot 10 para ver se sera colocado a cor vermelha ou a normal em cima do nome do outro player.O real problema é que o NP não tinha suporte para isso por isso é necessario adicionar está linha.
Em seguida no mesmo Script logo apos da linha 104 iremos adicionar:

Código:
@variavel = 0

Com isso estamos anulando o valor da "variavel" pois ele é redefinido quando é enviado a mensagem via Socket.
Agora iremos no Script "Network" e na linha 381 e logo em seguida dessa linha iremos adicionar:

Código:
send += "@variavel = #{$game_variables[10]};"

E logo apos da linha 519 iremos adicionar novamente este codigo:

Código:
send += "@variavel = #{$game_variables[10]};"

Em seguida iremos no Script "Sprite_NetCharacter" e iremos arrancar da linha 63 até a 67 e no lugar iremos adicionar:

Código:
if @character.grupo == "Admin" and User_Edit::COLOR_ADMIN == true
bitmap.font.color = User_Edit::ADM_COLOR
elsif @character.variavel == 1
bitmap.font.color = User_Edit::PK_COLOR
else
bitmap.font.color = User_Edit::PLAYER_COLOR
end

4º Passo

Agora já temos um Sistema PK Global só falta a ultima coisa,fazer com que o sistema de Refresh sozinho,assim quando matarmos a cor mudar sem necessitar que relogue.
Novamente no Script "Event Text Display" logo apos da linha 249 iremos adicionar estás linhas de codigo:

Código:
if @character.is_a?(Game_Player)
dispose_display_text
create_display_sprite(@character.text_display)
end

E na linha 163 iremos arrancar tanto está linha como a linha 165 e iremos adicionar:

Código:
if @character.is_a?(Game_Player)
if Network::Main.group == 'admin' and User_Edit::COLOR_ADMIN == true
bitmap.font.color = User_Edit::ADM_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] == 1
bitmap.font.color = User_Edit::PK_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
else
bitmap.font.color = User_Edit::PLAYER_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)   
end
else
bitmap.font.color = args[1]
bitmap.draw_text(0, 0, 160, 24, args[0], 1)
end

Prontinho  [Tutorial]Sistema de PK Avançado NP Master v3.0 253468018 , seu proprio Sistema de PK.

Exigencias:

Se usar em seu jogo,dê os devidos creditos.
Se postar em outro forum,dê os devidos creditos.
Se copiar,se jogue de um predio.

Sistema de PK Avançado v2.0

Estou postando no mesmo topico porque o v2.0 só edita as funções do v1.0,então facilita eu postar no mesmo topico,além disso ajuda o forum pra não ficar tanto topico praticamente inutil.

A versão 2.0 o PK terá Lv 1,2,3 , hã como assim ? Qual seria essa diferença de Lv,algo simples mais bem legal agora quando você matar uma pessoa você não ficaria PK logo você ficara PK lv 1 com cor amerelo,se matar novamente ficara PK lv 2 com cor Laranja e se matar novamente PK lv 3 com cor Vermelha,e se você matar alguem que estiver PK lv 1,2,3 ficara com cor azul claro Hero lv 1 e se matar mais um assasino ficara Hero lv 2 com cor azul escuro.

1º Passo

Vamos no "User Edits" e perto da linha 71 logo apos de:

Código:
PK_COLOR = Color.new(250,0,0)

Iremos adicionar estas linhas:

Código:
PK1_COLOR = Color.new(255,255,0)
#PK Lv 2
PK2_COLOR = Color.new(255,115,0)
#Hero Lv 1
HERO1_COLOR = Color.new(0,128,255)
#Hero Lv2
HERO2_COLOR = Color.new(0,0,255)

Estás linhas que dão a cor à cada nivel do nosso PK System.
Logo em seguida iremos no Script "PlayervsPlayer" e iremos substituir desde a linha 146 até a 149 por esse codigo abaixo:

Código:
if pl.hp <= 0
netplayer_killed(pl)
if pl.variavel > 0
$game_variables[10] -= 1
else
$game_variables[10] += 1
end
end

2º Passo

Iremos no Script "Event Text Display",nós vamos substituir a desde a linha 163 até a 178 por:

Código:
if @character.is_a?(Game_Player)
if Network::Main.group == 'admin' and User_Edit::COLOR_ADMIN == true
bitmap.font.color = User_Edit::ADM_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] == 1
bitmap.font.color = User_Edit::PK1_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] == 2
bitmap.font.color = User_Edit::PK2_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] >= 3
bitmap.font.color = User_Edit::PK_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] == -1
bitmap.font.color = User_Edit::HERO1_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
elsif $game_variables[10] <= -2
bitmap.font.color = User_Edit::HERO2_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)
else
bitmap.font.color = User_Edit::PLAYER_COLOR
bitmap.draw_text(0, 0, 160, 24, $game_party.actors[0].name, 1)   
end
else
bitmap.font.color = args[1]
bitmap.draw_text(0, 0, 160, 24, args[0], 1)
end

3º Passo

Agora falta uma coisa,fazer com que os outros players tambem vejam se você está Hero ou PK.Para isso vamos ao Script "Sprite_NetCharacter" e iremos substituir da linha 63 até a 69 por:

Código:
if @character.grupo == "Admin" and User_Edit::COLOR_ADMIN == true
bitmap.font.color = User_Edit::ADM_COLOR
elsif @character.variavel == 1
bitmap.font.color = User_Edit::PK1_COLOR
elsif @character.variavel == 2
bitmap.font.color = User_Edit::PK2_COLOR
elsif @character.variavel >= 3
bitmap.font.color = User_Edit::PK_COLOR
elsif @character.variavel == -1
bitmap.font.color = User_Edit::HERO1_COLOR
elsif @character.variavel <= -2
bitmap.font.color = User_Edit::HERO2_COLOR
else
bitmap.font.color = User_Edit::PLAYER_COLOR
end

Prontinho,agora se você matar alguem que está PK vira Hero,se matar alguem fica PK lv 1(Amarelo),e assim vai e se você matar que não esteja PK quando você estiver Hero você vai voltando ao normal,tipo se matar alguem que não esteja PK no Hero lv 2 você vai pro Lv 1 e se matar alguem novamente volta ao normal e assim vai xD.

Informação Basica sobre a variavel:

Caso a pessoa esteja Hero Lv 2 o valor da variavel é igual "-2" ou menor que "-2".
Caso a pessoa esteja Hero Lv 1 o valor da variavel é igual "-1".
Caso a pessoa esteja Normal o valor da variavel é igual "0".
Caso a pessoa esteja PK Lv 1 o valor da variavel é igual "1".
Caso a pessoa esteja PK Lv 2 o valor da variavel é igual "2".
Caso a pessoa esteja PK Lv 3 o valor da variavel é igual "3" ou maior que "3".

Assim vocês poderam editar o PK System por eventos facilmente  [Tutorial]Sistema de PK Avançado NP Master v3.0 364988687 .

Créditos
KaiqueHunter
Ir para o topo Ir para baixo
https://liferpgmaker.forumeiros.com
 
[Tutorial]Sistema de PK Avançado NP Master v3.0
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» [Tutorial]Removendo Os Botões de Classe NP Master v3 ou superior
» Netplay Master V3
» netplay Master V4 Atualizado
» Login ao Apertar Enter NP Master v3
»  [Tutorial] Botão de atualizar

Permissões neste sub-fórumNão podes responder a tópicos
Life Rpg Maker :: Guias e Tutoriais-
Ir para: