Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
LM² - Party
+4
Kies
Valentine
Soubi92
LeonM²
8 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Netplays :: Scripts para netplays
Página 1 de 2
Página 1 de 2 • 1, 2
LM² - Party
LM² - Party 1.0:
Fiz este sistema a pedidos na fábrica, e para retirar mais um trabalho das costas do Val, ele possui menu de interação para membros da Party, e EXP Share.
Já aviso que o sistema não está em sua versão final, ainda falta alguns detalhes que eu gostaria de adicionar, como mudar a cor do nome para os membros da mesma party, chat exclusivo para party, e para quem usa meu minimapa, alterar a cor dos membros da party, não fiz isto ainda, mas farei quando estiver com mais disposição
Screen:
Fiz este sistema a pedidos na fábrica, e para retirar mais um trabalho das costas do Val, ele possui menu de interação para membros da Party, e EXP Share.
Já aviso que o sistema não está em sua versão final, ainda falta alguns detalhes que eu gostaria de adicionar, como mudar a cor do nome para os membros da mesma party, chat exclusivo para party, e para quem usa meu minimapa, alterar a cor dos membros da party, não fiz isto ainda, mas farei quando estiver com mais disposição
Screen:
- Screen:
Clique aqui para acessar o álbum de imagens
Tutorial Básico:
Coloque as imagens do link abaixo na pasta Pictures
Agora iremos para o Servidor, está é a parte mais complexa do tutorial.
Pronto, agora seu script está instalado, para convidar o jogador para um grupo basta usar o menu de interação.
O próprio sistema de party possui um menu de interação, no qual o jogador pode mandar pm e trade para os membros da party, e o líder da party, o primeiro a convidar alguem, possui a interação de retirar jogador da party, se o lider se retirar da party ela desbanda, e o jogador possui o poder de se retirar da party.
Configurações:
Dentro do arquivo Settings do server, você pode configurar o máximo de membros, e a porcentagem de compartilhamento de EXP, no caso por padrão está configurado para cada membro receber 50% da EXP real de um mob.
O número máximo de membros deve ser o mesmo no Settings do Servidor e no módulo do Script do Cliente.
Links:
Imagens
Creditos:
A mim por criar, ao Soreto pela ajuda com o estudo do Servidor e Lua, ao Valentine por auxilio.
Qualquer erro deverá ser reportado. Qualquer duvida leiam minha assinatura.
Coloque as imagens do link abaixo na pasta Pictures
- Cliente:
- Tutorial Cliente:
Primeiramente insiram um novo script com o código rmxp do link abaixo.
Código RMXP
Agora vem a parte complexa.
Vão no script [NM] Network, abaixo de:- Código:
PACKET_ADMIN_COMMAND = '<39>'
Coloque:- Código:
PACKET_PARTY_MEMBER = '<52>'
PACKET_PARTY_INFO = '<53>'
Vão no script [NM] Wnidow_Choice, adicionem no def yes acima do end acima de on_close:- Código:
when 2 # LM² - Party
$network.party_member(1,"#{@index}")
No mesmo script acima de on_close do def no:- Código:
$network.party_member(2, "#{@index}") if @type == 2
Vá ao script [NM] Window_Interaction, troque o 71 de super(0, 0, 91, 71) por 92 e abaixo de @trade_button adicione:- Código:
@party_button = Button.new(self, 16, 63, LMM_Party::PARTY, 59) { call_party}
No mesmo script antes do ultimo end adicione:- Código:
def call_party
if $party_manager.members.size == (LMM_Party::MAX_MEMBERS - 1)
$windows[:chat].write(LMM_Party::FULL, 5)
on_close
return
elsif $party_manager.members.has_key?(@index.to_s)
$windows[:chat].write("#{$party_manager.members[@index.to_s].name} "+LMM_Party::ALREADY, 5)
on_close
return
end
$network.party_member(0,"#{@index};#{$game_party.actors[0].name}")
on_close
end
Procure por:- Código:
$game_trade = Game_Trade.new
Abaixo Adicione- Código:
$party_manager = Party_Manager.new
Vá no script [NM] Scene_Map, no def update_windows antes do end, adicione:- Código:
$party_manager.update
Procure por:- Código:
when PACKET_ADMIN_COMMAND; handle_admin_command(data)
Abaixo adicione- Código:
when PACKET_PARTY_MEMBER; handle_party_member(data)
when PACKET_PARTY_INFO; handle_party_info(data)
Agora iremos para o Servidor, está é a parte mais complexa do tutorial.
- Servidor:
- Tutorial Servidor :
Primeiramente copie o código lua do link Código Lua, com o código copiado, abra o arquivo handledata.lua da pasta Scripts, e adicione esse código no final, com esse arquivo aberto, abaixo de:- Código:
elseif header == PACKETVARIABLE then self:handlevariable(index, player, data)
Adicione:- Código:
elseif header == PACKETPARTYMEMBER then self:handlepartymember(index, player, data)
Abra o arquivo constants.lua e e adicione no final:- Código:
PACKETPARTYMEMBER = '<52>'
PACKETPARTYINFO = '<53>'
Vá no arquivo event.lua e procure por:- Código:
Server.players[self.target]:gainexp(Server.enemies[self.enemyid].exp)
Retire este código e no lugar dele adicione:- Código:
if #Server.players[self.target].pmembers ~= 0 then
local exp = Server.enemies[self.enemyid].exp * PXPSHARE / 100
exp = math.floor(exp)
if exp < 1 then exp = 1 end
for i = 1, #Server.players[self.target].pmembers do
local k = Server.players[self.target].pmembers[i]
Server.players[k]:gainexp(exp)
end
Server.players[self.target]:gainexp(exp)
else
Server.players[self.target]:gainexp(Server.enemies[self.enemyid].exp)
end
Abra o arquivo tcpserver, e antes de:- Código:
self.players[index] = nil
Adicione antes:- Código:
if #self.players[index].pmembers ~= 0 then
if self.players[index].pleaderid == index then
for i = 1, #self.players[index].pmembers do
local k = self.players[index].pmembers[i]
local tempdata = StringBuilder()
tempdata:write(4)
tempdata:write(self.players[index].name)
self.players[k].pmembers = {}
self.players[k].pleaderid = 0
self:sendtoplayer(k, PACKETPARTYMEMBER, tempdata:tostring(';'))
end
self.players[index].pmembers = {}
self.players[index].pleaderid = 0
else
for i = 1, #self.players[index].pmembers do
local k = self.players[index].pmembers[i]
table.remove(self.players[k].pmembers,removevalue(self.players[k].pmembers,index))
if #self.players[k].pmembers == 0 then
self.players[k].pleaderid = 0
self.players[k].pmembers = {}
end
local tempdata = StringBuilder()
tempdata:write(3)
tempdata:write(2)
tempdata:write(index)
tempdata:write(self.players[index].name)
self:sendtoplayer(k, PACKETPARTYMEMBER, tempdata:tostring(';'))
end
end
end
Abra o arquivo player.lua, procure por:- Código:
self.mytradearmors = {}
Abaixo coloque:- Código:
self.pleaderid = 0
self.pmembers = {}
No mesmo arquivo procure por:- Código:
Server:sendtoplayer(self.index, PACKETACTOREXP, exp)
Acima adicione:- Código:
if #self.pmembers ~= 0 then
for i = 1, #self.pmembers do
local k = self.pmembers[i]
local tempdata = StringBuilder()
tempdata:write(0)
tempdata:write(self.index)
tempdata:write(self.level)
tempdata:write(self.maxhp)
tempdata:write(self.maxsp)
Server:sendtoplayer(k, PACKETPARTYINFO, tempdata:tostring(';'))
end
end
No mesmo arquivo procure por:- Código:
Server:sendactorvitals(self)
Abaixo adicione- Código:
if #self.pmembers ~= 0 then
for i = 1, #self.pmembers do
local k = self.pmembers[i]
local tempdata = StringBuilder()
tempdata:write(1)
tempdata:write(self.index)
tempdata:write(self.hp)
tempdata:write(self.sp)
Server:sendtoplayer(k, PACKETPARTYINFO, tempdata:tostring(';'))
end
end
Abra o arquivo Settings.txt, no final dele adicione- Código:
-- LM² - Party
MAXPARTYMEMBERS = 5
PXPSHARE = 50
Pronto, agora seu script está instalado, para convidar o jogador para um grupo basta usar o menu de interação.
O próprio sistema de party possui um menu de interação, no qual o jogador pode mandar pm e trade para os membros da party, e o líder da party, o primeiro a convidar alguem, possui a interação de retirar jogador da party, se o lider se retirar da party ela desbanda, e o jogador possui o poder de se retirar da party.
Configurações:
Dentro do arquivo Settings do server, você pode configurar o máximo de membros, e a porcentagem de compartilhamento de EXP, no caso por padrão está configurado para cada membro receber 50% da EXP real de um mob.
O número máximo de membros deve ser o mesmo no Settings do Servidor e no módulo do Script do Cliente.
Links:
Imagens
Creditos:
A mim por criar, ao Soreto pela ajuda com o estudo do Servidor e Lua, ao Valentine por auxilio.
Qualquer erro deverá ser reportado. Qualquer duvida leiam minha assinatura.
Última edição por LeonMM em Dom Set 03, 2017 11:57 pm, editado 3 vez(es)
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: LM² - Party
Olá,
Perfect and very nice Script. +1 amigo.
~Soubi92
Perfect and very nice Script. +1 amigo.
~Soubi92
Soubi92- Iniciante
- Mensagens : 36
Créditos : 5
Re: LM² - Party
Gostando de ver o seu trabalho, continue assim
Kies- Diva
- Mensagens : 1155
Créditos : 124
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: LM² - Party
Qualquer erro deverá ser reportado. Qualquer duvida leiam minha assinatura.
Erro #1:
When Fight with a Enemy:
Erro #2:
When Click on a other Player and send him a Group Invite the other Player gets not a Invite Message?
Everything made as in the manual
Server Start -> Group Invite -> Not Message to Accept?
NetMaker Version 1.0.2
~ Soubi92
Soubi92- Iniciante
- Mensagens : 36
Créditos : 5
Re: LM² - Party
- Spoiler:
- Soubi92 escreveu:Qualquer erro deverá ser reportado. Qualquer duvida leiam minha assinatura.
Erro #1:
When Fight with a Enemy:
Erro #2:
When Click on a other Player and send him a Group Invite the other Player gets not a Invite Message?
Everything made as in the manual
Server Start -> Group Invite -> Not Message to Accept?
NetMaker Version 1.0.2
~ Soubi92
LeonMM#9597
---
Tópico atualizado, correção de código na parte do Servidor, por favor revisem.
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: LM² - Party
Tópico atualizado, estava faltando informações.
Tutorial do cliente foi adicionado a informação que faltava.
Tutorial do servidor foi arrumado um código que estava em sua versão antiga, o código lua que vai no handledata, e o código do players.
Peço perdão pelo vacilo, é um tópico grande é complicado ver se não esta faltando informações, e meu mouse bugado não da para selecionar direito, eu posso ter colocado e ter deletado acidentalmente e nem vi.
Novamente tinha código faltando então deletei minha mensagem e postei novamente, desculpem o transtorno, tópico grande, script com muitas modificações, e eu só dormi umas 10 horas esse final de semana, to caindo de sono desde as 18 hrs hj .-.
Agradeço a Soubi por ficar horas no suporte pra me ajudar a achar os códigos faltando no tópico
Tutorial do cliente foi adicionado a informação que faltava.
Tutorial do servidor foi arrumado um código que estava em sua versão antiga, o código lua que vai no handledata, e o código do players.
Peço perdão pelo vacilo, é um tópico grande é complicado ver se não esta faltando informações, e meu mouse bugado não da para selecionar direito, eu posso ter colocado e ter deletado acidentalmente e nem vi.
Novamente tinha código faltando então deletei minha mensagem e postei novamente, desculpem o transtorno, tópico grande, script com muitas modificações, e eu só dormi umas 10 horas esse final de semana, to caindo de sono desde as 18 hrs hj .-.
Agradeço a Soubi por ficar horas no suporte pra me ajudar a achar os códigos faltando no tópico
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: LM² - Party
i'm idiot or i don't know understand this tutorial lol !
EDIT : I have rewritten manual line 52 and 53 with other codigo bugs and it's works but i have this error now.
EDIT : I have rewritten manual line 52 and 53 with other codigo bugs and it's works but i have this error now.
XFallSeane- Iniciante
- Mensagens : 37
Créditos : 3
Re: LM² - Party
- Spoiler:
- XFallSeane escreveu:i'm idiot or i don't know understand this tutorial lol !
EDIT : I have rewritten manual line 52 and 53 with other codigo bugs and it's works but i have this error now.
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: LM² - Party
i have add you on discord
_________________
Discover my projects
Nightmare | IntersectCMS Unleashed | Libreplay | My Portofolio | My Github | Intersect Connect
Nightmare | IntersectCMS Unleashed | Libreplay | My Portofolio | My Github | Intersect Connect
XFallSeane- Iniciante
- Mensagens : 37
Créditos : 3
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Indicador de party
» [Pedido] Party - 4.9
» Não atacar membro da party
» party color system
» Teleport mission party
» [Pedido] Party - 4.9
» Não atacar membro da party
» party color system
» Teleport mission party
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Netplays :: Scripts para netplays
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos