Ir para conteúdo

[Pedido] Consertar Script Urgente Agradeço


lingulas

Posts Recomendados

gif.gif quest1.bmp 1,26MB 2 Downloads

Tipo do script: Action

Protocolo (versão do Tibia): 8.60

Servidor utilizado: Styller Yurots

Nível de experiência: médio

Adicionais/Informações: Alguem que saiba me ajuda por favor dou rep+

 

Bom meu amigo passou esse script da desert quest para por no meu ot e queria que alguem que sabe mudasse pra mim:

Script:

 

 

 

local config = {

-- level needed to make the quest

level = 20,

 

-- if players should be able to do the quest unlimited amount of times (not conflicting quest rewards)

redo = {

status = true, -- true = unlimited, false = once

storageValue = 4535 -- only if status is false this will be used

},

 

-- vocation requirement, positions and item configuration

{

vocations = {1, 5},

itemId = 2175,

playerPos = {x=32677, y=32089, z=8},

newPos = {x=32671, y=32069, z=8},

itemPos = {x=32679, y=32089, z=8}

},

 

{

vocations = {2, 6},

itemId = 2674,

playerPos = {x=32669, y=32089, z=8},

newPos = {x=32672, y=32069, z=8},

itemPos = {x=32667, y=32089, z=8}

},

 

{

vocations = {3, 7},

itemId = 2455,

playerPos = {x=32673, y=32085, z=8},

newPos = {x=32671, y=32070, z=8},

itemPos = {x=32673, y=32083, z=8}

},

 

{

vocations = {4, 8},

itemId = 2376,

playerPos = {x=32673, y=32093, z=8},

newPos = {x=32672, y=32070, z=8},

itemPos = {x=32673, y=32094, z=8}

}

}

 

function onUse(cid)

local players = {}

local items = {}

for _, v in ipairs(config) do

v.playerPos.stackpos = 253

local player = getThingfromPos(v.playerPos).uid

 

if isPlayer(player) == FALSE then

return doPlayerSendCancel(cid, "There are not enough players.")

elseif getPlayerLevel(player) < config.level then

players.level = true

elseif isInArray(v.vocations, getPlayerVocation(player)) == FALSE then

players.vocation = true

elseif config.redo.status and getPlayerStorageValue(cid, config.redo.storageValue) ~= TRUE then

players.done = true

else

local item = getTileItemById(v.itemPos, v.itemid)

 

if item.uid == 0 then

players.item = true

else

table.insert(players, player)

table.insert(items, item.uid)

end

end

end

 

if players.level then

doPlayerSendCancel(cid, "All players need to be level " .. config.level .. " or above.")

elseif players.vocation then

doPlayerSendCancel(cid, "All players must stand on the correct tiles.")

elseif players.done then

doPlayerSendCancel(cid, "A player in your team has already done this quest.")

elseif players.item then

doPlayerSendCancel(cid, "All items must be on the correct positions.")

else

for k, player in ipairs(players) do

doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF)

doTeleportThing(player, config[k].newPos)

doSendMagicEffect(getCreaturePosition(player), CONST_ME_TELEPORT)

 

for _, item in ipairs(items) do

doRemoveItem(item.uid)

end

end

end

 

return TRUE

end

 

 

Mudanças:

 

 

Posições:

Kina: x:624 y:632 z:7

Sorcerer: x:620 y:636 z:7

Pally: x:616 y:632 z:7

Druid: x:620 y:628 z : 7

 

Novas Posições:

Kina: x:606 y:632 z:7

Sorcerer: x:607 y:632 z:7

Pally: x:608 y:632 z:7

Druid: x:609 y:632 z:7

 

Posição dos coal Basin:

 

Kina: x:625 y:632 z:7

Sorcerer: x:620 y:637 z:7

Pally: x:615 y:632 z:7

Druid: x:620 y:627 z:7

 

ID Dos Itens:

 

Kina: 7390 Super Sword

Sorcerer: 7410 Super Wand

Pally: 2456 Super Bow

Druid:7429 Super Rod

 

Posição da Alavanca: Pally ira puxar

x: 616 y: 631 z:7 ID:9825 yalahar lever I

 

Tag xml:

 

 

<action uniqueid="1900" script="voc_quest.lua" />

 

E como faço a action da alavanca :x???

 

preciso urgente desse script pfpfp

Anexo da sala de premios em foto !

@edit foto aqui!

quest1.bmp

Editado por ADMSMIL3R
Link para o comentário
Compartilhar em outros sites

Nossa amigo o script ta feito, em tabelas .. So falta desenhar as coisas pra saber.

Se soubesse 3% de script editaria.

 

Vocation" as vocacoes para quest.

Itemid = id do item , por exemplo 2 e druida entao o itemid seria uma maca.

Playerpos = a posicao onde o player fica

Itempos= onde o item vai ficar coordenada.

Newpos= onde serao teleportado.

 

Pronto, editou :)

Link para o comentário
Compartilhar em outros sites

Obrigado ae! vou ver se edito so uma coisa e a action da lever? precisa ou nem?

e se precisa pd passa pra mim pf

eu edito o resto aqui !

OBG

 

@EDIT editei o script ficou assim:

 

 

 

local config = {

-- Level necessario para fazer a quest

level = 20,

 

-- se os players podem fazer a quest mais de uma vez

redo = {

status = true, -- true = unlimited, false = once

storageValue = 4535 -- só usar se o status for false

},

 

-- Requerimentos de vocação, posiçoes e configuraçao dos items

{

vocations = {1, 5},

itemId = 7410,

playerPos = {x=620, y=636, z=7},

newPos = {x=607, y=632, z=7},

itemPos = {x=620, y=637, z=7}

},

 

{

vocations = {2, 6},

itemId = 7429,

playerPos = {x=620, y=628, z=7},

newPos = {x=609, y=632, z=7},

itemPos = {x=620, y=627 z=7}

},

 

{

vocations = {3, 7},

itemId = 2456,

playerPos = {x=616, y=632, z=7},

newPos = {x=608, y=632, z=7},

itemPos = {x=615, y=632, z=7}

},

 

{

vocations = {4, 8},

itemId = 2376,

playerPos = {x=624, y=632, z=7},

newPos = {x=606, y=632, z=7},

itemPos = {x=625, y=632, z=7}

}

}

 

function onUse(cid)

local players = {}

local items = {}

for _, v in ipairs(config) do

v.playerPos.stackpos = 253

local player = getThingfromPos(v.playerPos).uid

 

if isPlayer(player) == FALSE then

return doPlayerSendCancel(cid, "Sem Players Sulficientes.")

elseif getPlayerLevel(player) < config.level then

players.level = true

elseif isInArray(v.vocations, getPlayerVocation(player)) == FALSE then

players.vocation = true

elseif config.redo.status and getPlayerStorageValue(cid, config.redo.storageValue) ~= TRUE then

players.done = true

else

local item = getTileItemById(v.itemPos, v.itemid)

 

if item.uid == 0 then

players.item = true

else

table.insert(players, player)

table.insert(items, item.uid)

end

end

end

 

if players.level then

doPlayerSendCancel(cid, "Todos os players devem estar level" .. config.level .. " ou mais.")

elseif players.vocation then

doPlayerSendCancel(cid, "Todos devem se posicionar corretamente.")

elseif players.done then

doPlayerSendCancel(cid, "Um dos players ja fez a quest.")

elseif players.item then

doPlayerSendCancel(cid, "Todos os items devem estar nas posicoes corretas.")

else

for k, player in ipairs(players) do

doSendMagicEffect(getCreaturePosition(player), CONST_ME_POFF)

doTeleportThing(player, config[k].newPos)

doSendMagicEffect(getCreaturePosition(player), CONST_ME_TELEPORT)

 

for _, item in ipairs(items) do

doRemoveItem(item.uid)

end

end

end

 

return TRUE

end

 

 

 

e o q é aquele stackpos=253:S

Editado por ADMSMIL3R
Link para o comentário
Compartilhar em outros sites

desculpa a demora pra responder:

 

Esse stackpos você nem mexe...

E a alavanca, você vai no map editor entra nas propriedades, dela e poem no unique id dela

"1900", que é o numera que fica na tag.

 

<action uniqueid="1900" script="voc_quest.lua" />

 

Dai testa a quest pra ver se você arrumou tudo direitinho,



se der algum erro só falar.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...