sexta-feira, 19 de março de 2010

Criando porta que só abre com key (chave)

1º vá em seuOT/data/actions/scripts (copie qualquer arquivo, cole-o e renomeie para chave.xml) e cole isto dentro:

~~

[--- Porta Temporizada by otserv.mundotibiabr.com ---]
function onUse(cid, item, frompos, item2, topos)

-------- Pausa --------

local pausa = 10000 -------- Cordenadas --------

local door = {x=410, y=387, z=7, stackpos=1}
local ddoor = getThingfromPos(door)

-------- ITEM --------

local open_door = 5136

local itemU = 24000

local verify = 0 --- NÃO MEXA AQUI

-------- PRIMEIRO SISTEMA --------


if item2.uid == itemU then
if ddoor.itemid ~= verify then
doTransformItem(ddoor.uid,open_door)
addEvent(close,pausa,door)
end
else
doPlayerSendCancel(cid,"This key can not be used here")
end
return 1
end

function close(door)
-------- ITEM --------

local to_close_door = 5135

------- SEGUNDO SISTEMA --------

local the_close_door = getThingfromPos(door)
doTransformItem(the_close_door.uid,to_close_door)
end
~~

depois vá em seu OT/data/actions/actions.xml e adicione esta TAG:



Explicação:
PINK (ID DA CHAVE QUE SERA USADA)

Você pode usar outra chave se quiser

Vermelho Tempo que a porta ficara aberta EX: 1000 = 1 segundo (aqui no caso seria 10 segundos, entao ta 10000.
Azul ID da porta aberta que voce ira usar.
Roxo ID da porta fechada que voce irá usar
Verde Coordenadas X, Y & Z do local que a porta que sera aberta com a chave ficará.
Cinza Unique ID que sera usado na Porta

O tutorial original esta assim, mas você vai seguir o tutorial, e na hora que terminar, vai notar que a porta vai poder ser aberta com ou sem a chave. Eu bolei um geito bobo, mas útil de resolver.

Faça o seguinte: pelo map editor, vá nas propriedades da porta que quer que seja aberta apenas pela chave e coloque um Action ID qualquer, não importa se você vai lembrar ou não, a função dele é apenas impedir que a porta seja aberta. Mas o Unique ID faz permitir que a chave a abra.

Imagem


Você também não consiguirá fechar a porta, mas isto não é um problema, pois o script permite apenas que ela fique aberta por um certo período de tempo...

Imagem

Imagem

Usando a chave...

Imagem

Mudando os itens e o level inicial dos novos jogadores

Hoje irei mostrar como melhorar os players, pois depois da versão 8.31, os mesmos nascem level 1, com club atk: 7, def: 7 e jacket arm: 1, com uma bag e uma maça dentro dela. Identico tibia Global.

1º PASSO;
Abra seu config.lua e procure por algo parecido com isso:
-- Account Manager
accountManager = "yes"
newPlayerChooseVoc = "yes"
newPlayerSpawnPosX = 160
newPlayerSpawnPosY = 54
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 1
newPlayerMagicLevel = 0

generateAccountNumber = "no"
----------------------------------

newPlayerLevel = 1
newPlayerMagicLevel = 0

Em cima seria o level do iniciante, aqui você já escolherá se os players nasceram level 1,2,3,4....
Em baixo é o magic level que o fulano vai nascer.
Agora salve e feche.
---
2º PASSO;
Vá até data\creaturescripts e abra o creaturescripts.xml.
Procure por:

Se não tiver essa linha, adicione.
Salve, feche.
---
Abra agora data\creaturescripts\scripts, depois la dentro, abra firstitems.lua;
Apague tudo, e cole isso:

local commonItems =
{
2480, -- Legion helmet
2465, -- Brass Armor
2529, -- Black Shield
2478, -- Brass Legs
2642 -- Sandals
}
local containerItems =
{
2120, -- Rope
}

function onLogin(cid)
if getPlayerStorageValue(cid, 30001) == -1 then

if isSorcerer(cid) then
-- Wand of Vortex
doPlayerAddItem(cid, 2190, 1)

elseif isDruid(cid) then
-- Snakebite Rod
doPlayerAddItem(cid, 2182, 1)

elseif isPaladin(cid) then
-- Spears
doPlayerAddItem(cid, 2389, 4)

elseif isKnight(cid) then
-- Katana
doPlayerAddItem(cid, 2412, 1)
end

for i = 1, table.maxn(commonItems) do
doPlayerAddItem(cid, commonItems[i], 1)
end
-- Backpack
local bag = doPlayerAddItem(cid, 2001, 1)
for i = 1, table.maxn(containerItems) do
doAddContainerItem(bag, containerItems[i], 1)
end
setPlayerStorageValue(cid, 30001, 1)
end
return TRUE
end
---------------------------------------------------
Editando~


2480, -- Legion helmet
2465, -- Brass Armor
2529, -- Black Shield
2478, -- Brass Legs
2642 -- Sandals

Aqui o player está nascendo com esses equipamentos, caso queira mudar, mude os IDs.

{
2120, -- Rope
}

Aqui o player vai nascer com uma rope na backpack, se quiser adicionar um item na backpack, faça o seguinte.
Vamos supor que queira que o player nasce com 10k junto á rope.

{
2120, -- Rope
2160 -- 10K
}

E aqui;

doAddContainerItem(bag, containerItems[i], 1)
end

Acrescentar a linha dos 10k, ficando assim;

doAddContainerItem(bag, containerItems[i], 1)
doAddContainerItem(bag, containerItems[i], 2)
end

---

if isSorcerer(cid) then
-- Wand of Vortex
doPlayerAddItem(cid, 2190, 1)

elseif isDruid(cid) then
-- Snakebite Rod
doPlayerAddItem(cid, 2182, 1)

elseif isPaladin(cid) then
-- Spears
doPlayerAddItem(cid, 2389, 4)

elseif isKnight(cid) then
-- Katana
doPlayerAddItem(cid, 2412, 1)
end

Aqui você pode perceber que ao fazer Knight o player nasce com uma Katana (2412), Druid com Snakebite Rod (2182), Sorcerer com Wand of Vortex (2190) e Paladin com 4 Spears (2389, 4).
Mude á seu gosto, trocando os IDs.
---

-- Backpack
local bag = doPlayerAddItem(cid, 2001, 1)

O 2001 é o ID da purple backpack, mude para backpack á seu gosto, mas lembre-se aqui você muda para uma backpack ou bag, apenas.
---

Pronto! Salve e feche o firstitems.lua, faça um novo personagem e teste a mudança.

sexta-feira, 12 de março de 2010

Novo visual

Fala galera!

Depois de um bom tempo sem atualizar o blog estamos de volta e com visual novo :}

Apesar de o blog não ser muito atualizado nosso fórum é atualizado diariamente.

Vamos ver se agora me animo e volto a postar aqui :P