-
BUG BLESS + BUG AUTOLOOT AJUDA !!!!
@Gnius Bom Dia ! Meu querido, testei o script que você me enviou, está com erro ainda Quando uso o comando !autoloot aparece esse erro na distro e não aparece nada no GAME. E quando uso o comando !autoloot add, aparece esse erro na Distro e nada no GAME.
-
AJUDEM SYSTEM !!!! BLESS + AUTOLOOT
@Enzo Caue Sim, mas eu quero que o Free_Account use apenas 2 Slots, enquanto o Premium_Account use 5 Slots.
-
BUG BLESS + BUG AUTOLOOT AJUDA !!!!
Boa tarde, Venho encarecidamente pedir ajuda de alguém que possa dispor de um tempo para resolver esse problema! Tenho outro tópico, porém ninguém se quer da uma luz, corrigindo, apenas uma pessoa tentou ajudar, sou grato por isto. Distro: The SoftCores Version: (1.0.X.S - 4) - Codename: (LORD ZEDD). Servidor; OldServBR do Mitsug versão 7.6 Esse é o único script que funciona no meu servidor, mas, está com o seguinte problema. Somente Premium Account, está podendo usufruir, gostaria que Free Account também pudesse usar, porém, com um limite reduzido, por ex., adicionar somente 1 item, enquanto Premium Account possa adicionar 5 items. Nesse script também está sendo possível adicionar uma quantidade de items na lista absurdo, deixando de modo infinito (pessoa adiciona items sem fim), gostaria que fica-se como citado acima; Segue o script 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 = { OnlyPremium = true, AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {2123,2515} } 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)) end function 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 tab end function ExistItemByName(name) -- by vodka local items = io.open("data/items/items.xml", "r"):read("*all") local get = items:match('name="' .. name ..'"') if get == nil or get == "" then return false end return true end function isInTable(cid, item) for _,i in pairs(getPlayerStorageTable(cid, 27000))do if tonumber(i) == tonumber(item) then return true end end return false end function addItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, 27000, x) else setPlayerStorageTable(cid, 27000, {item}) end end function removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, 27000, x) end function ShowItemsTabble(cid) local str,n = "-- My Loot List --\n\n",0 for i = 1,#getPlayerStorageTable(cid, 27000) do n = n + 1 str = str..""..n.." - "..getItemNameById(getPlayerStorageTable(cid, 27000)[i]).."\n" end return doShowTextDialog(cid, 2366, str) end function 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 items end function 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 items end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function 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) end function 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, 27000), 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 end end ]]></config> <event type="login" name="LootLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "MonsterAttack") return true end]]></event> <event type="death" name="LootEventDeath" event="script"><![CDATA[ domodlib('Loot_func') function onDeath(cid, corpse, deathList) local killer,pos = deathList[1],getCreaturePosition(cid) addEvent(corpseRetireItems,1,killer,pos) return true end]]></event> <event type="combat" name="MonsterAttack" event="script"><![CDATA[ domodlib('Loot_func') if isPlayer(cid) and isMonster(target) and not isInArray(info.BlockMonsters,string.lower(getCreatureName(target))) then registerCreatureEvent(target, "LootEventDeath") end return true]]></event> <talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[ domodlib('Loot_func') local t = string.explode(string.lower(param), ",") if info.OnlyPremium == true and not isPremium(cid) then doPlayerSendCancel(cid, "you must be a premium account.") return true elseif not t[1] then ShowItemsTabble(cid) return true elseif tonumber(t[1]) or tonumber(t[2]) then doPlayerSendCancel(cid, "enter!autoloot add,name or !autoloot remove,name") return true elseif isInArray({"add","remove"}, tostring(t[1])) then local func,check = tostring(t[1]) == "add" and addItemTable or removeItemTable, tostring(t[1]) == "add" and true or false local item = ExistItemByName(tostring(t[2])) if not item then doPlayerSendCancel(cid, "This item does not exist.") return true end local itemlist = getItemIdByName(tostring(t[2])) if check == true and isInArray(info.BlockItemsList, itemlist) then doPlayerSendCancel(cid, "You can not add this item in the list!") return true elseif isInTable(cid, itemlist) == check then doPlayerSendCancel(cid, "This Item "..(check == true and "already" or "is not").." in your list.") return true end func(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 true end return true]]></talkaction> </mod> Outro problema é, quando o player ativa as 5 Blessings não está protegendo o Drop de Backpack, mas funciona na redução de EXP, SKILLS. Segue o Login.LUA e IMAGEM do MYSQL local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } function onLogin(cid) if(getBooleanFromString(getConfigValue('accountManager')) == false) then if (getCreatureName(cid) == "Account Manager") then return doRemoveCreature(cid, true) end end local loss = getConfigValue('deathLostPercent') if(loss ~= nil and getPlayerStorageValue(cid, "bless") ~= 5) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10) doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 10) end if(getPlayerStorageValue(cid, "death_bless") == 1) then local t = {PLAYERLOSS_SKILLS, PLAYERLOSS_ITEMS, PLAYERLOSS_CONTAINERS} for i = 1, #t do doPlayerSetLossPercent(cid, t[i], 0) end setPlayerStorageValue(cid, "death_bless", 1) end local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Please choose your outfit." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then addEvent(valid(doCreatureSay), 500, cid, "Hello, it appears that your character has been locked for name violating rules, what new name would you like to have?", TALKTYPE_PRIVATE_NP, true, cid) elseif(accountManager == MANAGER_ACCOUNT) then addEvent(valid(doCreatureSay), 500, cid, "Hello, type 'account' to manage your account. If you would like to start over, type 'cancel' anywhere.", TALKTYPE_PRIVATE, true, cid) else addEvent(valid(doCreatureSay), 500, cid, "Hello, type 'account' to create an account or 'recover' to recover an account.", TALKTYPE_PRIVATE, true, cid) end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "PVPCreature") registerCreatureEvent(cid, "ReportBug") if(config.useFragHandler) then registerCreatureEvent(cid, "SkullCheck") end registerCreatureEvent(cid, "GuildEvents") registerCreatureEvent(cid, "AdvanceSave") registerCreatureEvent(cid, "FimVip") registerCreatureEvent(cid, "HeartDrop") registerCreatureEvent(cid, "PremCheck") if (InitArenaScript ~= 0) then InitArenaScript = 1 for i = 42300, 42309 do setGlobalStorageValue(i, 0) setGlobalStorageValue(i+100, 0) end end if getPlayerStorageValue(cid, 42309) < 1 then for i = 42300, 42309 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42319) < 1 then for i = 42310, 42319 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42329) < 1 then for i = 42320, 42329 do setPlayerStorageValue(cid, i, 0) end end if getPlayerStorageValue(cid, 42355) == -1 then setPlayerStorageValue(cid, 42355, 0) end setPlayerStorageValue(cid, 42350, 0) setPlayerStorageValue(cid, 42352, 0) return true end Esses valores são referentes ao SAMPLE, caso eu coloque 100 no Loss_Items, os players morrem e não dropam nada. E quando o player ativa as Blessings no MYsql não deveria alterar o Numero no Blessing? Por favor, pessoal me ajudem a resolver esses problemas, já procurei em diversos forums, existem posts com as mesmas dúvidas que não foram resolvidas, deixando uma grande parcela de pessoas leigas sem respostas. Fico no aguardo, Obrigado!!!
-
AJUDEM SYSTEM !!!! BLESS + AUTOLOOT
Bom dia!! Brother, obrigado por dedicar um pouco do seu tempo com o meu post.@Gnius Segue o .lua do npc e bless. Avar Tar - NPC da Bless local config = { -- [bless] = preços [1] = {"The Spiritual Shielding", 11000}, [2] = {"The Embrace of Tibia", 11000}, [3] = {"The Fire of the Suns", 11000}, [4] = {"The Wisdom of Solitude", 11000}, [5] = {"The Spark of the Phoenix", 11000} } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid for k, v in pairs(config) do if v[1]:lower():find(msg:lower()) then selfSay("You are sure?", cid) talkState[talkUser] = k end if msgcontains(msg:lower(), "yes") then if talkState[talkUser] == k then if not getPlayerBlessing(cid, k) then if doPlayerRemoveMoney(cid, v[2]) then doPlayerAddBlessing(cid, k) selfSay("You received the bless " .. v[1]:gsub("The ", "", 1) .. "!", cid) doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA) else selfSay("You no have money.", cid) end else selfSay("You have blessing " .. v[1] .. ".", cid) end talkState[talkUser] = 0 end end end if msgcontains(msg:lower(), "no") and talkState[talkUser] >= 1 then selfSay("Bye!!", cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Na pasta Talkactions está a Bless.lua function onSay(cid, words, param) if getPlayerBlessing(cid, 1) or getPlayerBlessing(cid, 2) or getPlayerBlessing(cid, 3) or getPlayerBlessing(cid, 4) or getPlayerBlessing(cid, 5) then doPlayerSendCancel(cid,'You have already got one or more blessings!') else if doPlayerRemoveMoney(cid, 50000) == TRUE then doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE,'You have been blessed by the gods!') else doPlayerSendCancel(cid, "You need 50k to get blessed!") end end return 1 end Como disse no post anterior, está funcionando a redução de danos (EXP,SKILLS) porém está dropando a Backpack. E o script do Auto_Loot esta na pasta MOD. Gostaria que funciona-se para Premium e Free Account e quando expirasse a Premium, não fosse mais possível coletar os items que estava na lista. <?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 = { OnlyPremium = true, AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {2123,2515} } 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)) end function 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 tab end function isInTable(cid, item) for _,i in pairs(getPlayerStorageTable(cid, 27000))do if tonumber(i) == tonumber(item) then return true end end return false end function addItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, 27000, x) else setPlayerStorageTable(cid, 27000, {item}) end end function removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, 27000, x) end function ShowItemsTabble(cid) local str,n = "-- My Loot List --\n\n",0 for i = 1,#getPlayerStorageTable(cid, 27000) do n = n + 1 str = str..""..n.." - "..getItemNameById(getPlayerStorageTable(cid, 27000)[i]).."\n" end return doShowTextDialog(cid, 2529, str) end function 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 items end function 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 items end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function 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) end function 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, 27000), 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 end end ]]></config> <event type="login" name="LootLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "MonsterAttack") return true end]]></event> <event type="death" name="LootEventDeath" event="script"><![CDATA[ domodlib('Loot_func') function onDeath(cid, corpse, deathList) local killer,pos = deathList[1],getCreaturePosition(cid) addEvent(corpseRetireItems,1,killer,pos) return true end]]></event> <event type="combat" name="MonsterAttack" event="script"><![CDATA[ domodlib('Loot_func') if isPlayer(cid) and isMonster(target) and not isInArray(info.BlockMonsters,string.lower(getCreatureName(target))) then registerCreatureEvent(target, "LootEventDeath") end return true]]></event> <talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[ domodlib('Loot_func') local t = string.explode(string.lower(param), ",") if info.OnlyPremium == true and not isPremium(cid) then doPlayerSendCancel(cid, "you must be a premium account.") return true elseif not t[1] then ShowItemsTabble(cid) return true elseif tonumber(t[1]) or tonumber(t[2]) then doPlayerSendCancel(cid, "enter!autoloot add,name or !autoloot remove,name") return true elseif isInArray({"add","remove"}, tostring(t[1])) then local func,check = tostring(t[1]) == "add" and addItemTable or removeItemTable, tostring(t[1]) == "add" and true or false local item = getItemIdByName(tostring(t[2]), false) if not item then doPlayerSendCancel(cid, "This item does not exist.") return true elseif check == true and isInArray(info.BlockItemsList, item) then doPlayerSendCancel(cid, "You can not add this item in the list!") return true elseif isInTable(cid, item) == check then doPlayerSendCancel(cid, "This Item "..(check == true and "already" or "is not").." in your list.") return true end func(cid, item) 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 true end return true]]></talkaction> </mod>
-
AJUDEM SYSTEM !!!! BLESS + AUTOLOOT
Bom dia, Estou com um projeto de Otserv 7.72x estou caminhando com o mesmo faz 6 meses. Fiz o download do servidor, acrescentei diversas scripts funcionantes, porém existe algumas da qual não consegui solucionar, procurei em diversos fórum PT/ENG/PL, e não obtive resultado. No servidor trabalho com Premium Account e Free Account. DISTRO do Server: [30/12/2017 10:40:6] The SoftCores Version: (1.0.X.S - 4) - Codename: (LORD ZEDD) [30/12/2017 10:40:6] Compiled with Microsoft Visual C++ version 14.0 for arch 32 Bits at May 3 2017 00:34:27 [30/12/2017 10:40:6] A server developed by: Mattyx14 and TFS Developers. 1º PEDIDO. Estou usando o Autoloot do author="Vodkart And Mkalo" que fica na pasta/MOD (muito bom por sinal, não trava servidor, nada do tipo), porém só funciona para players "ONLY_PREMIUM" e quando a Premium_Account_do_Player expira, os itens não desaparecem da List_autoloot, assim conseguindo dropar os itens que havia na lista quando premium para a backpack, mas não conseguindo utilizar o comando !autoloot, !autoloot add, !autoloot remove. Pois não é mais premium account. OBS: O script está em anexo. autoloot.xml Gostaria e preciso de um script Auto_Loot de preferência em [MOD] como citado a cima, onde o player Free e Premiumpossa usar. com a diferença de Slots Ex., Max_Slots = {free = 2, premium = 5}; e quando a Premium Account expirar, não o sistema não funcione mais (como relatado acima)! 2º PEDIDO. O sistema de bless é por NPC igual global ou/ usar o Avar Tar Scroll (onde o player ganha acesso para comprar todas as bless no NPC Avar Tar). A taxa de redução de EXP, SKILLS, MAGIC, quando o player morre está funcionando! Porém quando o player morre está dropando loot, a solução seria usar o AOL, mas gostaria que funciona-se 100% igual ao global, para que o player pudesse usar Stone Skin Amulet sem medo de dropar a lancheira! OBS. Reparei que quando compro a BLESS, no PHPmyADMIN, entro Player>Blessing> "0" o valor. Bom sei lá.. foi um suposição! O Login.lua esta em anexo. login.lua
-
AJUDEM !!!! PAGO EM **R$**
Bom dia, Estou com um projeto de Otserv 7.72x estou caminhando com o mesmo faz 6 meses. Fiz o download do servidor, acrescentei diversas scrpts funcionantes, porém existe algumas da qual não consegui solucionar, procurei em diversos fórum PT/ENG/PL, e não obtive resultado. Caso venha ser solucionado estarei pagando seu serviço!! No servidor trabalho com Premium Account e Free Account. DISTRO do Server: [30/12/2017 10:40:6] The SoftCores Version: (1.0.X.S - 4) - Codename: (LORD ZEDD) [30/12/2017 10:40:6] Compiled with Microsoft Visual C++ version 14.0 for arch 32 Bits at May 3 2017 00:34:27 [30/12/2017 10:40:6] A server developed by: Mattyx14 and TFS Developers. 1º PEDIDO. Estou usando o Autoloot do author="Vodkart And Mkalo" que fica na pasta/MOD (muito bom por sinal, não trava servidor, nada do tipo), porém só funciona para players "ONLY_PREMIUM" e quando a Premium_Account_do_Player expira, os itens não desaparecem da List_autoloot, assim conseguindo dropar os itens que havia na lista quando premium para a backpack, mas não conseguindo utilizar o comando !autoloot, !autoloot add, !autoloot remove. Pois não é mais premium account. OBS: O script está em anexo. autoloot.xml Gostaria e preciso de um script Auto_Loot de preferência em [MOD] como citado a cima, onde o player Free e Premium possa usar. com a diferença de Slots Ex., Max_Slots = {free = 2, premium = 5}; e quando a Premium Account expirar, não o sistema não funcione mais (como relatado acima)! 2º PEDIDO. O sistema de bless é por NPC igual global ou/ usar o Avar Tar Scroll (onde o player ganha acesso para comprar todas as bless no NPC Avar Tar). A taxa de redução de EXP, SKILLS, MAGIC, quando o player morre está funcionando! Porém quando o player morre está dropando loot, a solução seria usar o AOL, mas gostaria que funciona-se 100% igual ao global, para que o player pudesse usar Stone Skin Amulet sem medo de dropar a lancheira! OBS. Reparei que quando compro a BLESS, no PHPmyADMIN, entro Player>Blessing> "0" o valor. Bom sei lá.. foi um suposição! O Login.lua esta em anexo. Entrem em contato por post ou os referentes abaixo: Meu email é: [email protected] Whats: (17) 99203-7847 login.lua