Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[Tutorial]Sistema de PK Avançado NP Master v3.0
+24
wallace123
TecoKun
Samuka_Maker
samuel6406
Tsuna-kun
Canjoo
marcosfl
God of Darkness
Uchiha_Sasuke_Eternal
Nanzin
Daniel Carvalho
Mateus Silva
BrunoFox
lollllll
Fabrizio
KuraMa
SrºJokker
iCoke~
Faabinhuu ;
Jonny
LeonM²
Felix Blayder
matheus180
KaiqueHunter
28 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 10
Página 1 de 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
[Tutorial]Sistema de PK Avançado NP Master v3.0
Sistema de PK Avançado:
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: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á 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:Funciona em outros NetPlay ?
Resposta:Funciona em todos NP baseados no NetPlay Plus 1.7
1º Passo
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.
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: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
- 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 , 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:
Iremos adicionar estas linhas:
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:
2º Passo
Iremos no Script "Event Text Display",nós vamos substituir a desde a linha 163 até a 178 por:
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:
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 .
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 .
Última edição por KaiqueHunter em Qui Jun 02, 2011 1:37 pm, editado 10 vez(es)
KaiqueHunter- Experiente
- Mensagens : 620
Créditos : 51
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
Cara belo sistema, mais uma demo seria melhor!
_________________
matheus180- Desenvolvedor
- Mensagens : 749
Créditos : 174
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
as pessoas ficão mal acostumadas com demo.... e cm tutoriais, é melhor para estudo, sou totalmente a favor deste sistema ser só por tutoriais.....
PS: vou testa-o agora pra ver c está bom o sistema, quando terminar eu edto pra falar como está.
PS: vou testa-o agora pra ver c está bom o sistema, quando terminar eu edto pra falar como está.
_________________
Se inscreva em meu Canal no YouTube:
https://www.youtube.com/localnerd
Faça uma doação para ajudar nos custos:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ
Faça uma doação para ajudar nos custos:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ
Felix Blayder- Membro de Honra
- Mensagens : 1406
Créditos : 220
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
cara muito bom mais REP e colocarei nos ADD-ONS que estou fazendo e ainda da para fazer mais cores de coisas similares a essas,
EDIT: só naum entendi muito bem a parte 4,arrancar que linha até que linha?
EDIT: só naum entendi muito bem a parte 4,arrancar que linha até que linha?
Última edição por Leon Mega Maker em Seg maio 30, 2011 6:46 pm, editado 1 vez(es)
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
Não fiz demo justamente pelo que o Felix disse,as pessoas são muito mal acustumada a tutorial e isso prejudica muito o estudo,no caso o tuturial eu explicaquei(Eu sei tá meio mal explicado) passo a passo,já a demo fica ruim.
KaiqueHunter- Experiente
- Mensagens : 620
Créditos : 51
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
se importa se eu usar nos ADD-ONS que estou fazendo?
só naum entendi muito bem a parte 4,arrancar que linha até que linha?
só naum entendi muito bem a parte 4,arrancar que linha até que linha?
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
Pode usar sim,avontade(Eu postei pra as outros pessoas usar '-')
Arranque a linha 163 e a 165(A 164 é vazia xD).
Qualquer coisa se não conseguir fazer por ser algo meio complexo poste aqui que eu ajudo.
Arranque a linha 163 e a 165(A 164 é vazia xD).
Qualquer coisa se não conseguir fazer por ser algo meio complexo poste aqui que eu ajudo.
KaiqueHunter- Experiente
- Mensagens : 620
Créditos : 51
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
boy a probar y a testiar con mis amigos
EDI : Si me funciono pero cambia el nombre del admin con el nombre del usuario normal...!!! tambien
como borro el PK pongo el variavel [10]= 0 ?????? o que ago?
EDI : Si me funciono pero cambia el nombre del admin con el nombre del usuario normal...!!! tambien
como borro el PK pongo el variavel [10]= 0 ?????? o que ago?
Última edição por Jonny D' Guetta em Seg maio 30, 2011 7:37 pm, editado 1 vez(es)
_________________
- Spoiler:
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
funciona perfeitamente mas agora to resolvendo o erro do ABS Global que da erro ao matar alguem esse erro ai eu e o Jonny vamos arrumar
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: [Tutorial]Sistema de PK Avançado NP Master v3.0
Leon Mega Maker escreveu:funciona perfeitamente mas agora to resolvendo o erro do ABS Global que da erro ao matar alguem esse erro ai eu e o Jonny vamos arrumar
lloooooooooooooooooo a arreglar isso del error ??????
_________________
- Spoiler:
Página 1 de 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 10
Permissões neste sub-fórum
Não podes responder a tópicos