Ir para conteúdo

Yan Oliveira

Moderador
  • Total de itens

    2187
  • Registro em

  • Última visita

  • Dias Ganhos

    58

Tudo que Yan Oliveira postou

  1. Pelo visto seu servidor tem uma variável global chamada accountManagerOutfit, e nela está armazenado o looktype dessa outfit de ADM na maioria das bases. E no seu script tem a condição para caso looktype seja aleatório de pokémons ele pega um pokémon aleatório ou pega essa variável accountManagerOutfit, que fica nesse bloco: 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 Eu arrumei para você, troque o seu script por esse: local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } local looktype_account_manager = {lookType = 215} --alterado v2.6 tabelas soh em lib/configuration.lua; function onLogin(cid) registerCreatureEvent(cid, "hmup") registerCreatureEvent(cid, "PlayerAttack") registerCreatureEvent(cid, "dropStone") registerCreatureEvent(cid, "OnAdvanced") registerCreatureEvent(cid, "vipexp") registerCreatureEvent(cid, "ShowPokedex") registerCreatureEvent(cid, "ClosePokedex") registerCreatureEvent(cid, "WatchTv") registerCreatureEvent(cid, "DropShiny") 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, "reward") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "ExtendedOpcode") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "T1") registerCreatureEvent(cid, "T2") registerCreatureEvent(cid, "ll1") registerCreatureEvent(cid, "task_count") registerCreatureEvent(cid, "effectdeath") registerCreatureEvent(cid, "dota") registerCreatureEvent(cid, "atk") registerCreatureEvent(cid, "balance") registerCreatureEvent(cid, "BlockHit") registerCreatureEvent(cid, "Ataque") registerCreatureEvent(cid, "NlooT") registerCreatureEvent(cid, "KillTask") registerCreatureEvent(cid, "KillTaske") registerCreatureEvent(cid, "KillTask3") registerCreatureEvent(cid, "KillTask4") registerCreatureEvent(cid, "PlayerDeath") registerCreatureEvent(cid, "PetKill") registerCreatureEvent(cid, "onlinebonus") registerCreatureEvent(cid, "AtLoot") registerCreatureEvent(cid, "Monster Hunterl") registerCreatureEvent(cid, "Monster Hunter") doRegainSpeed(cid) doUpdatePokemonsBar(cid) doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 25) doCreatureSetDropLoot(cid, false) if getPlayerStorageValue(cid, 17000) >= 1 then setPlayerStorageValue(cid, 17000, 0) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) sendMsgToPlayer(cid, 20, "Voce Deslogou No Fly E Foi Teleportado Para O CP Por Questoes De Seguranca.") return true end setPlayerStorageValue(cid, 17001, 0) --ride setPlayerStorageValue(cid, 92003, 0) --water robotic setPlayerStorageValue(cid, 92002, 0) --fire robotic setPlayerStorageValue(cid, 92001, 0) --water robotic setPlayerStorageValue(cid, 32001, 0) --bike if getCreatureName(cid) ~= "Account Manager" then -- O "ACCOUNT MANAGER" É EXCEÇÃO. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce possui " .. getPlayerStorageValue(cid,5984548) .. "x Online Bonus armazenados em seu personagem. Digite !opshop a qualquer momento para saber quantos Online Points voce possui.") end if getPlayerStorageValue(cid, 5984548) < 0 then setPlayerStorageValue(cid, 5984548, 0) return true end -- SE AS QUANTIDADES DE FUSION HELDS POINTS FOREM MENOR QUE 0, SETA AS QUANTIDADES DE FUSION HELDS POINTS PARA 0 if getPlayerStorageValue(cid, 1234601) < 0 then setPlayerStorageValue(cid, 1234601, 0) return true end if getPlayerStorageValue(cid, 1234602) < 0 then setPlayerStorageValue(cid, 1234602, 0) return true end if getPlayerStorageValue(cid, 1234603) < 0 then setPlayerStorageValue(cid, 1234603, 0) return true end if getPlayerStorageValue(cid, 1234604) < 0 then setPlayerStorageValue(cid, 1234604, 0) return true end if getPlayerStorageValue(cid, 1234605) < 0 then setPlayerStorageValue(cid, 1234605, 0) return true end if getPlayerStorageValue(cid, 1234606) < 0 then setPlayerStorageValue(cid, 1234606, 0) return true end if getPlayerStorageValue(cid, 1234607) < 0 then setPlayerStorageValue(cid, 1234607, 0) return true 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) .. "." end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Bem Vindo Ao Pokemon Venetta Server') doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Ola, parece que voce teve seu nome bloqueado (nameblock), escolha outro nome.") 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 = looktype_account_manager 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 == 510 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 == 511 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 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)) then -- if s == 3 then -- setPlayerStorageValue(cid, storages, 1) -- elseif s == 4 then -- setPlayerStorageValue(cid, storages, -1) -- else -- if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then -- setPlayerStorageValue(cid, storages, 1) --alterado v2.6 -- else -- setPlayerStorageValue(cid, storages, -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) local addonfly = getPlayerSlotItem(cid, 8).uid local addofly = getItemAttribute(addonfly,"addonfly") if not addofly then doSetItemAttribute(addonfly,"addonfly",0) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) end if addofly > 0 then doSetCreatureOutfit(cid, {lookType = addofly}, -1) end 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") local addonsurf = getPlayerSlotItem(cid, 8).uid local addosurf = getItemAttribute(addonsurf,"addonsurf") if not addosurf then doSetItemAttribute(addonsurf,"addonsurf",0) doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) end if addosurf > 0 then doSetCreatureOutfit(cid, {lookType = addosurf}, -1) end 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) local addonride = getPlayerSlotItem(cid, 8).uid local addoride = getItemAttribute(addonride,"addonride") if not addofly then doSetItemAttribute(addonride,"addonride",0) doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) end if addoride > 0 then doSetCreatureOutfit(cid, {lookType = addoride}, -1) end 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 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) 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 -- local CP = {x=1056, y=1049, z=7} -- if getPlayerStorageValue(cid, 17000) >= 1 then -- setPlayerStorageValue(cid, 17000, 0) -- doTeleportThing(cid, CP) -- end return true end Ai na variável local que eu criei looktype_account_manager você coloca o looktype desejado dentro da tabela (looktype_account_manager = {looktype = ID DO LOOKTYPE AQUI}). Você também tem a opção de achar essa variável global accountManagerOutfit que provavelmente está no configurations.lua ou em algum outro arquivo da pasta Lib e mudar o id do looktype lá. Mas recomendo usar meu script mesmo, vai ser mais fácil para você. Testa e me fala.
  2. Arrumei o seu script e coloquei tempo para refazer a quest caso ele complete ou seja removido de acordo com uma função reloadAnnihi. Substitua o código por esse: --[[> Annihilator script by Marcryzius D'ev <]]-- local time_quest = 24 -- COLOQUE O VALOR EM QUANTIDADE DE HORAS PARA REFAZER A QUEST local storage_time = 63598 -- STORAGE PARA ARMAZENAR AS HORAS PARA REFAZER A QUEST local pos_demons,pos_players,tele_players,exit_players = { -- posições onde serão sumonados os monstros na annihilator {x = 33426, y = 32793, z = 8,stackpos=253} },{ --posições onde estão os players antes de irem a sala da annihi {x = 33420, y = 32796, z = 6,stackpos=253}, {x = 33421, y = 32796, z = 6,stackpos=253}, {x = 33422, y = 32796, z = 6,stackpos=253}, {x = 33423, y = 32796, z = 6,stackpos=253}, {x = 33424, y = 32796, z = 6,stackpos=253}, },{ --posições onde serão teleportados os players para a sala da annihi {x = 33419, y = 32793, z = 8,stackpos=253}, {x = 33420, y = 32793, z = 8,stackpos=253}, {x = 33421, y = 32793, z = 8,stackpos=253}, {x = 33422, y = 32793, z = 8,stackpos=253}, {x = 33423, y = 32793, z = 8,stackpos=253}, }, {x = 33421, y = 32794, z = 6} -- posição de saida local level,time_annihi = 10,20 QUANT = time_annihi -- não mecha RELOAD_ANNIHI = 0 -- não mecha --== FUNÇÕES NECESSARIAS ==-- local function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers) --Marcryzius local creaturesList = {} for x = -radiusx, radiusx do for y = -radiusy, radiusy do local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE}) if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then table.insert(creaturesList, creature.uid) end end end return creaturesList end local function repeatTxtInPos(alavanca_pos,cor) local pos = tele_players[3] if(QUANT > 0)then QUANT = QUANT-1 doSendAnimatedText(alavanca_pos,QUANT,cor) doSendAnimatedText({x=pos.x-10,y=pos.y-10,z=pos.z},QUANT,cor) doSendAnimatedText({x=pos.x-10,y=pos.y+10,z=pos.z},QUANT,cor) doSendAnimatedText({x=pos.x+10,y=pos.y+10,z=pos.z},QUANT,cor) doSendAnimatedText({x=pos.x+10,y=pos.y-10,z=pos.z},QUANT,cor) addEvent(repeatTxtInPos,1000,alavanca_pos,cor) else QUANT = time_annihi stopEvent(RELOAD_ANNIHI) RELOAD_ANNIHI = 0 end end local function reloadAnnihi() local players = getCreaturesInRange(tele_players[3], 6, 6, true, true) for _,cid in pairs(players) do if(isPlayer(cid) == true)then doTeleportThing(cid,exit_players, false) doPlayerSendCancel(cid,"Voce não conseguiu completar a annihi e por isso foi retirado dela... NOOB!") setPlayerStorageValue(cid, storage_time, os.time() + (time_quest * 60 * 60)) -- SE O PLAYER FOR RETIRADO DA QUEST ELE PRECISA ESPERAR O TEMPO COLOCADO NA VARIÁVEL TIME_QUEST PARA REFAZER A QUEST return true elseif(isMonster(cid))then doRemoveCreature(cid) end end end --== FUNÇÕES NECESSARIAS ==-- function onUse(cid, item, fPos, itemEx, toPosition) if(item.itemid == 1946)then if getPlayerStorageValue(cid, storage_time) <= os.time() then for _,pos in pairs(pos_players) do local player = getThingFromPos(pos) if not(isPlayer(player.uid))then return true,doPlayerSendCancel(cid, "voce precisa de "..#pos_players.." pessoas para poder entrar na sala.") elseif(getPlayerLevel(player.uid) < level)then return true,doPlayerSendCancel(cid, "Todos necessitam ter level "..level.." ou mais.") end end local getMonsterInAnnihi = getCreaturesInRange(tele_players[3], 5, 5, true) for k,pos in pairs(pos_demons) do if(k <= #pos_players)then local player = getThingFromPos(pos_players[k]) if(player.uid ~= nil)then doTeleportThing(player.uid,tele_players[k], false) end end if(#getMonsterInAnnihi > 0)then reloadAnnihi() end doSummonCreature("Rat", pos) -- Nome do monstro end if(QUANT == time_annihi)then repeatTxtInPos(fPos,time_annihi,0) RELOAD_ANNIHI = addEvent(reloadAnnihi,time_annihi*1000) end setPlayerStorageValue(cid, storage_time, os.time() + (time_quest * 60 * 60)) -- CASO O PLAYER COMPLETE A QUEST ADICIONA TEMPO COLOCAD NA VARIÁVEL TIME_QUEST PARA REFAZER return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vocês precisam esperar 24 horas para fazer a quest novamente.") doPlayerSendCancel(cid, "Vocês precisam esperar 24 horas para fazer a quest novamente.") return true end elseif(item.itemid == 1945)then if(#getCreaturesInRange(tele_players[3], 6, 6, false, true) > 0)then return true,doPlayerSendCancel(cid,"Espere o time acabar de fazer a annihilator quest.") end end end Eu deixei 24 horas para refazer a quest, mas, se quiser mudar a quantidade de horas, só alterar o valor da variável time_quest no começo do script. E a variável storage_time armazena a storage da quest (que verifica o tempo para refazer). Testa e me fala se der algum erro.
  3. Yan Oliveira

    Super SD VIP

    Que bom que funcionou ?.
  4. Yan Oliveira

    Super SD VIP

    @Darwiinxp o @brazvct está falando para você fazer isso: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -32, -1, -48, 5, 5, 8, 13) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 13540) > 0 then return doCombat(cid, combat, var) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você precisa ser vip para usar esse ataque.") doPlayerSendCancel(cid, "Você precisa ser vip para usar esse ataque.") return true end end
  5. Yan Oliveira

    Ajuda com Script

    É que você informou essa versão ao criar o tópico. Se não for ela, você precisa corrigir para saber qual a versão que sua base é para poder te ajudar.
  6. Yan Oliveira

    Remover Look

    Como assim? Qual o sentido do título do tópico com a dúvida do tópico? No título você fala de look e no tópico fala de remover o container do depot . Precisa explicar melhor ou deixar mais coerente o título com o que você quer.
  7. Depende muito da maneira como o player é criado na sua base, se é account manager, site ou outra maneira. Como o player é criado?
  8. Yan Oliveira

    Ajuda com Script

    Você está desenvolvendo uma base no TFS 1.2? Qual base está usando?
  9. Tem que ver qual era o erro. Sobre o tempo, eu tinha feito uma função recursiva e regressiva, então como o addEvent era a cada 1 minuto (60000ms) e no último parâmetro passava os minutos (5), então a cada 1 minuto ele verificava a condição que fiz e se fosse igual a 0 o parâmetro time ele teleportava, senão ia exibindo a mensagem falando o tempo restante. Mas, que bom que funcionou.
  10. E que erro estava dando? Porque não adianta sair mudando várias linhas aleatoriamente. Mas enfim, que bom que deu certo.
  11. Eu inverti o nome da função sendTextMessage haha, fiz tudo de cabeça. Testa agora: -- FUNÇÃO PARA TELEPORTAR O JOGADOR -- local function TimerToKick(cid, pos, texto, time) if time <= 0 then doTeleportThing(cid, pos) cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, texto) else if time > 1 then cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você tem " ..time.. " minutos até ser teleportado.") elseif time == 1 then cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você tem " ..time.. " minuto até ser teleportado.") end addEvent(TimerToKick, 60000 * 5 * 60, cid, pos, text, time-1) end end -------------------------------------------------------------------------------------------------------------------- local unique_id = 6325 -- UNIQUE ID QUE COLOCOU NO PISO NO REMERE'S local kick_position = Position(1000, 1000, 7) -- POSIÇÃO ONDE O PLAYER SERÁ TELEPORTADO local texto = "Você foi teleportado." -- TEXTO QUE O PLAYER RECEBERÁ AO SER TELEPORTADO ----------------------------- CÓDIGO ----------------------------- function onStepIn(cid, item, position, fromPosition) if item.uid == unique_id then TimerToKick(cid, kick_position, texto, 5) -- O ÚLTIMO PARÂMETRO É O TEMPO EM MINUTOS PARA O PLAYER SER TELEPORTADO return true else return true end end
  12. Entendi, se tivesse explicado isso no tópico tinha ficado bem mais fácil de entender kkk. Eu fiz um outro script para você, em movements mesmo. Mas, antes do script, abre o mapa no Remere's e coloca um unique_id em todos os pisos (um único unique id para todos os pisos) da área da fusão onde só fica 1 player. E após isso, substitua o seu código por esse: -- FUNÇÃO PARA TELEPORTAR O JOGADOR -- local function TimerToKick(cid, pos, texto, time) if time <= 0 then doTeleportThing(cid, pos) cid:sendMessageText(MESSAGE_STATUS_CONSOLE_BLUE, texto) else if time > 1 then cid:sendMessageText(MESSAGE_STATUS_CONSOLE_BLUE, "Você tem " ..time.. " minutos até ser teleportado.") elseif time == 1 then cid:sendMessageText(MESSAGE_STATUS_CONSOLE_BLUE, "Você tem " ..time.. " minuto até ser teleportado.") end addEvent(TimerToKick, 60000, cid, pos, text, time-1) end end -------------------------------------------------------------------------------------------------------------------- local unique_id = 6325 -- UNIQUE ID QUE COLOCOU NO PISO NO REMERES local kick_position = Position(1000, 1000, 7) -- POSIÇÃO ONDE O PLAYER SERÁ TELEPORTADO local texto = "Você foi teleportado." -- TEXTO QUE O PLAYER RECEBERÁ AO SER TELEPORTADO ----------------------------- CÓDIGO ----------------------------- function onStepIn(cid, item, position, fromPosition) if item.uid == unique_id then TimerToKick(cid, kick_position, texto, 5) -- O ÚLTIMO PARÂMETRO É O TEMPO EM MINUTOS PARA O PLAYER SER TELEPORTADO return true else return true end end Deixei tudo comentado, mas, você só precisa colocar o número do unique id que colocou nos piso no Remeres na variável unique_id no script e colocar a coordenada correta para onde o player vai ser teleportado na variável kick_position. E na tag xml em movements.xml: <movevent event="StepIn" itemid="ID DO PISO" script="NOME DO ARQUIVO.lua"/> Não sei se já configurou certo o xml do script, mas, só colocar o nome do arquivo onde falei e o id do piso da área. Testa e me fala se der algum erro ou problema.
  13. Que estranho. Mas, é uma quest? Me explica como funciona do começo ao fim, como que o player inicia, se clica em algo antes. Explica todo o procedimento.
  14. Testa assim: local function teleportPlayer(cid, position) if isPlayer(cid) then doTeleportThing(cid, position) end end local config = { time = 1, --Tempo, em minutos, parado para ser teleportado. toPos = {x = 1081, y = 1081, z = 9}, --Para onde o player será teleportado. event = 0 } -------------------------------------------------------------------------------------------------- function onStepIn(cid) config.event = addEvent(teleportPlayer, config.time * 60 * 1000, cid, config.toPos) end function onStepOut(cid) stopEvent(config.event) return true end Vê se permanece sem funcionar.
  15. Cara, não entendi, mas isso que falou agora não tem haver com o pedido do tópico. Você não queria um item que transformasse o player em monstro ao clicar e voltar ao normal ao clicar de novo? Está um pouco confuso o que você quer. E quando for inserir código no post, coloque ele dentro da tag código ou spoiler, fica no menu de opções onde fica a fonte e cor do texto.
  16. De nada! Que bom que funcionou, porém eu estava pensando aqui, e do jeito que eu fiz pode ser que dê problema em uma ocasião, caso o player deslogue com a outfit de monstro. Faz um teste, desloga com a outfit de monstro e loga novamente, vê se volta normal como player, e se voltar como monstro, clica no item e vê se vira outro monstro. Sobre o outro tópico, eu vi, mas não entendi muito bem o seu pedido, quando fala de summon está falando de monstro ou de criar um teleport?
  17. De nada! Funcionou? Testou?
  18. Tranquilo querido, mas, tem que falar isso para você já estar ciente, e também acontece muito isso no fórum. Foi até engraçado, porque eu vi um tópico seu e falava "Que estranho, parece que já vi esse tópico antes, e eu lembro de ter respondido" haha, então, também pode confundir. Mas, eu não falei por ser chato, mas porque é regra do fórum mesmo.
  19. Que bom que funcionou ?. Obrigado pelas palavras, fico feliz ❤️.
  20. Que estranho, está certo as tabelas, esse erro geralmente é de coordenada. Testa assim: -- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 2707, quantidade = 1} } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 267, y= 1380, z= 7}, {x= 271, y= 1380, z= 7}, {x= 267, y= 1377, z= 7} } --------------------------------- CÓDIGO --------------------------------- function onThink(cid, interval, lastExecution) local mensagem = true -- VARIAEL QUE DEFINE SE VAI APARECER MENSAGEM, SE QUER MENSAGEM MUDE DEIXE TRUE, CASO CONTRÁRIO MUDE PARA FALSE local random_item = math.random(#items) -- VALOR ALEATÓRIO PARA PEGAR UM ID DE ITEM DE ACORDO COM O ÍNDICE DA TABELA local random_position = math.random(#coordenadas_mapa) -- VALOR ALEATÓRIO DO ÍNDICE DA TABELA PARA PEGAR UMA POSIÇÃO PARA CRIAR O ITEM local texto = "Um item surgiu no mapa." -- TEXTO QUE VAI APARECER NO BROADCAST if mensagem then doCreateItem(items[random_item].id, items[random_item].quantidade, coordenadas_mapa[random_position]) doBroadcastMessage(texto) return true else doCreateItem(items[random_item].id, items[random_item].quantidade, coordenadas_mapa[random_position]) return true end end Agora estou passando a tabela diretamente em vez de passar os elementos individuais (x, y, z). Testa e me fala.
  21. Você colocou os ids e coordenadas certa? Como você deixou as tabelas?
  22. Não acho que seja bom um iniciante em Opentibia começar a mexer com Xampp (MySql) direto como banco de dados, a não ser que ele saiba mexer com. É bem mais fácil começar com Sqlite mesmo, pois é só ligar o servidor. Mas, também não é nada que seja difícil ligar servidor com Xampp, tem vários tutoriais ensinando isso.
  23. E a maneira que o player sai dessa arena é apenas voltando no teleport ou ele pode morrer lá nessa área?
  24. Yan Oliveira

    script mount

    Então cara, mas, se você abrir a janela de outfit (CTRL+ direito do mouse em cima do personagem) já abre a janela que inclui tanto as outfits do personagem, quanto as montarias, e aparece todas. Por que você quer um script assim sendo que já tem essa opção que é mais acessível e mais fácil?
  • Quem Está Navegando   0 membros estão online

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