SA
dúvida

Ajuda Com First Items Global Events

Por SarioYana, 10 de jun. de 2012 em Scripts

ajuda com first items
15
2.1k
SarioYanaS
10 de junho de 2012 às 15:17

e ae galera bom eu to fazendo um ot aki esse ot meu eu fiz so 2 vocaçao

e to com poblemas no first items

quando eu começo um novo char ele começa sem nada

eu andei editando o first items nao deu certo da uma olhadinha ai

 local commonItems = {
 -- ITEMS ALL VOCS RECEIVE
 {itemid=2656, count=1}, -- green tunic
 {itemid=5917, count=1}, -- bandana
 {itemid=2468, count=1}, -- studded legs
 {itemid=2238, count=1}, -- leather boots
 {itemid=2120, count=1}, -- rope
 {itemid=5710, count=1} -- shovel
}
local firstItems = {
 { -- MORTAL ITEMS
   {itemid=2182, count=1} -- snakebite wand e rod
 }
}
for _, items in ipairs(firstItems) do
 for _, item in ipairs(commonItems) do
   table.insert(items, item)
 end
end
local storage = 35353
function onLogin(cid)
    if getPlayerGroupId(cid) < 3 then
    local receivedItems = getPlayerStorageValue(cid, storage)
		    if receivedItems == -1 then
		    --[[local backpack = ]]doPlayerAddItem(cid, 1988, 1)
		    local giveItems = firstItems[getPlayerVocation(cid)]
				    if giveItems ~= nil then
				    for _, v in ipairs(giveItems) do
						    --doAddContainerItem(backpack, v.itemid, v.count or 1)
						    doPlayerAddItem(cid, v.itemid, v.count or 1)
				    end
				    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have recieved your first items!")
		    end
		    setPlayerStorageValue(cid, storage, 1)
    end
    return true
end

o que ta faltando galera??

SarioYanaS
10 de junho de 2012 às 16:11

erro no first item nem entra no account manager por causa do first items

kara so tenho 2 vocaçao no ot

gustavoMtekG
10 de junho de 2012 às 16:13

me passa os nomes da duas vocaçoes e fala se é igual mage,paly ou knight

olha o nome em data\lib\031-vocations

SarioYanaS
10 de junho de 2012 às 16:55

as duas vocaçao chama se mortal e a outro immortal

mais so 1 ta no account manager a outro é promotion da mortal

 

function isMortal(cid)
return isInArray({1, 5}, getPlayerVocation(cid))
end
function isDruid(cid)
return isInArray({2, 6}, getPlayerVocation(cid))
end
function isPaladin(cid)
return isInArray({3, 7}, getPlayerVocation(cid))
end
function isKnight(cid)
return isInArray({4, 8}, getPlayerVocation(cid))
end
function isRookie(cid)
return isInArray({0}, getPlayerVocation(cid))
end

LeoxtibiaL
10 de junho de 2012 às 17:02

Você gostaria que os first items pudessem ser obtidos em um baú ou só serve se for ao logar?

SarioYanaS
10 de junho de 2012 às 17:24

n quero first items mesm

LeoxtibiaL
10 de junho de 2012 às 17:26

Eu sei kk, mas os firstitems poderiam ser pegos em um baú, ao depender da vocação. Manda ai o id das suas vocações. Veja no vocations.xml

SarioYanaS
10 de junho de 2012 às 18:08

é o seguinte meu ot so tem 1 vocaçao

quando cria a conta o account manage vc so pode escolhe a vocaçao mortal

e a vocaçao immortal é promotion da mortal

faz ai um script entao do bau com os seguintes id de items

2182

2652

2238

5917

so isso é so pra uma vocaçao

o id da vocaçao é 1

LeoxtibiaL
10 de junho de 2012 às 18:21

Ok, por baú:

Crie um arquivo.lua em actions>scripts e cole isso dentro:

function onUse(cid, item, frompos, item2, topos)
voc = getPlayerVocation(cid)
queststatus = getPlayerStorageValue(cid,2453)

if voc == 1 then
if queststatus == -1 then
doPlayerAddItem(cid,2182,1)
doPlayerAddItem(cid,2652,1)
doPlayerAddItem(cid,2238,1)
doPlayerAddItem(cid,5917,1)
setPlayerStorageValue(cid,2453,1)
else
doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.")
end
return 1
end
end

 

Em actions.xml você coloca essa tag:

<action uniqueid="XXXX" script="nomedoseuarquivo.lua"/>

 

Em XXXX você coloca o uid que você colocou no baú.

 

Se você quiser que o player ganhe o item ao logar, crie um arquivo.lua em creaturescripts>scripts e cole isto dentro:

 

function onLogin(cid)
if getPlayerStorageValue(cid, 2357) == -1 then
local bag = doPlayerAddItem(cid, 2003, 1)
setPlayerStorageValue(cid,2357)
doAddContainerItem(bag, 2182, 1)
doAddContainerItem(bag, 2652, 1)
doAddContainerItem(bag, 2238, 1)
doAddContainerItem(bag, 5917, 1)
end
return TRUE
end

 

Em creature.xml adicione a tag:

<event type="login" name="First" event="script" value="nomedoseuarquivo.lua"/>

 

Vlw aí, abraço!

Editado Junho 10 por Leoxtibia

SarioYanaS
10 de junho de 2012 às 19:13

vlw vc kara so n do rep agora pq cabo meus pontos positivos mais amanhan te do sem falta

 

kara ta bugada essa quest

ela em vez de dar esses items ai que eu te falei

ela da arcane staff e soul orb

darkalvaroD
10 de junho de 2012 às 19:43

Vei faz o seguinte vai em data/creaturescripts/scripts e em firstitem cola:

local firstItems = {}

firstItems[0] =

{

}

firstItems[1] =

{

2461,

2649,

2643,

2183,

2512

}

firstItems[2] =

{

2461,

2649,

2643,

2183,

2512

}

 

function onLogin(cid)

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

for i = 1, table.maxn(firstItems[getPlayerVocation(cid)]) do

doPlayerAddItem(cid, firstItems[getPlayerVocation(cid)], 1)

end

if getPlayerSex(cid) == 0 then

doPlayerAddItem(cid, 4847, 1)

else

doPlayerAddItem(cid, 2467, 1)

end

local bag = doPlayerAddItem(cid, 1987, 1)

doAddContainerItem(bag, 2148, 50)

setPlayerStorageValue(cid, 30001, 1)

end

return TRUE

end

 

Legenda:

 

Em vermelho é o id dos itens que serão adicionados quando você criar o character.

 

Em azul é o id da vocação (mostrarei abaixo como achar o id da vocão).

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

 

Para ver o id da vocação é só ir em data/xml/vocations.xml e vai ter uma parte assim:

<vocation id="1"

 

Pronto só isso, se ajudei REP+ rules.gif

Editado Junho 11 por darkalvaro

LeoxtibiaL
10 de junho de 2012 às 19:52

Você tem que mudar nessa linha:

doPlayerAddItem(cid,2182,1)

 

Explicando: Em vermelho é o id do item e em verde a quantidade. Se você quiser colocar mais itens, adicione mais linhas e confira se os itens que você quer, tá igual aos ids que eu coloquei, se não, é só você trocar.

Editado Junho 10 por Leoxtibia

SarioYanaS
10 de junho de 2012 às 20:26

vlw kara ja consegui sozinho aki

peguei um quest maker que eu tenho aki e fiz

mais vlw pela tentativa

darkalvaroD
11 de junho de 2012 às 10:33

Reportado, solução sanada...

VildenV
11 de junho de 2012 às 10:50

Dúvida sanada, movido.

darkalvaro, você não reportou, cuidado com o flood.