aew galera, queria um sistema que fosse assim:
eu fasso uma quest ai ganho um item e ele vai direto pra ca

tem como fazer isso?
obs o item eu botei imobili não tem problema ne?
aew galera, queria um sistema que fosse assim:
eu fasso uma quest ai ganho um item e ele vai direto pra ca

tem como fazer isso?
obs o item eu botei imobili não tem problema ne?
Teste assim:
local storage = 1445 -- storage utilizada
local premio = 2688 -- item que o player vai ganhar
local msg = "Você achou um item!"
function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, storage) >= 0 then
return doPlayerSendCancel(cid, "O baú está vazio.")
end
if getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid > 0 then
return doPlayerSendCancel(cid, "Tire o item que está no slot de munição.")
end
local addedItems, playerWeight = {}, getPlayerFreeCap(cid)
for slot = 1, 10 do
local i = getPlayerSlotItem(cid, slot)
if i.uid > 0 then playerWeight = playerWeight + getItemWeight(i.uid) end
end
local a = doPlayerAddItem(cid, premio, 1, false)
table.insert(addedItems, a)
if not addedItems[1] then
return doPlayerSendCancel(cid, "Você não tem capacidade para carregar o item!")
end
if getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == addedItems[1] then
setPlayerStorageValue(cid, storage, 1)
doPlayerSendTextMessage(cid, 22, msg)
return true
end
doPlayerSetMaxCapacity(cid, 999999)
for tries = 2, 10 do
local a = doPlayerAddItem(cid, premio, 1, false)
table.insert(addedItems, a)
if getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == addedItems[tries] then
setPlayerStorageValue(cid, storage, 1)
doPlayerSendTextMessage(cid, 22, msg)
doPlayerSetMaxCapacity(cid, playerWeight)
for _, removeId in pairs (addedItems) do
if _ ~= tries then doRemoveItem(removeId) end
end
return true
end
end
for _, removeId in pairs (addedItems) do
if _ ~= tries then doRemoveItem(removeId) end
end
return true
end

aew brun teria como por assim, por esse script é pra poketibia, ai era bom por pra se o player tentar por outro item la não vai dar vai dizer um msg assim "voce não pode bota nen um outro item aki alem daa bike" e tbm ao fazer a queste vai remover um X item dele e teleportado pro cp, ai se o player tentar fazer de novo a quest o item vai ser removido novamente da bp dele e ele é teleportado de novo pro cp com a seguinte msg " voce ja fez essa quest" valendo 2rep+
brun tem como vc min ajuda estou precisando muito desse script
brun
quando tento fazer a quest da esse erro
[16/09/2012 20:33:12] [Error - Action Interface]
[16/09/2012 20:33:12] data/actions/scripts/quests/bike quest.lua:onUse
[16/09/2012 20:33:12] Description:
[16/09/2012 20:33:12] data/actions/scripts/quests/bike quest.lua:7: attempt to compare number with string
[16/09/2012 20:33:12] stack traceback:
[16/09/2012 20:33:12] data/actions/scripts/quests/bike quest.lua:7: in function <data/actions/scripts/quests/bike quest.lua:5>
Muda essa linha no script:
if getPlayerStorageValue(cid, 1445) >= 0 then
por essa:
if getPlayerStorageValue(cid, storage) >= 0 then
e muda a configuração la em cima "storage" para uma storage que o seu server não esteja usando
sobre essa script de não permitir que players coloquem o item no local da bike, só com as sources do server

e a questao do teleport quando o player fazer a quest
e quando ele tentar fazer de novo ele ser teleportado novamente ?
pra teleporta quando o player faz a quest eu usei esse
local storage = 14495 -- storage utilizada
local premio = 2688 -- item que o player vai ganhar
local msg = "Você achou um item!"
local pos = {x=1050, y=1050, z=6}
ta certo assim?
so n sei por pra quando o player tenta fazer novamente
isso, só escrever essa linha "local pos = ..." e embaixo de function onUse, escreva isso:
doTeleportThing(cid, pos)

intao o script vai ficar assim:
local storage = 14495 -- storage utilizada
local premio = 2688 -- item que o player vai ganhar
local msg = "Você achou um item!"
local pos = {x=1050, y=1050, z=6}
function onUse(cid, item, frompos, item2, topos)
doTeleportThing(cid, pos)
certo?
intao o script vai ficar assim:
local storage = 14495 -- storage utilizada
local premio = 2688 -- item que o player vai ganhar
local msg = "Você achou um item!"
local pos = {x=1050, y=1050, z=6}
function onUse(cid, item, frompos, item2, topos)
doTeleportThing(cid, pos)
certo?
Está, porém tem variáveis a mais que não usou.
Me segui lá (:
testei aki e fucionou certinho =]
BRUN AMANHA TE DOU REP XD