Ir para conteúdo

julia1

Membro
  • Registro em

  • Última visita

  1. Continua só tá demorando mais para acontecer porem continuo recebendo mais de um item
  2. Continuo com o mesmo erro 12:49 Sorry, you don't have enough space on container to receive >> pokeboll << Aparece isso e vai chegando itens .. Não tenho discord Wesley .. :s Eu usei um outro shop.lua e o erro mudou .. Agora eu continuo recebendo o item se eu estiver com 1 item ja na bag .. Por exemplo .. Se tenho ultra ball na bag e compro +1 eu continuo recebendo .. Se eu não tenho nem 1 e compro 1 eu recebo só uma da forma correta .. Globalevents : <globalevent name="shop" interval="30" script="shop.lua"/> Shop.Lua : function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from NOME DO SEU SERVER Shop.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from PkS Shop.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end
  3. Ta bom! Obrigado por responder amigo .. Já irei mandar só um minuto .. <?xml version="1.0" encoding="UTF-8"?> <globalevents> <globalevent name="shop" interval="30" event="script" value="shop.lua"/> <globalevent name="save" interval="3000" event="script" value="save.lua"/> <globalevent name="autoBroadcast" interval="480" script="broadcast.lua"/> <globalevent name="serverstart" type="start" event="script" value="start.lua"/> <!-- <globalevent name="LastMan" interval="3600" event="script" value="lastman.lua"/> --> <!-- <globalevent name="arena" interval="3750" event="script" value="arena.lua"/> --> <!-- <globalevent name="arena check" interval="60" event="script" value="arena check.lua"/> --> <!-- <globalevent name="Kac" interval="5400" event="script" value="kac.lua"/> --> <!-- <globalevent name="kac arena" interval="5550" event="script" value="kac arena.lua"/> --> <!-- <globalevent name="kac check" interval="60" event="script" value="kac check.lua"/> --> <globalevent name="playersrecord" type="record" event="script" value="record.lua"/> <globalevent name="vipEffect" interval="2" script="Effect.lua"/> <globalevent name="texto animado" interval="3" script="texto.lua"/> <globalevent name="Efectos" interval="2" script="efectos.lua"/> <globalevent name="efectosflechas" interval="19" script="efectosflechas.lua"/> <!-- <globalevent name="remove monsters" interval="10" script="remove monsters.lua"/> LISTO --> <!-- <globalevent name="timer_example" time="21:35" event="script" value="my_script.lua"/> --> </globalevents> function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end esse é meu shop.lua
  4. julia1 postou uma resposta no tópico em Suporte Tibia OTServer
    UP
  5. Obrigado pela resposta novamente .. Então agora com esse seu shop deu o seguinte erro na distro : [02/02/2018 14:12:38] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:88: 'end' expected (to close 'function' at line 19) near 'endfunction' [02/02/2018 14:12:38] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua) [02/02/2018 14:12:38] data/globalevents/scripts/shop.lua:88: 'end' expected (to close 'function' at line 19) near 'endfunction'
  6. Olá, boa tarde ! obrigado pelo retorno . Aonde encontro a lib? Já encontrei Obrigado. Então o que acontece é o seguinte se eu tenho 1 pokeball na bag e compro +1 ele irá chegar até completar 100 --[[ * File containing deprecated functions and constants used by alot of scripts and other engines ]]-- TRUE = true FALSE = false LUA_ERROR = false LUA_NO_ERROR = true LUA_NULL = nil TALKTYPE_CHANNEL_R1 = TALKTYPE_CHANNEL_RN TALKTYPE_CHANNEL_R2 = TALKTYPE_CHANNEL_RA TALKTYPE_ORANGE_1 = TALKTYPE_MONSTER TALKTYPE_ORANGE_2 = TALKTYPE_MONSTER_YELL TEXTCOLOR_BLACK = 0 TEXTCOLOR_BLUE = 5 TEXTCOLOR_GREEN = 18 TEXTCOLOR_TEAL = 35 TEXTCOLOR_LIGHTGREEN = 66 TEXTCOLOR_DARKBROWN = 78 TEXTCOLOR_LIGHTBLUE = 89 TEXTCOLOR_DARKPURPLE = 112 TEXTCOLOR_BROWN = 120 TEXTCOLOR_GREY = 129 TEXTCOLOR_DARKRED = 144 TEXTCOLOR_DARKPINK = 152 TEXTCOLOR_PURPLE = 154 TEXTCOLOR_DARKORANGE = 156 TEXTCOLOR_RED = 180 TEXTCOLOR_PINK = 190 TEXTCOLOR_ORANGE = 192 TEXTCOLOR_DARKYELLOW = 205 TEXTCOLOR_YELLOW = 210 TEXTCOLOR_WHITE = 215 TEXTCOLOR_NONE = 255 CONDITION_PARAM_STAT_MAXHITPOINTS = CONDITION_PARAM_STAT_MAXHEALTH CONDITION_PARAM_STAT_MAXMANAPOINTS = CONDITION_PARAM_STAT_MAXMANA CONDITION_PARAM_STAT_SOULPOINTS = CONDITION_PARAM_STAT_SOUL CONDITION_PARAM_STAT_MAGICPOINTS = CONDITION_PARAM_STAT_MAGICLEVEL CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT = CONDITION_PARAM_STAT_MAXHEALTHPERCENT CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT = CONDITION_PARAM_STAT_MAXMANAPERCENT CONDITION_PARAM_STAT_SOULPOINTSPERCENT = CONDITION_PARAM_STAT_SOULPERCENT CONDITION_PARAM_STAT_MAGICPOINTSPERCENT = CONDITION_PARAM_STAT_MAGICLEVELPERCENT STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1 STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2 STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3 STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4 STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5 WORLD_TYPE_NO_PVP = 1 WORLD_TYPE_PVP = 2 WORLD_TYPE_PVP_ENFORCED = 3 CHANNEL_STAFF = 2 CHANNEL_COUNSELOR = 4 CHANNEL_GAMECHAT = 5 CHANNEL_TRADE = 6 CHANNEL_TRADEROOK = 7 CHANNEL_RLCHAT = 8 BANTYPE_IP_BANISHMENT = 1 BANTYPE_NAMELOCK = 2 BANTYPE_BANISHMENT = 3 BANTYPE_NOTATION = 4 BANTYPE_DELETION = 3 SKILLS = SKILL_NAMES table.getPos = table.find doSetCreatureDropLoot = doCreatureSetDropLoot doPlayerSay = doCreatureSay doPlayerAddMana = doCreatureAddMana playerLearnInstantSpell = doPlayerLearnInstantSpell doPlayerRemOutfit = doPlayerRemoveOutfit pay = doPlayerRemoveMoney broadcastMessage = doBroadcastMessage getPlayerName = getCreatureName getCreaturePosition = getThingPosition getPlayerPosition = getCreaturePosition getCreaturePos = getCreaturePosition creatureGetPosition = getCreaturePosition getPlayerMana = getCreatureMana getPlayerMaxMana = getCreatureMaxMana hasCondition = getCreatureCondition isMoveable = isMovable isItemMoveable = isItemMovable saveData = saveServer savePlayers = saveServer getPlayerSkill = getPlayerSkillLevel getPlayerSkullType = getCreatureSkullType getCreatureSkull = getCreatureSkullType getAccountNumberByName = getAccountIdByName getIPByName = getIpByName getPlayersByIP = getPlayersByIp getThingfromPos = getThingFromPos getPlayersByAccountNumber = getPlayersByAccountId getIPByPlayerName = getIpByName getPlayersByIPNumber = getPlayersByIp getAccountNumberByPlayerName = getAccountIdByName convertIntToIP = doConvertIntegerToIp convertIPToInt = doConvertIpToInteger queryTileAddThing = doTileQueryAdd getTileHouseInfo = getHouseFromPos executeRaid = doExecuteRaid saveServer = doSaveServer cleanHouse = doCleanHouse cleanMap = doCleanMap shutdown = doShutdown mayNotMove = doCreatureSetNoMove doPlayerSetNoMove = doCreatureSetNoMove getPlayerNoMove = getCreatureNoMove getConfigInfo = getConfigValue doPlayerAddExp = doPlayerAddExperience isInArea = isInRange doPlayerSetSkillRate = doPlayerSetRate getCreatureLookDir = getCreatureLookDirection getPlayerLookDir = getCreatureLookDirection getPlayerLookDirection = getCreatureLookDirection doCreatureSetLookDir = doCreatureSetLookDirection getPlayerLookPos = getCreatureLookPosition setPlayerStamina = doPlayerSetStamina setPlayerPromotionLevel = doPlayerSetPromotionLevel setPlayerGroupId = doPlayerSetGroupId setPlayerPartner = doPlayerSetPartner doPlayerSetStorageValue = doCreatureSetStorage function setPlayerStorageValue(cid, key, value) if not isCreature(cid) or getCreatureHealth(cid) <= 0 then return false end if key == 990 and isPlayer(cid) and isGhostPokemon(getCreatureSummons(cid)[1]) then addEvent(updateGhostWalk, 10, getCreatureSummons(cid)[1]) end if type(value) == "number" and value == -1 then doCreatureSetStorage(cid, key, nil) return true elseif type(value) == "string" then doCreatureSetStorage(cid, key, "") end doCreatureSetStorage(cid, key, value) return true end getPlayerStorageValue = getCreatureStorage getGlobalStorageValue = getStorage setGlobalStorageValue = doSetStorage setPlayerBalance = doPlayerSetBalance doAddMapMark = doPlayerAddMapMark doSendTutorial = doPlayerSendTutorial getWaypointsList = getWaypointList getPlayerLastLoginSaved = getPlayerLastLogin function getThingPos(uid) if not uid then return backupPos end return getThingPosition(uid) end doAreaCombatHealth = doCombatAreaHealth doAreaCombatMana = doCombatAreaMana doAreaCombatCondition = doCombatAreaCondition doAreaCombatDispel = doCombatAreaDispel getItemDescriptionsById = getItemInfo hasProperty = hasItemProperty hasClient = hasPlayerClient print = std.cout getPosByDir = getPositionByDirection db.updateQueryLimitOperator = db.updateLimiter db.stringComparisonOperator = db.stringComparison PlayerFlag_CannotUseCombat = 0 PlayerFlag_CannotAttackPlayer = 1 PlayerFlag_CannotAttackMonster = 2 PlayerFlag_CannotBeAttacked = 3 PlayerFlag_CanConvinceAll = 4 PlayerFlag_CanSummonAll = 5 PlayerFlag_CanIllusionAll = 6 PlayerFlag_CanSenseInvisibility = 7 PlayerFlag_IgnoredByMonsters = 8 PlayerFlag_NotGainInFight = 9 PlayerFlag_HasInfiniteMana = 10 PlayerFlag_HasInfiniteSoul = 11 PlayerFlag_HasNoExhaustion = 12 PlayerFlag_CannotUseSpells = 13 PlayerFlag_CannotPickupItem = 14 PlayerFlag_CanAlwaysLogin = 15 PlayerFlag_CanBroadcast = 16 PlayerFlag_CanEditHouses = 17 PlayerFlag_CannotBeBanned = 18 PlayerFlag_CannotBePushed = 19 PlayerFlag_HasInfiniteCapacity = 20 PlayerFlag_CanPushAllCreatures = 21 PlayerFlag_CanTalkRedPrivate = 22 PlayerFlag_CanTalkRedChannel = 23 PlayerFlag_TalkOrangeHelpChannel = 24 PlayerFlag_NotGainExperience = 25 PlayerFlag_NotGainMana = 26 PlayerFlag_NotGainHealth = 27 PlayerFlag_NotGainSkill = 28 PlayerFlag_SetMaxSpeed = 29 PlayerFlag_SpecialVIP = 30 PlayerFlag_NotGenerateLoot = 31 PlayerFlag_CanTalkRedChannelAnonymous = 32 PlayerFlag_IgnoreProtectionZone = 33 PlayerFlag_IgnoreSpellCheck = 34 PlayerFlag_IgnoreWeaponCheck = 35 PlayerFlag_CannotBeMuted = 36 PlayerFlag_IsAlwaysPremium = 37 PlayerFlag_CanAnswerRuleViolations = 38 PlayerFlag_39 = 39 -- ignore PlayerFlag_ShowGroupNameInsteadOfVocation = 40 PlayerFlag_HasInfiniteStamina = 41 PlayerFlag_CannotMoveItems = 42 PlayerFlag_CannotMoveCreatures = 43 PlayerFlag_CanReportBugs = 44 PlayerFlag_45 = 45 -- ignore PlayerFlag_CannotBeSeen = 46 PlayerCustomFlag_AllowIdle = 0 PlayerCustomFlag_CanSeePosition = 1 PlayerCustomFlag_CanSeeItemDetails = 2 PlayerCustomFlag_CanSeeCreatureDetails = 3 PlayerCustomFlag_NotSearchable = 4 PlayerCustomFlag_GamemasterPrivileges = 5 PlayerCustomFlag_CanThrowAnywhere = 6 PlayerCustomFlag_CanPushAllItems = 7 PlayerCustomFlag_CanMoveAnywhere = 8 PlayerCustomFlag_CanMoveFromFar = 9 PlayerCustomFlag_CanLoginMultipleCharacters = 10 PlayerCustomFlag_HasFullLight = 11 PlayerCustomFlag_CanLogoutAnytime = 12 PlayerCustomFlag_HideLevel = 13 PlayerCustomFlag_IsProtected = 14 PlayerCustomFlag_IsImmune = 15 PlayerCustomFlag_NotGainSkull = 16 PlayerCustomFlag_NotGainUnjustified = 17 PlayerCustomFlag_HideLevel = 18 PlayerCustomFlag_IgnorePacification = 19 PlayerCustomFlag_CanStairhop = 20 PlayerCustomFlag_CanTurnhop = 21 PlayerCustomFlag_IgnoreHouseRent = 22
  7. julia1 postou uma resposta no tópico em Suporte Tibia OTServer
    Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: Modern acc Qual erro está surgindo/O que você procura? Meu site envia várias vezes por exemplo : dinheiro eu coloco lá para enviar 1 se a pessoa comprar ele envia até chegar no 100 Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  8. Boa tarde ! Queria saber se alguém consegue me ajudar .. Compro itens no shop do site e não para de chegar o item.

Informação Importante

Confirmação de Termo