Ir para conteúdo
  • Cadastre-se

Normal Arma com ataque especial e Crossbow sem bolt


Posts Recomendados

Boa noite pessoal do TibiaKing!!!

Feliz natal a todos!!! :DD

Povo.. hoje eu preciso de três scripts..

 

1- Preciso de um script para que ao clicar com o botão direito na arma ela irá mudar para outra arma com um dano mais forte, vai dar 5 hits e vai voltar para a arma anterior.. (isso com exaust para o povo não ficar clicando direto pra ela só ficar com o modo "especial")

Ou seja cliquei na arma, ela virou outra mais forte.. dei 5 hits e ela voltou ao normal.. quando eu clicar nela de novo irei ter que esperar um tempinho. 

 

2- Preciso de um script de um crossbow que não precise de bolt.. Ao bater nos bichos ele vai dar o dano normal de um crossbow (de acordo com o skill do jogador) + o dano parecido com o do poison só que de "HOLY".

 

3- Preciso de um crossbow que ataque os bichos que estiverem perto do bicho que eu clicar.. Por exemplo ao clicar em um bicho ele irá focar os que estão ao redor dele também. Tipo um crossbow que dá tiros em monstros que estão na area do alvo (se puder por no script a area que ele vai focar eu agradeço) <3 tipo.. "area 6x6, 3x3 etc..

 

Obrigado por sempre estarem me ajudando!!

Muito obrigado mesmo! <3 

Link para o post
Compartilhar em outros sites
6 minutos atrás, Weslley Kiyo disse:

Olá!

Todos os 3 são fáceis, porém, preciso que você informe a versão do seu servidor / distro :)

 

versão 0.4.1 eu acho 

Link para o post
Compartilhar em outros sites
31 minutos atrás, Weslley Kiyo disse:

 

8.60, 9.x, 10x?? 

8.6

Link para o post
Compartilhar em outros sites

Script 1

function onUse(cid, item, item2, topos, frompos) 
local config = {
    time = 59,       -- Tempo em minutos para usar novamente
    level = 2,      -- Level minimo para dar USE 
    storage = 42007, -- Storagevalue do tempo para usar novamente
	item1 = 0000,	--arma que precisa dar use
	item2 = 0000,	--arma que vai se transformar
    efeito = 28      -- Efeito que vai fazer qndo a quest for feita
} 

    if getPlayerLevel(cid) <= config.level then 
        return doPlayerSendCancel(cid, "You do not have enough level to use this.") 
    end

    if getPlayerStorageValue(cid, config.storage) > os.time() then 
	local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60))
	local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s")
       return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") 
    end

    pos = getThingPos(cid) 
    if getPlayerItem(cid, item1) >= 1 then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You changed weapon.")
      	doPlayerRemoveItem(cid, item1, 1)
        doSendMagicEffect(pos, config.efeito)
        setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time())
        doPlayerAddItem(cid, item2, 1)
     else
     	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You no have this item.") 
   return true
     end
end

TAG em action.xml

<action actionid="ID_DO_ITEM" event="script" value="LOCAL_DO_ARQUIVO.lua"/>

 

Agora vai em items.xml, lá na Tag do item que você quer q ele se transforme e adicione as seguintes tags nele:

<attribute key="decayTo" value="XXXXX"/>
<attribute key="duration" value="300"/>

DecayTO = XXXX (id do item que ele irá voltar após certo tempo

duration = duração em segundos

 

fazendo isso, é a melhor maneira para não dar erros.

 

 

--------------------------------------------------------------------------------------------------------------------

Script 2

 

Em items.xml vai na tag do crossbow, remove tudo, deixando apenas o nome e o peso do mesmo e adiciona isso:

		<attribute key="weaponType" value="distance"/>
		<attribute key="attack" value="72"/>
		<attribute key="maxHitChance" value="91"/>
		<attribute key="slotType" value="two-handed"/>
		<attribute key="shootType" value="holy"/>
		<attribute key="range" value="7"/>

Bem, algumas versões 860 não possui type: Holy ou nenhuma outra que seja parecida.

Caso acuse algum erro primeiramente troque o ShootType, pode ser death ou earth por exemplo, faça o teste.

 

 

--------------------------------------------------------------------------------------------------------------------

Script 3

 

Em data/weapons/scripts crie um arquivo .lua e adicione:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end

 

Configure

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

os 2 primeiros 1, 0 = ml

os 2 ultimos 1, 0 = level

 

vai configurando e testando até achar que ficou bom a jogabilidade de seu servidor.

 

Agora em weapon.xml procure pelo ID do crossbow que você vai usar e altere apenas o local

de:

value="default">

para o local do arquivo EXEMPLO:

value="xxxx.lua">

 

Editado por Weslley Kiyo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
6 horas atrás, Weslley Kiyo disse:

Script 1


function onUse(cid, item, item2, topos, frompos) 
local config = {
    time = 59,       -- Tempo em minutos para usar novamente
    level = 2,      -- Level minimo para dar USE 
    storage = 42007, -- Storagevalue do tempo para usar novamente
	item1 = 0000,	--arma que precisa dar use
	item2 = 0000,	--arma que vai se transformar
    efeito = 28      -- Efeito que vai fazer qndo a quest for feita
} 

    if getPlayerLevel(cid) <= config.level then 
        return doPlayerSendCancel(cid, "You do not have enough level to use this.") 
    end

    if getPlayerStorageValue(cid, config.storage) > os.time() then 
	local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60))
	local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s")
       return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") 
    end

    pos = getThingPos(cid) 
    if getPlayerItem(cid, item1) >= 1 then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You changed weapon.")
      	doPlayerRemoveItem(cid, item1, 1)
        doSendMagicEffect(pos, config.efeito)
        setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time())
        doPlayerAddItem(cid, item2, 1)
     else
     	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You no have this item.") 
   return true
     end
end

TAG em action.xml


<action actionid="ID_DO_ITEM" event="script" value="LOCAL_DO_ARQUIVO.lua"/>

 

Agora vai em items.xml, lá na Tag do item que você quer q ele se transforme e adicione as seguintes tags nele:


<attribute key="decayTo" value="XXXXX"/>
<attribute key="duration" value="300"/>

DecayTO = XXXX (id do item que ele irá voltar após certo tempo

duration = duração em segundos

 

fazendo isso, é a melhor maneira para não dar erros.

 

 

--------------------------------------------------------------------------------------------------------------------

Script 2

 

Em items.xml vai na tag do crossbow, remove tudo, deixando apenas o nome e o peso do mesmo e adiciona isso:


		<attribute key="weaponType" value="distance"/>
		<attribute key="attack" value="72"/>
		<attribute key="maxHitChance" value="91"/>
		<attribute key="slotType" value="two-handed"/>
		<attribute key="shootType" value="holy"/>
		<attribute key="range" value="7"/>

Bem, algumas versões 860 não possui type: Holy ou nenhuma outra que seja parecida.

Caso acuse algum erro primeiramente troque o ShootType, pode ser death ou earth por exemplo, faça o teste.

 

 

--------------------------------------------------------------------------------------------------------------------

Script 3

 

Em data/weapons/scripts crie um arquivo .lua e adicione:


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
setCombatArea(combat, area)

function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end

 

Configure

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

os 2 primeiros 1, 0 = ml

os 2 ultimos 1, 0 = level

 

vai configurando e testando até achar que ficou bom a jogabilidade de seu servidor.

 

Agora em weapon.xml procure pelo ID do crossbow que você vai usar e altere apenas o local

de:


value="default">

para o local do arquivo EXEMPLO:


value="xxxx.lua">

 

 

 

 

Pow.. botei tudo no servidor, dai ele fica alguns segundos on e depois fecha sozinho..

O primeiro script não funcionou, o segundo chegou a funcionar mas ele não deixa o poison de Holy ;-; e o terceiro ele ataca normalmente mas só ataca o bicho que eu mirei pra ele atacar..

Link para o post
Compartilhar em outros sites

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo