Function:
function doCreateItemInArea(firstpos, area, tab) -- function by MatheusMkalo
for i, z in pairs(area) do
pos = {x=firstpos.x, y=firstpos.y+i-1, z=firstpos.z}
for s, x in pairs(z) do
pos.x = firstpos.x+s-1
if tab[x] or type(x) == "table" then
for l = 1, type(x) == "table" and #x or 1 do
item = doCreateItem(type(x) == "table" and (not tab[x[l]].name and tab[x[l]].itemid or getItemIdByName(tab[x[l]].name)) or (not tab[x].name and tab[x].itemid or getItemIdByName(tab[x[l]].name)), type(x) == "table" and (tab[x[l]].count == nil and 1 or tab[x[l]].count) or tab[x].count == nil and 1 or tab[x].count, pos)
doItemSetAttribute(item, "aid", type(x) == "table" and (tab[x[l]].actionid == nil and 0 or tab[x[l]].actionid) or tab[x].actionid == nil and 0 or tab[x].actionid)
end
end
end
end
return TRUE
end
Bem oque ela faz eu acho que ja da pra saber né, mas pra quem nao sabe ingles:
A funçao cria itens em uma area.
Como usar a function:
Bem pra usar eh bem simples, basta criar uma area parecida com a de uma magia e botar a posiçao do primeiro "sqm"
Uma talkaction que cria itens em volta do player:
Vou explicar mais um pouco as coisas:
Oque esta em vermelho eh a pos do primeiro sqm da area que seria o de azul:
Oque esta em rosa seria a area que no caso eh a areacreate.
Oque esta em laranja sao oque os numeros na area vao representar:
local items = {
[1] = {itemid = 2160, count = 1},
[2] = {itemid = 2160, count = 2},
[3] = {itemid = 2160, count = 3},
}
No caso dessa tabela, aonde estiver o numero 1 na area, vai criar 1 item de id 2160 aonde estiver 2, criara 2 items de id 2160, e assim por diante.
Voce nao é obrigado a colocar uma quantidade voce pode deixar somente o itemid que nao ira bugar.
Algumas propriedades a mais:
Se voce quiser criar varios items no mesmo tile voce pode, voce so precisa botar eles entre chaves assim:
local areacreate = {
{{3,2}, {1,2}, {3,1}},
{{3,1}, 0, {1,2}},
{{2,3}, {3,2}, {3,3}},
}
Voce pode trocar o itemid = 2160 por name = "Crystal Coin" que ira ir perfeitamente:
local items = {
[1] = {name = "Golden Helmet"},
[2] = {name = "Magic Plate Armor"},
[3] = {name = "Crystal Coin", count = 5},
}
local areacreate = {
{{3,2}, {1,2}, {3,1}},
{{3,1}, 0, {1,2}},
{{2,3}, {3,2}, {3,3}},
}
Voce pode botar actionids nos items assim:
local items = {
[1] = {name = "Golden Helmet"},
[2] = {name = "Magic Plate Armor", actionid = 666},
[3] = {name = "Crystal Coin", count = 5},
}
Lembre-se que todos os items 2 que forem criados terao akele actionid.
Pronto, use e abuse. Nao gaste seu rep+ comigo, so um elogio ja ta otimo.
Algumas areas e ids para brincar: