Auto loot system traduzido para o potugues

XkluivertX
em Actions e Talkactions

XkluivertX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/03/13Posts: 24

Ola galera tava sem fazer nada ai meu amigo pergunto se dava pra traduzir alguns scripts para portugues ai eu falei da sim ai ele me mando o auto loot system ai traduzir e resolvi postar aqui pra todos.

 

 

1:Va em Data/Talkactions/Scripts e crie um aquivo lua com nome de "aloot" e ponho isso dentro.

 

 

local stor, limit = 7575, 5 --storage, limit to add.

 

local allow_container = false --empty! not looted with items, atleast for now.

 

function onSay(cid, words, param)

local expl = param:explode(':')

local action, rst = expl[1], expl[2]

if (action:lower() == 'check') then

local infos, list = getPlayerStorageValue(cid, stor), {}

if (infos ~= -1) then

list = tostring(infos):explode(',')

end

local txt = 'Autoloot List:\n'

if (#list > 0) then

for k, id in ipairs(list) do

id = id:gsub('_', '')

if tonumber(id) then

txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '')

end

end

else

txt = 'Empty'

end

doPlayerPopupFYI(cid, txt)

elseif (action:lower() == 'add') then

local infos, list = getPlayerStorageValue(cid, stor), {}

if (infos ~= -1) then

list = tostring(infos):gsub('_', ''):explode(',')

end

if (#list >= limit) then

return doPlayerSendCancel(cid, 'Você já tem ' .. limit .. ' autolooting itens.')

end

local item = tonumber(rst)

if not item then

item = getItemIdByName(rst, false)

if not item then

return doPlayerSendCancel(cid, 'Esse item nao existe.')

end

end

if not allow_container and isItemContainer(item) then

return doPlayerSendCancel(cid, 'Este item não pode se adicionado no autoloot lista.')

end

local attrs = getItemInfo(item)

if not attrs then

return doPlayerSendCancel(cid, 'Esse item nao existe.')

elseif not attrs.movable or not attrs.pickupable then

return doPlayerSendCancel(cid, 'Este item não pode se adicionado no autoloot lista.')

end

if isInArray(list, item) then

return doPlayerSendCancel(cid, 'Ja foi adicionado.')

end

table.insert(list, tostring(item))

local new = ''

for v, id in ipairs(list) do

new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '')

end

doPlayerSetStorageValue(cid, stor, tostring(new))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< Foi adicionado à lista autoloot.')

elseif (action:lower() == 'remove') then

local infos, list = getPlayerStorageValue(cid, stor), {}

if (infos ~= -1) then

list = tostring(infos):gsub('_', ''):explode(',')

end

if (#list == 0) then

return doPlayerSendCancel(cid, 'Você não tem nenhum item adicionado.')

end

local item = tonumber(rst)

if not item then

item = getItemIdByName(rst, false)

if not item then

return doPlayerSendCancel(cid, 'Este item não existi.')

end

end

if not isInArray(list, item) then

return doPlayerSendCancel(cid, 'Este item não está na lista.')

end

local new = ''

for v, id in ipairs(list) do

if (tonumber(id) ~= item) then

new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '')

end

end

doPlayerSetStorageValue(cid, stor, tostring(new))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< Removido da lista autoloot.')

end

return true

end

 

 

 

2: Va em Data/Talkactions e bote la na parte do playrs isso.

 

 

<talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/>

 

 

 

Ei galera desculpa esqueci de por a parte de creaturescripts.

 

3: Va em Data/Creaturescripts/Scripts fala um arquivo lua com nome de aloot e ponha isso la dentro.

 

 

function onLogin(cid)

registerCreatureEvent(cid, "aloot_kill")

return true

end

 

local stor = 7575

 

function autoloot(cid, target, pos)

local function doStack(cid, itemid, new)

local count = getPlayerItemCount(cid, itemid)

if (count > 100) then

count = count - math.floor(count / 100) * 100

end

local newCount = count + new

if (count ~= 0) then

local find = getPlayerItemById(cid, true, itemid, count).uid

if (find > 0) then

doRemoveItem(find)

else

newCount = new

end

end

local item = doCreateItemEx(itemid, newCount)

doPlayerAddItemEx(cid, item, true)

end

 

local function scanContainer(cid, uid, list)

for k = (getContainerSize(uid) - 1), 0, -1 do

local tmp = getContainerItem(uid, k)

if (isInArray(list, tmp.itemid)) then

if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then

doStack(cid, tmp.itemid, tmp.type)

else

local item = doCreateItemEx(tmp.itemid, tmp.type)

doPlayerAddItemEx(cid, item, true)

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.')

doRemoveItem(tmp.uid)

elseif isContainer(tmp.uid) then

scanContainer(cid, tmp.uid, list)

end

end

end

 

local items = {}

for i = getTileInfo(pos).items, 1, -1 do

pos.stackpos = i

table.insert(items, getThingFromPos(pos))

end

 

if (#items == 0) then

return

end

 

local corpse = -1

for _, item in ipairs(items) do

local name = getItemName(item.uid):lower()

if name:find(target:lower()) then

corpse = item.uid

break

end

end

 

if (corpse ~= -1) and isContainer(corpse) then

scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(','))

end

end

 

function onKill(cid, target, lastHit)

if not isPlayer(target) then

local infos = getPlayerStorageValue(cid, stor)

if (infos == -1) then

return true

end

local list = tostring(infos):explode(',')

if (#list == 0) then

return true

end

addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target))

end

return true

end

 

 

 

 

4: Va em creaturescripts.xml e ponha o seguinte tag:

 

 

 

<event type="login" name="aloot_reg" event="script" value="aloot.lua"/>

 

<event type="kill" name="aloot_kill" event="script" value="aloot.lua"/>

 

 

 

 

 

Se gostarem rep+button_ok.png

XkluivertX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/03/13Posts: 24

Presisa de ajuda pra traduzir algo amas so me chamar se eu não tiver ocupado jaé. ok!

XkluivertX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/03/13Posts: 24

Hehehehehehehh ^^^^

Vinc

The white fox
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/11Posts: 625Gênero: Masculino

cara esse script tem um erro bem explicito.

melhor arruma isso.

^w^

XkluivertX

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/03/13Posts: 24

Se me puder fala o erro agradeço.

Tredfg

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/08/13Posts: 77

bug no aloot