Ir para conteúdo

viimalagogin

Campones
  • Total de itens

    24
  • Registro em

  • Última visita

Tudo que viimalagogin postou

  1. @Dragon Ball Hiper Nao deu nenhum erro na distro. Sim já tenho a account 10/xhajfhei Vou tentar desativando os scripts do cast que estao no: Talkactions, creaturescript e globalevents Nao funciounou amigo @Dragon Ball Hiper
  2. @Crypter eu vou testar logo menos e já vejo se funciona. Mas só pela sua disponibilidade e atenção ao caso já garanto seu rep+. Muito obrigado. Testarei em breve. Infelizmente não funcionou esses comandos, na hora de recompilar os arquivos Sources. Dava erro Alguem tem mais alguma solução??
  3. @Crypter O channel do cast é simplesmente o Private Chat Channel do player. O ID era aquele que eu mencionei no começo. Sim, existe a função de abrir channel nas sources. Tanto que eu uso pra abrir o Trade quando o player loga. Então funciona. Porem não sei como fazer pro player abrir o private chat channel (ID: 65535). Se conseguir dar alguma luz, ja me ajuda bastante!
  4. É o mesmo que vc me passou de início, eu que tinha mexido nele, por isso tinha bugado. Esta idêntico agora e funciona. Muito obrigado mesmo.
  5. Olá, galera do xTibia. Estou com umas sources de OTX que funciona certinho o Cast System com site e tudo mais! Único BUG que estou tendo é que quando o player lança o comando: /cast on - ele não abre o channel de conversas (Private Chat Channel) com os Spectadores. Ja tentei usar o seguinte comando abaixo e, mesmo assim não funciona. doPlayerOpenChannel(cid, 65535) Alguem consegue dar uma luz pelo menos, dando qualquer dica já é válida pra como solucionar o erro! QUALQUER TIPO DE AJUDA, REP+!!!! Obrigado
  6. @Dragon Ball Hiper Nao precisa mais nao, ja foi resolvido. Mto obrigado
  7. @Dragon Ball Hiper conseguiu saber oq pode ser que buga?
  8. Ainda não deu amigo, substitui e ainda da o mesmo erro. Tem mais alguma opinião ai do que pode ser? Isso é o que acontece quando tento adicionar outro item na lista: [Error - TalkAction Interface]local cid = 268446042local words = "!autoloot"local param = "add, dragon scale mail"local channel = 65534domodlib('Loot_func')local t = string.explode(string.lower(param), ",")if info.OnlyPremium == true and not isPremium(cid) thendoPlayerSendCancel(cid, "you must be a premium account.") return trueelseif not t[1] thenShowItemsTabble(cid) return trueelseif tonumber(t[1]) or tonumber(t[2]) thendoPlayerSendCancel(cid, "enter!autoloot add,name or !autoloot remove,name") return trueelseif isInArray({"add","remove"}, tostring(t[1])) thenlocal func,check = tostring(t[1]) == "add" and addItemTable or removeItemTable, tostring(t[1]) == "add" and true or falselocal item = ExistItemByName(tostring(t[2]))if not item thendoPlayerSendCancel(cid, "This item does not exist.") return trueendlocal itemlist = getItemIdByName(tostring(t[2]))if check == true and isInArray(info.BlockItemsList, itemlist) thendoPlayerSendCancel(cid, "You can not add this item in the list!") return trueelseif isInTable(cid, itemlist) == check thendoPlayerSendCancel(cid, "This Item "..(check == true and "already" or "is not").." in your list.") return trueendfunc(cid, itemlist)doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,check == true and "you added the item "..t[2].." in the list" or "you removed the item "..t[2].." from the list") return trueendreturn trueDescription:[string "info = {..."]:11: attempt to concatenate local 'x' (a table value) Vou explicar melhor o problema: Quando eu pego um char que nunca executou o comando, ele funciona normal, ele abre a lista sem ter adicionado nenhum item. Porem, apos eu adicionar qualquer item, ele passa a recolher o mesmo, mas buga, não consigo mais abrir a lista de items e nem remove-lo. Ai fica dando estes erros na distro.
  9. Esta dando este erro na distro pra ser mais específico: Description:data/lib/100-shortcut.lua:260: attempt to index a boolean value Nao tem nenhuma outra talkaction relacionada ao autoloot no servidor, apenas essa do script adicionada :s
  10. @Dragon Ball Hiper Ele funfou meio bugado. Eu consigo adicionar o item pra recolher, porem depois eu nao consigo abrir mais a janela pra ver a lista de items e nem remover. Usei os seguintes comandos: !autoloot ---- !autoloot add, worms ----- !autoloot remove, worms
  11. Olá galera. Eu queria um script de anuncio de mortes que quando o player MORRE pra mais de 1 pessoa, mostrasse TODOS que o atacaram! Assim também com os monsters! Eu tenho um que, mesmo 10 PLAYERS atacando 1 Player, só mostra no default aquele que deu o último hit. Segue abaixo o script usado: QUALQUER TIPO DE AJUDA, EU DOU REP+!!!! OBRIGADO A TODOS! -- Coded by Zoom..local info, win, lose = "Death Channel: %s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos apos derrotar o player %s.", "%s acabou de impedir que %s fizesse uma sequencia de %s frags seguidos."local frags, storage = {10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045function onDeath(cid, corpse, deathList, lastHitKiller, mostDamageKiller) if(not isPlayer(cid)) then return true end local target = deathList[1] doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_ORANGE, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_MANAGEMENT, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_GAMEMASTER_CHANNEL, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return trueend
  12. Olá pessoal, eu tenho esse script de autoloot no meu servidor e ele funciona POR PARTES. • Funciona apenas recolhimento dos Golds, Mais Slots para players premium ou não. • Não funciona o recolhimento dos items, qualquer que seja o item, ele manda mensagem falando que não existe. "THIS ITEM DOES NOT EXIST" Gostaria que ele recolhesse todos os items normalmente! Eu uso esse script MODS abaixo: <?xml version="1.0" encoding="ISO-8859-1"?><mod name="Loot System" version="1.0" author="Vodkart And Mkalo" contact="none.com" enabled="yes"><config name="Loot_func"><![CDATA[info = { AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {2123,2515}, Max_Slots = {free = 2, premium = 5}, Storages = {27000,28001,28002}}function setPlayerStorageTable(cid, storage, tab) local tabstr = "&" for i,x in pairs(tab) do tabstr = tabstr .. i .. "," .. x .. ";" end setPlayerStorageValue(cid, storage, tabstr:sub(1, #tabstr-1))endfunction getPlayerStorageTable(cid, storage) local tabstr = getPlayerStorageValue(cid, storage) local tab = {} if type(tabstr) ~= "string" then return {} end if tabstr:sub(1,1) ~= "&" then return {} end local tabstr = tabstr:sub(2, #tabstr) local a = string.explode(tabstr, ";") for i,x in pairs(a) do local b = string.explode(x, ",") tab[tonumber(b[1]) or b[1]] = tonumber(b[2]) or b[2] end return tabendfunction isInTable(cid, item) for _,i in pairs(getPlayerStorageTable(cid, info.Storages[1]))do if tonumber(i) == tonumber(item) then return true end end return falseendfunction addItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do table.insert(x,getPlayerStorageTable(cid, info.Storages[1])[i]) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, info.Storages[1], x) else setPlayerStorageTable(cid, info.Storages[1], {item}) endendfunction removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do table.insert(x,getPlayerStorageTable(cid, info.Storages[1])[i]) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, info.Storages[1], x)endfunction ShowItemsTabble(cid) local n,str = 0,"[+] Auto Loot Commands [+]\n\n!autoloot item name --> To add ou Remove item from list.\n!autoloot money --> To collect gold automatically.\n!autoloot clear --> To clear the list.\n!autoloot on/off --> To enable or disable the collecting of items in the system.\n\n[+] Auto Loot Info [+]\n\nSystem: "..(getPlayerStorageValue(cid, info.Storages[3]) <= 0 and "Activated" or "Disabled")..".\nGold Collecting: "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "Disabled")..".\nBalance Total: ["..getPlayerBalance(cid).."] gp's.\nMaximum Slots: ["..#getPlayerStorageTable(cid, info.Storages[1]).."/"..(isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free).."]\n\n[+] Auto Loot Slots [+]\n\n" for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do n = n + 1 str = str.."Slot "..n.." - "..getItemNameById(getPlayerStorageTable(cid, info.Storages[1])[i]).."\n" end return doPlayerPopupFYI(cid, str)endfunction getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return itemsendfunction getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return itemsendfunction doPlayerAddItemStacking(cid, itemid, amount) -- revisado local item, _G = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid), 0 if #item > 0 then for _ ,x in pairs(item) do local ret = getThing(x) if ret.type < 100 then doTransformItem(ret.uid, itemid, ret.type+amount) if ret.type+amount > 100 then doPlayerAddItem(cid, itemid, ret.type+amount-100) end break else _G = _G+1 end end if _G == #item then doPlayerAddItem(cid, itemid, amount) end else return doPlayerAddItem(cid, itemid, amount) endendfunction AutomaticDeposit(cid,item,n) local deposit = item == tonumber(2160) and (n*10000) or tonumber(item) == 2152 and (n*100) or (n*1) return doPlayerDepositMoney(cid, deposit)endfunction corpseRetireItems(cid, pos) local check = false for i = 0, 255 do pos.stackpos = i tile = getTileThingByPos(pos) if tile.uid > 0 and isCorpse(tile.uid) then check = true break end end if check == true then local items = getContainerItems(tile.uid) for i,x in pairs(items) do if isInArray(getPlayerStorageTable(cid, info.Storages[1]), tonumber(x.itemid)) or getPlayerStorageValue(cid, info.Storages[2]) > 0 and isInArray({2148,2152,2160},tonumber(x.itemid)) then if isItemStackable(x.itemid) then doPlayerAddItemStacking(cid, x.itemid, x.type) if info.AutomaticDeposit == true and isInArray({2148,2152,2160}, tonumber(x.itemid)) then AutomaticDeposit(cid,x.itemid,x.type) end else doPlayerAddItem(cid, x.itemid) end doRemoveItem(x.uid) end end endend]]></config><event type="login" name="LootLogin" event="script"><![CDATA[function onLogin(cid) registerCreatureEvent(cid, "LootEventKIll") if isPremium(cid) and getPlayerStorageValue(cid, 27001) <= 0 then setPlayerStorageValue(cid, 27001, 1) elseif getPlayerStorageValue(cid, 27001) > 0 and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Auto Loot] You premium is Over, Start a new list!") setPlayerStorageValue(cid, 27001, -1) setPlayerStorageValue(cid, info.Storages[1], -1) end return trueend]]></event><event type="kill" name="LootEventKIll" event="script"><![CDATA[domodlib('Loot_func')function onKill(cid, target, lastHit) if isPlayer(cid) and getPlayerStorageValue(cid, info.Storages[3]) <= 0 and isMonster(target) and not isInArray(info.BlockMonsters, getCreatureName(target):lower()) then addEvent(corpseRetireItems, 0, cid ,getThingPos(target)) end return trueend]]></event><talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[domodlib('Loot_func')local param, slots = param:lower(), isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.freeif not param or param == "" then ShowItemsTabble(cid) return trueelseif tonumber(param) then doPlayerSendCancel(cid, "enter commands: !autoloot item name [+] !autoloot clean [+] !autoloot money [+] !autoloot on/off") return trueelseif isInArray({"clean","limpar", "clear"}, param) then setPlayerStorageValue(cid, info.Storages[1], -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Your list has been cleaned.") return trueelseif isInArray({"start","stop","on","off"}, param) then setPlayerStorageValue(cid, info.Storages[3], getPlayerStorageValue(cid, info.Storages[3]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] "..(getPlayerStorageValue(cid, info.Storages[3]) > 0 and "Stopped" or "Started")..".") return trueelseif isInArray({"money","gold","gps","dinheiro"}, param) then setPlayerStorageValue(cid, info.Storages[2], getPlayerStorageValue(cid, info.Storages[2]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Gold Colleting "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "disabled")..".") return trueendlocal item = getItemIdByName(param, false)if not item then doPlayerSendCancel(cid, "This item does not exist.") return trueendlocal var = isInTable(cid, item)if isInArray({2148,2152,2160},item) then doPlayerSendCancel(cid, "Enter !autoloot money to add money in your list!") return true elseif isInArray(info.BlockItemsList, item) then doPlayerSendCancel(cid, "You can not add this item in the list!") return trueelseif not var and #getPlayerStorageTable(cid, info.Storages[1]) >= slots then doPlayerSendCancel(cid, "max "..slots.." from auto loot") return trueendif not var then addItemTable(cid, item)else removeItemTable(cid, item)enddoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,not var and "you added the item "..param.." in the list" or "you removed the item "..param.." from the list")return true]]></talkaction></mod> QUALQUER TIPO DE AJUDA, OU SOLUÇÃO EU DOU +REP!!! OBRIGADO!!!
  13. Então amigo, eu fiz desse jeito, mas toda vez que da 18:00 ele da um erro no distro. (luaDoCreatureExecuteTalkAction) Creature not found <globalevent name="castlewar" time="18:00" event="script" value="castlewarglobal.lua"/> function onTime() local value = 0 for a, cid in ipairs(getOnlinePlayers()) dolocal value = 1 if value >= 1 then doCreatureExecuteTalkAction(cid, "/castle start", true) return trueendend return trueend
  14. Olá galera. Teria como eu executar uma talkaction "/Castle Start" por uma globalevent numa determinada hora do dia "18:00" sem a presença do god online???? Ajudem, +rep pra qualquer tipo de dicas!!!! Obrigado
  15. Quando eu abro alguma coisa do tipo: backpack, bag, corpo, dp (QUALQUER COISA) e ando a 2 sqm longe do item, a janela da bp ainda permanece aberta!! Isso acontece até com player normal. Os slot ficam congelados la. Ta ai um exemplo nas imagens: ABRINDO A BP AO LADO DELA (NORMALMENTE): APOS ANDAR 2 SQM LONGE DELA (PERMANECENDO ABERTA): . E nao sei como arrumar isso. Me ajudem dando dicas, sugestões, qualquer coisa, opiniões POR FAVOR!! Já me ajuda a procura o problema, OBRIGADO!!!! +REP
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...