Muito bom! Irei testar mais tarde ?
info
Grupo: Campones
Registrado: 25/11/18
Posts: 12
Reputação: 0

info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

2 minutos atrás, Thalles Vitor disse:Seus sistemas são excelentes! vou usa-lo, bom se não for pedir demais é possível que o autoloot funcione sem o button de autoloot? no caso da imagem em png,quero que funcione sem botão se puder ajudar.
Você fala usar sem o topbutton que fica lá no topo?
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

É só remover essa linha:
btnAutoLoot = modules.client_topmenu.addRightGameToggleButton('lootButton', tr('Auto-Loot'), 'loot', toggle)
E caso queira chamar pela tecla de atalho utilize essa:
g_keyboard.bindKeyPress('Ctrl+E', toggle)
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

3 minutos atrás, Thalles Vitor disse:data/creaturescripts/scripts/login.lua:onLogin
Description:
data/creaturescripts/scripts/login.lua:22: attempt to call global 'doSendPlayerExtendedOpcode' (a nil value)
stack traceback:
data/creaturescripts/scripts/login.lua:22: in function <data/creaturescripts/scripts/login.lua:8>
E seu servidor tem suporte a opcodes?
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

2 minutos atrás, Thalles Vitor disse:Acho que sim ,meu servidor é base OTPokémon
Certeza? Me parece se não me engano o erro fala que vc não tem a função doSendPlayerExtendedOpcode e ainda manda algo nulo.
Ou então você deve ter configurado algo errado, por favor faça um teste com outra coisa só para tirar a duvida se vc tem essa função, já tem 2 servidores que testei esse autoloot e estão funcionando normal sem esse erro que vc cita.
info
Grupo: Campones
Registrado: 26/09/18
Posts: 16
Reputação: 0
Gênero: Masculino
Char no Tibia: [ADM] Baker

Oi amigo, coloquei tudo certinho no meu, mas ao matar o Pokémon ele não pega o loot selecionado na aba, sabe o por que?
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

6 minutos atrás, Tiu Biel disse:Oi amigo, coloquei tudo certinho no meu, mas ao matar o Pokémon ele não pega o loot selecionado na aba, sabe o por que?
Tenta outro autoloot da parte do servidor para poketibia e adapta para usar no módulo, como o autoloot que fica no servidor não foi eu que desenvolvi, não vou saber oque pode estar ocorrendo de errado no seu.
info
Grupo: Campones
Registrado: 26/09/18
Posts: 16
Reputação: 0
Gênero: Masculino
Char no Tibia: [ADM] Baker

Ah sim, vlw REP+
@Gengo estou com o seguinte erro:
[16/01/2019 19:24:37] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/login.lua:21: unexpected symbol near 'ï' [16/01/2019 19:24:37] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/login.lua) [16/01/2019 19:24:37] data/creaturescripts/scripts/login.lua:21: unexpected symbol near 'ï'
O código:
local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } --alterado v2.6 tabelas soh em lib/configuration.lua; function onLogin(cid) if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then --alterado v2.8 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) else doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) ) end doCreatureSetDropLoot(cid, false) local loot = '' for i = 1, #getPlayerStorageTable(cid, info.Storages[1]) do loot = loot..getItemInfo(getPlayerStorageTable(cid, info.Storages[1])[i]).clientId..'-'..getItemNameById(getPlayerStorageTable(cid, info.Storages[1])[i])..'@' end doSendPlayerExtendedOpcode(cid, 157, loot) 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 end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if getCreatureName(cid) == "Account Manager" then local outfit = {} if accountManagerRandomPokemonOutfit then outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])} else outfit = accountManagerOutfit end doSetCreatureOutfit(cid, outfit, -1) return true end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end local outfit = {} if getPlayerVocation(cid) == 0 then doPlayerSetMaxCapacity(cid, 7) doPlayerSetVocation(cid, 1) setCreatureMaxMana(cid, 6) doPlayerAddSoul(cid, -getPlayerSoul(cid)) setPlayerStorageValue(cid, 19898, 0) if getCreatureOutfit(cid).lookType == 128 then outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} elseif getCreatureOutfit(cid).lookType == 136 then outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} end doCreatureChangeOutfit(cid, outfit) end registerCreatureEvent(cid, "dropStone") --alterado v2.7 registerCreatureEvent(cid, "ShowPokedex") --alterado v2.6 registerCreatureEvent(cid, "ClosePokedex") --alterado v2.6 registerCreatureEvent(cid, "WatchTv") registerCreatureEvent(cid, "StopWatchingTv") registerCreatureEvent(cid, "WalkTv") registerCreatureEvent(cid, "RecordTv") registerCreatureEvent(cid, "Death") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "PokemonIdle") registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "T1") registerCreatureEvent(cid, "T2") registerCreatureEvent(cid, "atk") registerCreatureEvent(cid, "ExtendedOpcode") if getPlayerStorageValue(cid, 99284) == 1 then setPlayerStorageValue(cid, 99284, -1) end if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then setPlayerStorageValue(cid, 6598754, -1) setPlayerStorageValue(cid, 6598755, -1) doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v2.9 \/ doTeleportThing(cid, posBackPVP, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end doChangeSpeed(cid, -(getCreatureSpeed(cid))) --///////////////////////////////////////////////////////////////////////////-- local storages = {17000, 63215, 17001, 13008, 5700} for s = 1, #storages do if not tonumber(getPlayerStorageValue(cid, storages[s])) then if s == 3 then setPlayerStorageValue(cid, storages[s], 1) elseif s == 4 then setPlayerStorageValue(cid, storages[s], -1) else if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then setPlayerStorageValue(cid, storages[s], 1) --alterado v2.6 else setPlayerStorageValue(cid, storages[s], -1) end end doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright") end end --/////////////////////////////////////////////////////////////////////////-- if getPlayerStorageValue(cid, 17000) >= 1 then -- fly local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) local apos = getFlyingMarkedPos(cid) apos.stackpos = 0 if getTileThingByPos(apos).itemid <= 2 then doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE) doCreateItem(460, 1, getFlyingMarkedPos(cid)) end doTeleportThing(cid, apos, false) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end local posicao = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao) elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v2.6 doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") if rides[poke] then doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end else setPlayerStorageValue(cid, 17001, -1) doRegainSpeed(cid) --alterado v2.6 end local posicao2 = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao2) elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then setPlayerStorageValue(cid, 13008, 0) doRegainSpeed(cid) --alterado v2.6 doRemoveCondition(cid, CONDITION_OUTFIT) return true end if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) else doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) end doChangeSpeed(cid, 800) elseif getPlayerStorageValue(cid, 5700) > 0 then --bike doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v2.8 if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1394}, -1) else doSetCreatureOutfit(cid, {lookType = 1393}, -1) end elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v2.9 \/ doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) setPlayerStorageValue(cid, 75846, -1) sendMsgToPlayer(cid, 20, "You have been moved to your town!") else doRegainSpeed(cid) --alterado v2.6 end if getPlayerStorageValue(cid, 22545) >= 1 then --golden arena setPlayerStorageValue(cid, 22545, -1) --alterado v2.4 doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) setPlayerRecordWaves(cid) --alterado v2.7 end return true end
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

2 horas atrás, Rookie disse:@Gengo estou com o seguinte erro:
[16/01/2019 19:24:37] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/login.lua:21: unexpected symbol near 'ï' [16/01/2019 19:24:37] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/login.lua) [16/01/2019 19:24:37] data/creaturescripts/scripts/login.lua:21: unexpected symbol near 'ï'
O código:
local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } --alterado v2.6 tabelas soh em lib/configuration.lua; function onLogin(cid) if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then --alterado v2.8 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) else doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) ) end doCreatureSetDropLoot(cid, false) local loot = '' for i = 1, #getPlayerStorageTable(cid, info.Storages[1]) do loot = loot..getItemInfo(getPlayerStorageTable(cid, info.Storages[1])[i]).clientId..'-'..getItemNameById(getPlayerStorageTable(cid, info.Storages[1])[i])..'@' end doSendPlayerExtendedOpcode(cid, 157, loot) 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 end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if getCreatureName(cid) == "Account Manager" then local outfit = {} if accountManagerRandomPokemonOutfit then outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])} else outfit = accountManagerOutfit end doSetCreatureOutfit(cid, outfit, -1) return true end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end local outfit = {} if getPlayerVocation(cid) == 0 then doPlayerSetMaxCapacity(cid, 7) doPlayerSetVocation(cid, 1) setCreatureMaxMana(cid, 6) doPlayerAddSoul(cid, -getPlayerSoul(cid)) setPlayerStorageValue(cid, 19898, 0) if getCreatureOutfit(cid).lookType == 128 then outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} elseif getCreatureOutfit(cid).lookType == 136 then outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} end doCreatureChangeOutfit(cid, outfit) end registerCreatureEvent(cid, "dropStone") --alterado v2.7 registerCreatureEvent(cid, "ShowPokedex") --alterado v2.6 registerCreatureEvent(cid, "ClosePokedex") --alterado v2.6 registerCreatureEvent(cid, "WatchTv") registerCreatureEvent(cid, "StopWatchingTv") registerCreatureEvent(cid, "WalkTv") registerCreatureEvent(cid, "RecordTv") registerCreatureEvent(cid, "Death") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "PokemonIdle") registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "T1") registerCreatureEvent(cid, "T2") registerCreatureEvent(cid, "atk") registerCreatureEvent(cid, "ExtendedOpcode") if getPlayerStorageValue(cid, 99284) == 1 then setPlayerStorageValue(cid, 99284, -1) end if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then setPlayerStorageValue(cid, 6598754, -1) setPlayerStorageValue(cid, 6598755, -1) doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v2.9 \/ doTeleportThing(cid, posBackPVP, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end doChangeSpeed(cid, -(getCreatureSpeed(cid))) --///////////////////////////////////////////////////////////////////////////-- local storages = {17000, 63215, 17001, 13008, 5700} for s = 1, #storages do if not tonumber(getPlayerStorageValue(cid, storages[s])) then if s == 3 then setPlayerStorageValue(cid, storages[s], 1) elseif s == 4 then setPlayerStorageValue(cid, storages[s], -1) else if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then setPlayerStorageValue(cid, storages[s], 1) --alterado v2.6 else setPlayerStorageValue(cid, storages[s], -1) end end doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright") end end --/////////////////////////////////////////////////////////////////////////-- if getPlayerStorageValue(cid, 17000) >= 1 then -- fly local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) local apos = getFlyingMarkedPos(cid) apos.stackpos = 0 if getTileThingByPos(apos).itemid <= 2 then doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE) doCreateItem(460, 1, getFlyingMarkedPos(cid)) end doTeleportThing(cid, apos, false) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end local posicao = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao) elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v2.6 doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") if rides[poke] then doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end else setPlayerStorageValue(cid, 17001, -1) doRegainSpeed(cid) --alterado v2.6 end local posicao2 = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao2) elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then setPlayerStorageValue(cid, 13008, 0) doRegainSpeed(cid) --alterado v2.6 doRemoveCondition(cid, CONDITION_OUTFIT) return true end if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) else doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) end doChangeSpeed(cid, 800) elseif getPlayerStorageValue(cid, 5700) > 0 then --bike doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v2.8 if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1394}, -1) else doSetCreatureOutfit(cid, {lookType = 1393}, -1) end elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v2.9 \/ doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) setPlayerStorageValue(cid, 75846, -1) sendMsgToPlayer(cid, 20, "You have been moved to your town!") else doRegainSpeed(cid) --alterado v2.6 end if getPlayerStorageValue(cid, 22545) >= 1 then --golden arena setPlayerStorageValue(cid, 22545, -1) --alterado v2.4 doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) setPlayerRecordWaves(cid) --alterado v2.7 end return true end
O erro que acontece é que quando cópia código daqui do forum e coloca em um editor, vem bugado, escreva manualmente ou atente-se os caracteres especiais do code que veio bugado do forum e corriga no seu.
info
Grupo: Campones
Registrado: 22/12/18
Posts: 5
Reputação: 0

Aqui vai até a tela de Login, escolho o personagem e o jogo não loga, o que pode ser?
info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia

3 minutos atrás, braisvilela disse:Aqui vai até a tela de Login, escolho o personagem e o jogo não loga, o que pode ser?
Devido o carregamento dos arquivo do item xml e otb, ele gera uma lentidão na hora de carregar, porem uma vez carregada ele fica normal, espere um pouco e veras que vai carregar, mas é logico se vc fez tudo certo.
info
Grupo: Campones
Registrado: 22/12/18
Posts: 5
Reputação: 0

Mas mano eu Tentei e nao deu certo rs
Ele só da lag quando abre o cliente, dps fica de boa mas ele não loga na conta...
Vc tem whatsapp para contato?
info
Grupo: Campones
Registrado: 24/05/18
Posts: 82
Reputação: +1
Gênero: Masculino

Citar
[06/02/2019 16:41:03] [Error - CreatureScript Interface]
[06/02/2019 16:41:03] data/creaturescripts/scripts/player/login.lua:onLogin
[06/02/2019 16:41:03] Description:
[06/02/2019 16:41:03] data/creaturescripts/scripts/player/login.lua:170: attempt to index global 'info' (a nil value)
[06/02/2019 16:41:03] stack traceback:
[06/02/2019 16:41:03] data/creaturescripts/scripts/player/login.lua:170: in function <data/creaturescripts/scripts/player/login.lua:43>
Eu tenho um problema, eu recebo este erro, você poderia me ajudar?
Mylogin.lua
Citarlocal config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
local megasStones = {15131, 15133, 15136, 15793, 15783, 15781, 15794, 15784, 15780, 15792}
local megasToPlayer = {
["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"},
["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"},
["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"},
["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"},
["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"},
["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"},
["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"},
["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"},
["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"},
["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"},
}
function BetaItem(cid)
if getPlayerStorageValue(cid, storages.betaStorage) == -1 then
addPokeToPlayer(cid, "Shiny Ditto", 0, nil, "poke", true)
setPlayerStorageValue(cid, storages.betaStorage, 1)
doSendMsg(cid, "Você ganhou um Shiny Ditto, uma TV Cam e uma Mega Stone para testalos a vontade.")
item = doCreateItemEx(12330)
doItemSetAttribute(item, "unique", getCreatureName(cid))
doPlayerAddItemEx(cid, item)
local mega = megasStones[math.random(1, #megasStones)]
for a, b in pairs(megasToPlayer) do
if mega == b.id then
addPokeToPlayer(cid, b.pokeName, 0, nil, "shinyyume", true, a)
break
end
end
end
endfunction onLogin(cid)
doPlayerSetVocation(cid, 10)
doSendPlayerExtendedOpcode(cid, 126, "nao")
doResetPlayerTVSystem(cid)
if not isGod(cid) then
setPlayerGroupId(cid, 1)
doRegainSpeed(cid)
end
if isGod(cid) then -- Resetar diarias se for God
setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)
setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)
setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)
setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)
end
if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
else
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )
enddoRegainSpeed(cid)
print(getCreatureName(cid).. " Se ha conectado")
--////// storages \\\\\\--
setPlayerStorageValue(cid, 98988, 0)
doEreaseDuel(cid)
setPlayerStorageValue(cid, 500, -1)
setPlayerStorageValue(cid, 8085, 0)
--// duel
setPlayerStorageValue(cid, storages.requestCountPlayer, 0)
setPlayerStorageValue(cid, storages.requestCountPokemon, 0)
setPlayerStorageValue(cid, storages.requestedPlayer, 0)
--// duel
--////// storages \\\\\\--
--////// Eventos \\\\\\--
registerCreatureEvent(cid, "GodLight")
registerCreatureEvent(cid, "ShowPokedex")
registerCreatureEvent(cid, "ClosePokedex")
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "WildAttack")
registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, "Idle")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "AdvanceSave")
--Adicionados \/
registerCreatureEvent(cid, "PlayerLogout")
registerCreatureEvent(cid, "LookSystem")
registerCreatureEvent(cid, "Opcode")
registerCreatureEvent(cid, "EmeraldShop")
registerCreatureEvent(cid, "PokeStats")
registerCreatureEvent(cid, "PokeWalk")
registerCreatureEvent(cid, "PokeSleep")
registerCreatureEvent(cid, "MoveItem")
registerCreatureEvent(cid, "UpLevel")
registerCreatureEvent(cid, "BlockWords")
--registerCreatureEvent(cid, "PartySystem")
registerCreatureEvent(cid, "Target")
registerCreatureEvent(cid, "GeneralConfiguration")
registerCreatureEvent(cid, "EffectOnAdvance")
registerCreatureEvent(cid, "TradeRequest")
registerCreatureEvent(cid, "TradeAccpet")
registerCreatureEvent(cid, "onAdvance")
registerCreatureEvent(cid, "onAdvance2")
registerCreatureEvent(cid, "onAdvance3")
registerCreatureEvent(cid, "onAdvance4")
registerCreatureEvent(cid, "onAdvance5")
--////// Eventos \\\\\\--
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS)
local ball = getPlayerSlotItem(cid, ?if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then
doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged")
end
--doOTCSendPokemonHealth(cid)
--doClearPokemonStatus(cid)if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then
local pokeName = getItemAttribute(ball.uid, "poke")
if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then
pokeName = getItemAttribute(ball.uid, "copyName")
end
local outfit = getPokemonOutfitToSkill(pokeName)
local speed = getPokemonSpeedToSkill(pokeName)
doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, speed)
if isRider(cid) then
setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)
elseif isFly(cid) then
setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)
if not hasSqm(getThingPos(cid)) then
-- doCreateItem(460, 1, getThingPos(cid))
end
elseif isSurf(cid) then
setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
end
doTeleportThing(cid, getMarkedSpawnPos(cid))
setPokemonGhost(cid)
end
setPlayerStorageValue(cid, storages.gobackDelay, -1)
setPlayerStorageValue(cid, storages.pokedexDelay, -1)
setPlayerStorageValue(cid, 154585, -1)
doAddFirstItemsToPlayer(cid)
--doAddShoppingItem(cid)
-- otclient life
doSendLifePokeToOTC(cid)
-- otclient life
local loot = ''
for i = 1, #getPlayerStorageTable(cid, info.Storages[1]) do
loot = loot..getItemInfo(getPlayerStorageTable(cid, info.Storages[1])).clientId..'-'..getItemNameById(getPlayerStorageTable(cid, info.Storages[1]))..'@'
end
doSendPlayerExtendedOpcode(cid, 157, loot)
return true
end
function doAddFirstItemsToPlayer(cid)
local config = {
storage = 30001,
items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395}
-- 7385 (pokeinfo)
-- 2395 (portfoil) ok
-- 2382 (pokedex) ok
-- 2550 (order) ok
-- 1987 (bag) ok
-- 1988 (badge case) ok
-- 2120 (rope) ok
-- 2580 (fishing rod) ok
}
setPlayerCap(cid, 7)
if getCreatureName(cid) == "Account Manager" then
doSetCreatureOutfit(cid, {lookType = 655}, -1)
return true
end
if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end
if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then
return true
end
for _, id in ipairs(config.items) do
doPlayerAddItem(cid, id, 1)
end
local bag = getPlayerItemById(cid, false, 1988).uid
doAddContainerItem(bag, 12267, 1)
doAddContainerItem(bag, 12266, 1)
doAddContainerItem(bag, 12264, 1)
doAddContainerItem(bag, 12265, 1)
doAddContainerItem(bag, 12263, 1)
doAddContainerItem(bag, 12262, 1)
doAddContainerItem(bag, 12261, 1)
doAddContainerItem(bag, 12260, 1)
setPlayerStorageValue(cid, duelTable.wins, 0)
setPlayerStorageValue(cid, duelTable.loses, 0)
local pokeBag = getPlayerItemById(cid, false, 1987).uid
setPlayerStorageValue(cid, storages.BugFishing, 1)
doTeleportThing(cid, getTownTemplePosition(1), false)return true
endlocal itensShopping = {
[1] = {{2394, 100}, {12344, 25}, {12286, 2}},
[2] = {{2391, 200}, {2393, 100}, {2392, 100}},
[3] = {{12832, 1}},
[4] = {{12286, 1}},
[5] = {premiumDays = 30}
}function doAddShoppingItem(cid)
local allItems = {}
local compra = 0
local msg = ""
local result = db.getResult("SELECT itemID, compraID FROM playercompras WHERE playerID = '" .. getPlayerGUID(cid) .. "' AND entregue = 0")
if result:getID() ~= -1 then
compra = result:getDataInt("compraID")
allItems[#allItems+1] = result:getDataInt("itemID")
db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";")
while(result:next()) do
allItems[#allItems+1] = result:getDataInt("itemID")
compra = result:getDataInt("compraID")
db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";")
end
end
if #allItems > 0 then
for i = 1, #allItems do
if allItems == 5 then
doPlayerAddPremiumDays(cid, itensShopping[allItems].premiumDays)
msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!"
doSendMsg(cid, msg)
else
local bag = doCreateItemEx(12694) -- cubone bag de gratis
for j = 1, #itensShopping[allItems] do
doAddContainerItem(bag, itensShopping[allItems][j][1], itensShopping[allItems][j][2])
end
doPlayerSendMailByName(getCreatureName(cid), bag, 1)
msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp."
doSendMsg(cid, msg)
end
end
end
endfunction addSkillsToDB(cid)
local str1 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);"
local str2 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);"
db.executeQuery(str1)
db.executeQuery(str2)
end
Editado Fevereiro 6 por Step Records



info
Grupo: Cavaleiro
Registrado: 10/03/13
Posts: 177
Reputação: +202
Gênero: Masculino
Char no Tibia: stor akia
Fala ai galera do xtibia estou aqui trazendo mais um module para o otClient.
Esses dias atras estavo jogando pokestorm e me deparei com o autoloot e decidi fazer um parecido com o deles e então pensei porque não trazer para a comunidade? Afinal não vejo muitos modulos de autoloot para otClient o unico que vi foi o autoloot da DxP, porem não é muito intuitivo comparado com modulo da pokestorm, bom sem mais enrolação vamos lá.
Feito o download do arquivo, coloque-o na pasta do seu otClient em /modules/ e pronto já é possível "utilizar-lo", porem com algumas exceções de algumas configurações básicas que temos que fazer para poder utilizar-lo com algumas eficiências.
1º Na pasta do seu otClient/data/ crie uma pasta chamada items e coloque o seus arquivos items.otb e items.xml.
2º Vai até a pasta do seu otClient/modules/game_things abre o arquivo things.lua e procure a função load(), e coloque o seguinte:
Obs: Não se assustem quando entrarem no client para logar, no inicio vai dar uma travada, mas depois de esperar uns segundos ele normaliza, pois o único problema é que o carregamento dos arquivos dos items eles são demorados.
Também é preciso fazer umas configurações rápida na parte do servidor para poder funcionar.
Copie e cole esse script e coloque na pasta do servidor em mods/ e de o nome de autoloot.xml
Ainda na pasta do seu servidor abre o arquivo /data/creaturescripts/scripts/login.lua e coloque o seguinte script dentro da função onLogin:
Feito todos os passos corretamente, configurado certo, deve ficar assim no game:
Bom espero que tenham entendido e gostado, não sou muito de ficar escrevendo tutorial, até uma próxima.
Download
Arquivo http://www.mediafire.com/file/iogpw94tijxx1y8/game_autoloot.rar/file
Scan https://www.virustotal.com/pt/file/9f8a0d004662008f8616bcd485816e57978ffd97efe36927ea57abb09691f2c5/analysis/1544877394/
Créditos
Gengo(eu) - módule para o otClient.
Vodkart e Mkalo - autoloot na parte do servidor.