Ir para conteúdo

Player Iniciar Com Item De Acordo Com A Vocação


successor

Posts Recomendados

Bom dia a todos;

 

seguinte,

 

meu otserv sempre dá ao player 1 item quando ele inicia no jogo:

 

para quem quiser, aí está o meu firstitems.xml (Note que os players recebem os mesmos itens neste):

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="First Items" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">

 

<config name="firstitems_config">

<![CDATA[ config = {

storage = 30001,

items = {2120, 1987, 1988, 2376, 2580, 2564, 2529}

}

]]>

</config>

<event type="login" name="FirstItems" event="script">

<![CDATA[

 

domodlib('firstitems_config')

 

function onLogin(cid)

 

if(getPlayerStorageValue(cid, config.storage) > 0) then

return true

end

 

for _, id in ipairs(config.items) do

doPlayerAddItem(cid, id, 1)

end

 

if(getPlayerSex(cid) == PLAYERSEX_FEMALE) then

doPlayerAddItem(cid, 2550, 1)

doPlayerAddItem(cid, 2147, 6)

doPlayerAddItem(cid, 2152, 100)

doPlayerAddItem(cid, 7886, 1)

else

doPlayerAddItem(cid, 2550, 1)

doPlayerAddItem(cid, 2147, 6)

doPlayerAddItem(cid, 2152, 100)

doPlayerAddItem(cid, 7886, 1)

end

 

setPlayerStorageValue(cid, config.storage, 1)

return true

end

]]></event>

</mod>

 

Mas eu queria que quando o playes escolhesse sua vocação (ele escolhe via site), o sistema desse algo específico de cada vocation, tipo: vocation 1 = item 2210, vocation 2 = item 2211, vocation 3 = item 2213.

 

arrumei esse código, alguém pode ajudar?

 

local firstItems = {}

firstItems[0] =

{

2173,

2525,

3965,

2124,

2457,

2647,

2643

}

firstItems[1] =

{

2173,

2525,

2190,

2124,

2457,

2647,

2643

}

firstItems[2] =

{

2173,

2525,

2182,

2124,

2457,

2647,

2643

}

firstItems[3] =

{

2173,

2525,

2389,

2124,

2457,

2647,

2643

}

firstItems[4] =

{

2173,

2525,

2428,

2124,

2457,

2647,

2643

}

 

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, 2463, 1)

else

doPlayerAddItem(cid, 2463, 1)

end

local bag = doPlayerAddItem(cid, 10521, 1)

doAddContainerItem(bag, 2160, 2)

doAddContainerItem(bag, 2554, 1)

doAddContainerItem(bag, 2120, 1)

doAddContainerItem(bag, 7618, 1)

setPlayerStorageValue(cid, 30001, 1)

end

return TRUE

end

 

Gostaria apenas de fazer com que cada vocation desse um item diferente ao player no inicio do game.

 

Aí manolos, resolvi meu problem.

 

Aí está o script para quem quiser...

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="First Items" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">

<config name="firstitems_config"><![CDATA[

config = {

storage = 30001,

items = {2120, 1987, 1988, 2376, 2580, 2564, 2529}

}

]]></config>

<event type="login" name="FirstItems" event="script"><![CDATA[

domodlib('firstitems_config')

 

function onLogin(cid)

if(getPlayerStorageValue(cid, config.storage) > 0) then

return true

end

 

 

for _, id in ipairs(config.items) do

doPlayerAddItem(cid, id, 1)

end

 

if (getPlayerVocation(cid) == 1) then

doPlayerAddItem(cid, 2550, 1)

doPlayerAddItem(cid, 2147, 6)

doPlayerAddItem(cid, 2152, 100)

doPlayerAddItem(cid, 7886, 1)

elseif (getPlayerVocation(cid) == 2) then

doPlayerAddItem(cid, 2550, 1)

doPlayerAddItem(cid, 2147, 6)

doPlayerAddItem(cid, 2152, 100)

doPlayerAddItem(cid, 7887, 1)

elseif (getPlayerVocation(cid) == 3) then

doPlayerAddItem(cid, 2550, 1)

doPlayerAddItem(cid, 2147, 6)

doPlayerAddItem(cid, 2152, 100)

doPlayerAddItem(cid, 7888, 1)

end

 

setPlayerStorageValue(cid, config.storage, 1)

return true

end

]]></event>

</mod>

 

Link para o comentário
Compartilhar em outros sites

local commonItems = {

-- ITEMS ALL VOCS RECEIVE

{itemid=2120, count=1}, -- rope

{itemid=5710, count=1}, -- shovel

{itemid=2420, count=1}, -- machete

{itemid=2789, count=100}, -- brown mushrooms

{itemid=2305, count=1}, -- fire bomb rune

{itemid=2261, count=1}, -- destroy field rune

}

 

local firstItems = {

{ -- SORC ITEMS

{itemid=2323, count=1}, -- hat of the mad

{itemid=8871, count=1}, -- focus cape

{itemid=7730, count=1}, -- blue legs

{itemid=2195, count=1}, -- boots of haste

{itemid=8902, count=1}, -- spellbook of mind control

{itemid=2187, count=1}, -- wand of inferno

 

{itemid=2268, count=1}, -- sd

{itemid=2273, count=1}, -- uh

{itemid=7590, count=1}, -- gmp

{itemid=2293, count=1}, -- mw

},

{ -- DRUID ITEMS

{itemid=2323, count=1}, -- hat of the mad

{itemid=8871, count=1}, -- focus cape

{itemid=7730, count=1}, -- blue legs

{itemid=2195, count=1}, -- boots of haste

{itemid=8902, count=1}, -- spellbook of mind control

{itemid=2183, count=1}, -- hailstorm rod

 

{itemid=2268, count=1}, -- sd

{itemid=2273, count=1}, -- uh

{itemid=7590, count=1}, -- gmp

{itemid=2293, count=1}, -- mw

{itemid=2269, count=1}, -- wg

{itemid=2278, count=1}, -- para

},

{ -- PALADIN ITEMS

{itemid=2493, count=1}, -- demon helmet

{itemid=8891, count=1}, -- paladin armor

{itemid=7730, count=1}, -- blue legs

{itemid=2195, count=1}, -- boots of haste

{itemid=2514, count=1}, -- mastermind shield

{itemid=7368, count=10}, -- assassin stars

 

{itemid=2268, count=1}, -- sd

{itemid=2273, count=1}, -- uh

{itemid=8472, count=1}, -- gsp

{itemid=7589, count=1}, -- smp

{itemid=7588, count=1}, -- shp

{itemid=2293, count=1}, -- mw

},

{ -- KNIGHT ITEMS

{itemid=2493, count=1}, -- demon helmet

{itemid=2472, count=1}, -- magic plate armor

{itemid=2470, count=1}, -- golden legs

{itemid=2195, count=1}, -- boots of haste

{itemid=2514, count=1}, -- mastermind shield

{itemid=2400, count=1}, -- magic sword

{itemid=2431, count=1}, -- Stonecutter Axe

 

{itemid=7620, count=1}, -- mp

{itemid=7591, count=1}, -- ghp

{itemid=8473, count=1}, -- uhp

{itemid=2313, count=1}, -- explosion

{itemid=2293, count=1}, -- mw

}

}

 

for _, items in ipairs(firstItems) do

for _, item in ipairs(commonItems) do

table.insert(items, item)

end

end

 

function onLogin(cid)

if getPlayerGroupId(cid) < 2 then

local hasReceivedFirstItems = getPlayerStorageValue(cid, 67708)

 

if hasReceivedFirstItems == -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 equipment")

setPlayerStorageValue(cid, 67708, 1)

end

end

end

return TRUE

end

 

Tente usar este é bem facil configurar :)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...