Ir para conteúdo
  • Cadastre-se

(Resolvido)Sistem de Open Pvp Player "nao funciona"


Ir para solução Resolvido por KotZletY,

Posts Recomendados

voce configurou no login.lua? vc tem que registrar lá

O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites

@Influencia o sistema é para servidores 0.4 protocolo 8.60. Por isso não funcionou.

 

Hoje ou amanhã converto para sua versão! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
7 minutos atrás, KotZletY disse:

@Influencia o sistema é para servidores 0.4 protocolo 8.60. Por isso não funcionou.

 

Hoje ou amanhã converto para sua versão! 

Ae! Amém alguém pra me dar uma força, rs. Me ajudando, caso queira, te beneficio com algumas Tibia Coins no meu server. Estou quase lançando!

3 horas atrás, ZikaLord disse:

voce configurou no login.lua? vc tem que registrar lá

Meu conhecimento é meio limitado, pois sou maper. Qual tag em específico eu tenho de adicionar no Login.lua? E onde ela esta, em creaturescript mesmo?

Link para o post
Compartilhar em outros sites

@Influencia script da talkactions:

Spoiler

local msg = "Agora seu sistema PvP está %s."
local _table = {
["on"] = {"ativado", 1},
["off"] = {"desativado", 0}
}

function onSay(player, words, param)
if not (player:getSkull() == SKULL_WHITE or player:getSkull() == SKULL_RED or player:getSkull() == SKULL_BLACK) then
 if _table[param:lower()] then
  local mode = _table[param:lower()]
  player:setStorageValue(91821, mode[2])
  player:sendTextMessage(MESSAGE_EVENT_ORANGE, msg:format(mode[1]))
 end
else
 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Você não pode usar o comando para desativar o pvp, pois você está Pk, espere seu pk sair.")
end 
	return false
end

 

 

tag xml da talkactions:

 

<talkaction words="!pvp" separator=" " script="NomeDoArquivo.lua" />

 

agora vai em data/events/scripts e abra o arquivo creature.lua, procure por:

function Creature:onTargetCombat(target)

em baixo adicione o seguinte script:

if self:isPlayer() and target:isPlayer() then
 if self:getStorageValue(91821) <= 0 or target:getStorageValue(91821) <= 0 then
  return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
 end
end

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, KotZletY disse:

@Influencia script da talkactions:

  Mostrar conteúdo oculto


local msg = "Agora seu sistema PvP está %s."
local _table = {
["on"] = {"ativado", 1},
["off"] = {"desativado", 0}
}

function onSay(player, words, param)
if not (player:getSkull() == SKULL_WHITE or player:getSkull() == SKULL_RED or player:getSkull() == SKULL_BLACK) then
 if _table[param:lower()] then
  local mode = _table[param:lower()]
  player:setStorageValue(91821, mode[2])
  player:sendTextMessage(MESSAGE_EVENT_ORANGE, msg:format(mode[1]))
 end
else
 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Você não pode usar o comando para desativar o pvp, pois você está Pk, espere seu pk sair.")
end 
	return false
end

 

 

tag xml da talkactions:

 


<talkaction words="!pvp" separator=" " script="NomeDoArquivo.lua" />

 

agora vai em data/events/scripts e abra o arquivo creature.lua, procure por:


function Creature:onTargetCombat(target)

em baixo adicione o seguinte script:


if self:isPlayer() and target:isPlayer() then
 if self:getStorageValue(91821) <= 0 or target:getStorageValue(91821) <= 0 then
  return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
 end
end

 

 

 

O erro ainda permanece:

ss.thumb.png.99b836d3c405a6637bd50d8c7b1986d3.png

 

Como era:

3.thumb.png.546f6d51bcac69a413a84a81834cbf5d.png

 

Como foi adicionado:

2.thumb.png.bd7f5eb5d2f0b6c4e5f0a89a71510c6e.png

 

Mesmo deixando entre os dois, o erro ainda permanece:

2.thumb.png.8659ca60e7c749df9d7755cb6ff90409.png

 

Editado por Influencia (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Influencia erro vem da tentativa de chamar o evento combat, porém nas versões atuais foram retirada já que temos os events que é bem melhor.

 

Retira o creaturescript da versão 0.4, afinal só é necessário o que eu falei na resposta anterior.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

Confesso que não entendi ao certo o que tenho que fazer... faz 6 anos que não mexo com otserver, voltei há 5 dias, estou meio perdido com as novidades. Poderia especificar melhor como faço para remover? O que foi adicionado fica então?

Link para o post
Compartilhar em outros sites

@Influencia apaga os que você adicionou anteriormente, e adiciona o que postei.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

Qeuria tira uma duvida pode deixa asim

jogado vai ter duas escolha /pvp ativo ( ele pode matar e morrer para outros jogadore com pvp ativo)

/pvp desativado ( ele nao pode mata nem morrer para nehum dois jogadores com /pvp ativo ou /pvp desativado)

mas essa escolha nao pode mas volta atras precisa te lvl para escolher um do dois ex quando jogado chegar lvl  level 10  ele vai receber uma notificação ja pode te sua escolha   !pvp ativo ou !pvp desativado

 

 

se pode fazer isso alguem pode min arrumar para min  8.60,tfs 0.4

Link para o post
Compartilhar em outros sites
  • 3 years later...
Em 14/08/2017 em 00:08, KotZletY disse:

@ZikaLord 


local msg = "Agora seu sistema PvP está %s."
function onSay(cid, words, param)
local _table = {
    ["on"] = {"ativado", 1},
    ["off"] = {"desativado", 0},
}
    if _table[param:lower()] then
        local mode = _table[param:lower()]
        setPlayerStorageValue(cid, 91821, mode[2])
        doPlayerSendTextMessage(cid, 27, "Seu pvp foi "..msg:format(mode[1]))
    end
    return true
end

 

e a tag xml deve estar assim:


<talkaction words="!pvp" event="script" value="pvpon.lua"/>

E então quando ele falar !pvp ae ele deve adicionar o param que é checado no script: !pvp on irá ativar e !pvp off irá desativar.

 

 

creaturescripts:

  Ocultar conteúdo


function onCombat(cid, target)
    if isPlayer(target) and isPlayer(cid) then
     if getPlayerStorageValue(cid, 91821) <= 0 then
      doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o falando !pvp on.")
      return false
     elseif getPlayerStorageValue(target, 91821) <= 0 then
      doPlayerSendCancel(cid, "Seu target, está com o pvp desativado, ele precisa ativar para você poder ataca-lo.")
      return false
     end
	end
   return true
end

 
function onLogin(cid)
 registerCreatureEvent(cid, "PvPCombat")
 setPlayerStorageValue(cid, 91821, 1)
 return true
end

 

 

Tags creaturescripts.xml:


<event type="combat" name="PvPCombat" event="script" value="pvp.lua"/>
<event type="login" name="PvPLogin" event="script" value="pvp.lua"/> 

 

tem 1 erro, se a pessoa tive pk e der !pvp off ela fica pvp off, da pro cara usar qndo tive morrendo

Link para o post
Compartilhar em outros sites
  • 1 year later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo