Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

Search the Community

Showing results for tags 'action'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Recursos
    • Suporte
    • Pedidos
    • Downloads
  • OFF-Topic

Categories

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

Found 845 results

  1. [spoiler*] Criar 1 arquivo com nome Porta.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local itemid = 2139 ---- ITEM QUER PRECISAR PARA PASSAR PELA PORTA local pos = {x = 1107, y = 1017, z = 7} -- posição pra onde sera teleportado if #getCreatureSummons(cid) >= 1 then return doPlayerSendCancel(cid, "Return your pokemon.") end if getPlayerItemCount(cid, itemid) >= 1 then doPlayerSendCancel(cid, "MENSAGEM!.") doTeleportThing(cid, pos) else doPlayerSendCancel(cid, "MENSAGEM!") end return true end Tag <action actionid="55555" event="script" value="Porta.lua"/> [spoiler*]
  2. Eae pessoal, Fiz esse script apenas para ajudar um membro, porém nunca vi nada parecido aqui, resolvi postar. É bem simples, mas da para fazer muita coisa legal. Quem quiser qualquer alteração como condição para usar, mudar para talkactions, etc... é só pedir no tópico. Basicamente é só dá use no item, que você fica invisível para players e monsters, por determinado tempo. Vamos usar CONDITION, porém só funciona se o player que usar o item, tiver group id maior que os outros, para que fique invisível. Mas nosso amigo @caotic vai nos ensinar a mudar isso: Faça isso e independente do seu grupo você vai fica invisível para todos. agora vá em data/actions/scripts e crie uma arquivo.lua, e cole isso dentro: local tempo = 1 -- tempo que o player vai ficar invisivel em segundos. local ghost = createConditionObject(CONDITION_GAMEMASTER, 1000*tempo, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, 1000*tempo, false) function onUse(cid, item) if not isPlayerGhost(cid) then doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você está invisivel, agora ninguem pode te ver.") doAddCondition(cid, ghost) doAddCondition(cid, outfit) else doPlayerSendCancel(cid, "Você já está invisivel.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end depois vá em data/actions/actions.xml e adicione a tag: <action itemid="IDdoITEM" script="NomeDoArquivo.lua"/> pronto. Como falei é bem simples, qualquer coisa é só pedir...
  3. Não consigo aumentar o limite de efeitos do client, segui um tutorial porém, algumas funções tem pequenas diferenças, já tentei deixar exatamente como no tutorial e não consegui, tentei usar uma outra source que já contém efeitos aumentados para comparação mas na hora de compilar da erro, não entendo de source, alguém poderia fazer o imenso favor de aumentar esse limite nas sources? OBS: Compila normal se eu não fazer as alterações para aumentar esse limite Link do tutorial ensinando aumentar o limite de effects (único que achei, nele tem 1 source já com effects aumentados como base): Aumentando limite de efeitos Download da Source sem NADA alterado (0.3.6 (Crying Damson)) Source (Já contém Scan no 4shared) Essa Source é desse Post: Base Bolz 2.5 Open Source Download da Source que editei pela ultima vez tentando aumentar os effects, os erros da compilação abaixo são referentes a essa ultima tentativa Source que tentei aumentar os efeitos pela ultima vez OBS: Todas tentativas deram erros, os erros são praticamentes os mesmos, mudam poucas coisas ou ordem Aqui o Log do Compilador Completo (Todos erros): (Resumo) Os Ultimos erros que apareceram, e que falam (diretamente) sobre o que eu alterei: Explicando a situação o mais completo possível pra que possam me ajudar: Na minha source, algumas coisas são um pouco diferentes de como estão no post do tutorial, eu tentei deixar exatamente como diz lá e na hora de compilar aparecem VÁRIOS erros (se compilar sem editar nada, funciona) Exemplo, no tutorial manda procurar em 2 lugares por: void ProtocolGamesendMagicEffect(const Position& pos, uint8_t type) e trocar por: void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type) em protocolgame.cpp está exatamente igual, eu substituo como dito no post. Já no protocolgame.h está assim: void sendMagicEffect(const Position& pos, uint8_t type) Em alguns outros lugares eu encontro o "void Game::" em vez de só "void" , em outros ao contrário... Mesmo com essas diferenças, eu consegui encontrar TODOS, vi que só o que muda é o: ProtocolGame:: ou Game:: Tentei substituir pelo do post e deixar tudo EXATAMENTE como diz o post, porém da erro, creio que em alguns lugares eu devo retirar o "ProtocolGame::", em outros colocar, em alguns lugares adicionar "Game::" e em outros retirar, porém são muitas combinações possiveis, estou tentando e não estou conseguindo, cada combinação que tendo aparecem erros diferentes, @Skulls @Gabrieltxu @JairKevick
  4. Feito por Codex NG. Esse script vai criar uma ponte em direção x e, em seguida, irá destruir-se e enviar o jogador para o andar de baixo. Zelda Like Bridge --[[ Zelda like bridge by Breed ]] c = { -- config b = { -- this is your starting point, depending on the direction you choose is the direction your bridge will form x=124, y=125, z=6, -- every tile after this location will form a bridge for the value of bridgeLength }, sp = 0, -- do not edit actionid = 803, -- action id of the tile which activates the bridge -- these are the normal switch id's but you can use any tiles you like tileStepIn = 426, -- the switch or item you want to use to click on tileStepOut = 425, -- the it will be transformed to bridgeLength = 13, -- the length of the bridge in tiles bridgeItem = 406, -- 406 is black, 407 is white direction = {"north", "east", "south", "west"}, timer = 2, -- time in seconds, 1 equals 1 second itemid = {}, -- table to hold the items that are removed oldLoc = {}, tile_id = 459, -- stairs create = CONST_ME_GROUNDSHAKER, -- this is the effect when creating the bridge destroy = CONST_ME_FIREAREA, -- this is the effect when destroying the bridge exhaust = true, exhaust_time = 1, -- this is the monster = "Demon" } local choice = "east" -- Do not edit anything below function onStepIn(cid, item, pos, fromPos) if item.itemid == c.tileStepIn and item.actionid == c.actionid and isPlayer(cid) then if c.exhaust then c.exhaust = false if choice == c.direction[1] then -- north for i = 1, c.bridgeLength do c.oldLoc[i] = {x = c.b.x, y = c.b.y - i, z = c.b.z, stackpos = c.sp} end elseif choice == c.direction[2] then -- east for i = 1, c.bridgeLength do c.oldLoc[i] = {x = c.b.x + i, y = c.b.y, z = c.b.z, stackpos = c.sp} end elseif choice == c.direction[3] then -- south for i = 1, c.bridgeLength do c.oldLoc[i] = {x = c.b.x, y = c.b.y + i, z = c.b.z, stackpos = c.sp} end elseif choice == c.direction[4] then -- west for i = 1, c.bridgeLength do c.oldLoc[i] = {x = c.b.x - i, y = c.b.y, z = c.b.z, stackpos = c.sp} end end for i = 1, c.bridgeLength do local l = c.oldLoc[i] c.itemid[i] = getThingfromPos(c.oldLoc[i]).itemid local bridge = (i % 2 == 0) and c.bridgeItem or c.bridgeItem + 1 -- this will swap between 2 different tiles addEvent(makeBridge, i * 1000, c.oldLoc[i], bridge, c.create) end doTransformItem(item.uid, c.tileStepOut) addEvent(removeBridge, (c.bridgeLength + c.timer) * 1000, c) return true else doTransformItem(item.uid, c.tileStepOut) end end return true end function makeBridge(pos, item, effect) local newpos = {x = pos.x, y = pos.y, z = pos.z + 1} doSendMagicEffect(pos, effect) doTransformItem(getThingfromPos(pos).uid, item) if getTopCreature(pos).uid > 1 then local player = Tile(pos):getTopCreature() if player ~= nil or player:isPlayer() then player:getPosition():sendMagicEffect(CONST_ME_ENERGYAREA) player:teleportTo(newpos, false) end end end function resetExhaust(c, val) c.exhaust = val end function removeBridge(c) for n = 1, c.bridgeLength do addEvent(makeBridge, n * 1000, c.oldLoc[n], c.tile_id, c.destroy) if (n * 1000) == (c.bridgeLength * 1000) then addEvent(resetExhaust, (c.bridgeLength + c.exhaust_time) * 1000, c, true) doSummonCreature(c.monster, c.oldLoc[#c.oldLoc]) end end end function onStepOut(cid, item, pos) doTransformItem(item.uid, c.tileStepIn) end Fiery Death local lava = {598, 599, 600, 601, 1509, 9883} -- lava tile id, 1509 is walkable local health = 1 -- percentage of hp to take, .1 is 10%, .2 is 20%, 1 is 100% function onStepIn(cid, item, pos, fromPos) if isInArray(lava, getThingfromPos(pos).itemid) then doCreatureAddHealth(cid, -(getCreatureMaxHealth(cid) * health)) end end
  5. Ta ai um script muito bom galera, créditos e instruções no próprio script. --[[ Square Skill Trainer made by Arthur aka artofwork 12/1/14, my original account Updated 10/15/2015, to 1.2 based on tfs sources on github by Codex NG This script will train all of a players skills indefintely including magic level It has a small configuration setup where you can set the number of tries per skill The time interval in between each skill try added A storage value to help prevent abuse You can assign any tile you wish to this script that a player can walk on with action id 900 Now removes offline training time for free accounts New in this script? skill tries for both free account & premium accounts mana gain for both free & premium accounts mana multipliers to effect magic level for both free and premium accounts based on percentage experience gain for both free and prem accounts Added optional all skills for free accounts or just the weapons & shield they have equiped add this too movements <!-- Square Trainer --> <movevent event="StepIn" actionid="900" script="squaretrainer.lua"/> <movevent event="StepOut" actionid="900" script="squaretrainer.lua"/> save this file in data\movements\script\ as squaretrainer.lua ]]-- local special = false -- true for vip false for prem -- do not edit local currentTime = os.time() local day = 86400 -- 1 full day in seconds local minimumTime = 0 -- minimum time for vip local addSkillTimer = 1000 -- do not edit - time at which skill tries are added local skills = 5 -- 0 to 5 includes 0:fist, 1:club, 2:sword, 3:axe, 4:distance, 5:shield -- do not edit ------------------------------- local allskills = false -- should free accounts train all their skills local removeOfflineTime = true -- do you want to remove offline training time? -- minutes to remove per minute, should be minimum 2 since they gain a minute for every minute they are not killing something local timeOfOfflineToRemove = 2 -- minimum hours needed to train, set it to 12 if u want to test the tp to temple local minimumTimeNeedToUseTrainers = 1 local useConfigMlRate = false -- do you want to use the config settings rate of Magic in this script local useConfigExpRate = false -- do you want to use the config settings rate of Exp in this script local useConfigSkillRate = true -- do you want to use the config settings rate of Skills in this script -- do not edit local keys = { RATE_SKILL = 6, RATE_MAGIC = 8, RATE_LOOT = 7, RATE_EXPERIENCE = 5 } local tseconds = 1000 local tminute = 60 * tseconds local thour = 60 * tminute local trainingTimeMax = thour * minimumTimeNeedToUseTrainers -- 43200000 default value (12 hours) ----------------- -- used by isSpecial, this allows certain account types to skip the offline time removal local godAccount = 4 -- tile actionid local aid = 900 local p = {} local addskills = { prem = 1000, -- xp to add as vip/prem (depends if special is true) account per interval -- the rate is a percentage of their max mana, this way it scales with their level manaGainPremRate = .10, -- mana to add as vip/prem (depends if special is true) account per interval premSkillTries = 100, -- Number of tries per skill for vip/prem (depends if special is true) account per interval premManaMultiplier = 5, -- when player has full mana multiply how much more mana is used to gain magic level free = 100, manaGainFreeRate = .01, -- mana to add as free account per interval freeSkillTries = 1, -- Number of tries per skill for free account freeManaMultiplier = 1, -- when player has full mana multiply how much more mana is used to gain magic level balanceShield = 3 -- 3 is good, but if shielding goes up too quick then lower it, use only whole numbers e.g. 1, 2, 3 } -- do not edit local weaponTypes = { [0] = { 0, 0 }, -- fist { 1, 2 }, -- Sword { 2, 1 }, -- Club { 3, 3 }, -- Axe { 4, 5 }, -- Shield { 5, 4 }, -- Distance { 6, 0 } -- 6 is rod / wands, 0 is for fists.. } local shieldId = 5 function getSlottedItems(player) local left = pushThing(player:getSlotItem(CONST_SLOT_LEFT)).itemid local right = pushThing(player:getSlotItem(CONST_SLOT_RIGHT)).itemid left = ItemType( left ):getWeaponType() right = ItemType( right ):getWeaponType() return left, right end -------------------------------- -- this function is only effected by free accounts function templeTeleport(p) p.player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) p.player:setStorageValue( 18010, 0) local temple = p.player:getTown():getTemplePosition() p.player:teleportTo(temple) temple:sendMagicEffect(CONST_ME_ENERGYAREA) p.player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, "..p.name.." you don't have enough offline time to train.") end function RemoveOfflineTrainingTime(p) if trainingTimeCheck(p) then p.player:removeOfflineTrainingTime(timeOfOfflineToRemove * 60000) p.seconds = 60000 -- reset the timer end end function trainingTimeCheck(p) local time_ = p.player:getOfflineTrainingTime() if time_ <= (timeOfOfflineToRemove * tminute) then templeTeleport(p) end if time_ >= trainingTimeMax then return true else templeTeleport(p) end end function isSpecial(player) -- this is so i could test the shit right away if player:getAccountType() >= godAccount then return true end if special then return (math.floor((player:getStorageValue(13540) - currentTime) / (day)) > minimumTime) else return player:isPremium() end end function train(p) local player = p.player if player:isPlayer() and player:getStorageValue(18010) == 1 then if isSpecial(player) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will now begin.") addEvent(trainMe, 1, p) else -- if free account, they have to wait 30 seconds to begin training if p.secondsTime > 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will begin in "..(p.secondsTime).." seconds.") end if p.secondsTime <= 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will now begin.") addEvent(trainMe, 1, p) else p.secondsTime = p.secondsTime - 10 addEvent(train, 10000, p) end end end return true end function returnRate(useRate, RATE) return useRate and configManager.getNumber(RATE) - 3300 or 1 end function trainMe(p) local player = p.player local weaponLeft, weaponRight = getSlottedItems(player) if player:isPlayer() and player:getStorageValue(18010) == 1 then if isSpecial(player) then player:addExperience(addskills["prem"] * returnRate(useConfigExpRate, RATE_EXPERIENCE) ) -- add mana to player based on premium mana rate settings player:addManaSpent(addskills["manaGainPremRate"] * player:getMaxMana() ) else player:addExperience(addskills["free"] * returnRate(useConfigExpRate, RATE_EXPERIENCE) ) -- add mana to player based on free mana rate settings player:addManaSpent(addskills["manaGainFreeRate"] * player:getMaxMana() ) end for i = 0, skills do if isSpecial(player) then if i == shieldId then -- shielding, will help balance shield gain player:addSkillTries(i, (addskills["premSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) else player:addSkillTries(i, addskills["premSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) -- all other skills end else if allskills then if i == shieldId then -- shielding, will help balance shield gain player:addSkillTries(i, (addskills["freeSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) else player:addSkillTries(i, addskills["freeSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) -- all other skills end else -- this effects only free accounts for i = 0, #weaponTypes do if weaponTypes[i][2] == shieldId and weaponTypes[i][1] == weaponRight then player:addSkillTries(weaponTypes[i][2], (addskills["freeSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) end if weaponTypes[i][2] ~= shieldId and weaponTypes[i][1] == weaponLeft then player:addSkillTries(weaponTypes[i][2], addskills["freeSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) end end end end -- will increase magic level based on max mana times multiplier local maxMana = player:getMaxMana() if player:getMana() == maxMana then if isSpecial(player) then -- premium account multiplier used to increase level player:addManaSpent(maxMana * (addskills["premManaMultiplier"] * returnRate(useConfigMlRate, RATE_MAGIC)) ) else -- free account multiplier used to increase level player:addManaSpent(maxMana * (addskills["freeManaMultiplier"] * returnRate(useConfigMlRate, RATE_MAGIC)) ) end player:addMana(-maxMana) end end if not isSpecial(player) then p.seconds = p.seconds - addSkillTimer if(p.seconds <= 1000) then -- we want to be fair so we make sure the player gets a whole minute if removeOfflineTime then addEvent(RemoveOfflineTrainingTime, 1, p) end end end addEvent(trainMe, addSkillTimer, p) end return true end function onStepIn(player, item, position, fromPosition) if not player:isPlayer() then return false end p = -- this is table is essential so we can pass it to the other functions { player = player:getPlayer(), item = item, pos = player:getPosition(), soul = player:getSoul(), seconds = 60000, secondsTime = 30, name = player:getName() } if player:isPlayer() then if player:getStorageValue(18010) < 1 then if p.item.actionid == aid then player:setStorageValue(18010, 1) -- if the player is a free acc they will lose offline training time as they train if removeOfflineTime then RemoveOfflineTrainingTime(p) end addEvent(train, 1, p) end else player:teleportTo(fromPos, true) end end return true end function onStepOut(player, item, position, fromPosition) p.secondsTime = 30 stopEvent(train) -- may not work as expected stopEvent(trainMe) -- may not work as expected player:setStorageValue(18010, 0) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session has now ended.") return true end
  6. Créditos à Caronte & Adriano SwaTT. Testado em TFS 0.4. Coloquei em spoiler porque o conteúdo é grande. VERSÃO 1 VERSÃO 2
  7. E aí galera do Xtibia, beleza? Hoje tô aqui trazendo um script que eu não encontrei aqui no Fórum, então resolvi fazer ele. "Ain, mas pra ki ki eli schervi?" Simples. Ele funciona de maneira muito semelhante ao "teste de vocations" de Dawnport. Vindo itens e pots ao passar pelo tile, e impedindo que tu passe pelo piso caso tenha ultrapassado o lvl máximo. Foi testado em TFS 0.4 rev 3777. Bom, sem mais enrolação: Crie um arquivo chamado knight.lua na pasta Movements e cole isso aqui: E adicione a tag no movements.xml: "Ain, mas esse aí só vai transformar em Knight" Simples, é só customizar a seu gosto, modificando no config{} o id da voc. Bem, foi isso aí. Caso alguém tenha erros, é só comentar aqui que tentarei ajudar. E caso alguém queira aprimorar e postar aqui, sinta-se livre, recomecei a scriptar há pouco tempo.
  8. Olá Galera estava me arriscando em programar em lua e decidi criar algo bem simples mas útil ! vamos lá então ! Em Actions.xml Adiciona Isto: E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele: REP +
  9. Eae galera do Xtibia hoje venho liberar à vocês a base "PokemonSelest, Ja vou avisar é PDA contem bugs. Porem nao sao dificil de resolver. Ja Deixa aquele REP Maroto (y) [informaçoes] -Pokémons da 1°a 2 Geraçao e algums megas [COMPLETA] :v -Shinys nao estao completos -Mega Evoluções -Servidor sem level nos Pokémons -Sprites atualizadas Maioria recebeu sprites novas -Algums items novos [ERROS/BUGS] Que eu lembre contém ums bugs facio de arrumar, so lembro de dois no momento -Revive esta bugado quando usa ele da erro na distro -Unique item aconcelho a retirar por crasha o serve por ser pda. - Apenas algums erros no mapa Ex: buraco que nao leva a lugar nenhum, maioria foi resolvido. [sISTEMAS BASICOS] No servido contém - go/back 100% - catch system 100% - nurse system 100% - boost system 100% - aura system 100% - Npc nick 100% E algums que nao me lembro [Ajustes] - Algumas hunts arrumadas - Algumas casa que nao estava funcionando arrumadas :v - Charizard valley arrumada - Add ride em algums pokes que nao tinha [Dowload-Scan] Servidor : http://www.mediafire.com/download/p6y97elqpoddwl2/PokeSelest.rar Scan : https://www.virustotal.com/pt/file/83fedb34b79a4bfd452075ab57221df95c768f1a0bbe73b13f37310a382e9c26/analysis/1465158271/ Client : http://www.mediafire.com/download/t4xq7ue541hs1c3/ClientPxS.rar Scan : https://www.virustotal.com/pt/file/9c95738af7024b058ce3c475812b0714a6cc36dddd74cd9998b3acdee16e0c92/analysis/1465157726/ Bom proveito Deixarei um print para ver o servidor. - Creditos - Slicer [pelo servidor]Brun123 [por alguns scripts, e por criar o pda]Stylo Maldoso [Pelo Mapa ]Bolz [Por edita boa parte da base]Xtibia [Por algums scripts entre outras coisas]Zipter98 [Pelo system mega evoluçao PXG]Eu (Marcos Speker's) [ Por add megas no client, add hunts nova, e tbm algums system, talkactions]
  10. • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Preview; ├ Source; ├ Download; ├ Scan; ├ Creditos └ Desculpas. • Informações • •Senha do god: kevick/123mudar. --- Versão 1.0 --- • Boat System 100%, com a seguinte rota: De Pallet town a cinnabat city. • Perfect icon system 95%. 110 icons -- Removido tinha muitos bug, e influenciava a nurse a não hela alguns pokemon, quem sabe eu coloco na proxima versão 2.1 • Life do jogador aumenta quando come comidas ou sucos. --- Versão 1.1 --- • Passivas - "Psyduck" e "Golduck" - "Pikachu", "Raichu", "Shiny Raichu" > Electric charges - "Alakazam", "Tentacruel", "Gengar" - Blast mind e Scary face - "Scyther", "Scizor", "Shiny Scyther", "Hitmontop", "Shiny Hitmontop", "Pineco", "Forretress" > Counter helix • Dark Eye funcionando perfeitamente. • Shiny(Monstros ajeitados) •nenhum xD • Shinys aparecem aleatoriamente, pelo mapa. Por centagem de dar um: 2% de chance • Ditto system funcionando 100%. • !cd aprimorado, ele informa quanto tempo falta para dar Teleport com pokemons psychicos. • Ditto não pode transformar-se em pokemons de GINASIOS e o player tem que ter o level do pokemon que quer transformar. • Bug, quando morria a pokebola ficava em use. <:- Retirado -:> • Nova arvore colada no jogo, caminho (RAW/OTHERS) ou 12198, bonitinha. • Novo potion adicionado, só players, com level 10 ou mais, podem usar. --- Versão 1.2 --- • "Spray level up" adicionado, ele upa um level do player, não importando qual. --- Versão 2.0--- • removido todos os bug do jogo 90% sem bug 1 geração 100% • moves refeitos agora estao todos 100% -- primeira geração • 2 geração não testada • erro no fly concertado, quando o player dava order em cima do fly dava bug no distro -- fixed • Colocado barra de Pokebar no servidor OTC BPO necessario configurar • Erro no pvp fuchsia dava debug e erro no Distro fixed • Boost System tava com uns problema mais agora esta funcionando por enquanto • Nurse helando todos os pokemons em todas as Balls • Tile para entra na central de trocas arrumado Dava debug • Debug ao entra no ginazio arrumado • Removida ilha de gelo é muito grande , removendo ela melhora o desempenho do servidor , carai o bagui era um continente • Adicionado algumas areas premium account • Removido icon system Tinha muito bug , e bugava os pokemons iniciais • iniciais, Charmander,Squirtle e Bulbasaur -- sem bug • Npc Carlos compra iniciais por 25 Dollars • Pokemons passivos Não atacam o Player B para nossa alegria XD funcionava assim quando o player A atacava um pokemon o pokemon ia atacar o player B e C • Adicionado CORRER Agora o player pode correr, esse não é acumulativo exemplo se o player falasse correr 2x seguida a speed dobrava agora não dobra mais • Gate of expertise não funcionava o player bugava e nao passava pela porta, agora esta arrumado basta por action 1025,1050,1055~~~~ para player lvl 25,50,55 passar • Todas as houses foram reconfiguradas e foram refeitas, avia house que items desapareciam agora estão todas 100% para uso • Box não funcionava Dava debug, eo pokemon vinha bugado, Agora Fixed xD • Debug na praia de Cerulean -fixed • Nurse Agora heala os pokemons Shiny! • Avia muitos lugares com Debug Decidir colocar OTC • Gengar, Gastly e Haunter não ficavam invisivel • Bug no stun spore sleep powder, e posion powder, arrumados por enquanto esta em observação • Bug de cowndown , as vezes dava bug e o player podiam usar quantas vezes quiser o mesmo move - fixed • Iniciais agora estão funcionando corretamente • Stones de evolução estavam bugadas nada grave mais concertado • IP 127.0.0.1 Client a mesma coisa (client peguei de outro serve :b) •Order 100%. • As ID town foram arrumadas • Fly/ride/Teleport para premium • Comando /additem do god, ele pode dar items para tosos os players online Exemplo: /additem 2160, 10 • Erros Do Distro • Na distro nenhum por enquanto Crash -- 1x motivo nunca de reload em movements huehue • Bugs• --mecher no lick move 1 - nao fixo lick nao deixa o inimigo lento e não pode dar muito dano -- Falta OPCODE nas Source -- meganium -- maior parte dos bug estao no move 7 -- Algumas spells de pokemoins estao trocadas -- nao mechi em pokemons da segunda geração -- não mechi nos shinys -- Debug em algumas skills Eletricas -- Nurse as vezes nao hela pokemon e da erro na distro -- Shinys estão desconfigurado [23/07/2014 17:19:44] [Error - Spell Interface] [23/07/2014 17:19:44] In a timer event called from: [23/07/2014 17:19:44] data/spells/scripts/poke/nightshade.lua:onCastSpell [23/07/2014 17:19:44] Description: [23/07/2014 17:19:44] (luaDoCombat) Creature not found • PrintScreen • • Preview • Versão 2.1 Remoção de mais bugs Remakes de pokemons novas Outfit Refazer as cidades com os novos items ilha de gelo Free player vip com 25% de exp Chat VIP readicionar drop em todos os pokemons. Configurar chance dos drops additem que falta no loot mais npc de quest mais quest add quest de Boxs substituir alguns respawn e colocar pokemon da segundageração com remake Novas cidades e o que aparecer a mais na cabeça • Sources BUGs Corrigidos • ~Otpokemon v2.0 TFS 0.3.6 •Removido bug de clonagem com o elfbot •Resolvido alguns bug de crash agora a chance de crash sera reduzida •resolvido bug que o pokemon desaparecia ao se distanciar do player, •resolvido bug nas source do npc que fazia dar lag erros loucos no Distro • Outros • Catch 100% Fly 100% Flash 100% Surf 100% Ride 100% Rock Smash 100% Cut 100% Teleport 100% (!h pra ver os lugares e !h nomedacidade para ir ate a cidade) Control Mind 99.9% Order 100% Catch 100% Goback 100% Portrait 100% Pokedex 100% m1~m12 100% Hold position 100%(para o pokemon fikar parado vc diz .h pra ele se mover dnovo vc diz .h =D) !lg para mudar a linguagem (English-Português) Talkactions 100% NIck System 100% Efeito ao upar level • Download's • Server+Source OtClient OldClient • PATCH'S: • CREDITOS: Valakinhas pela dash v6 open source usada como base Kevick- editar mapa, adicionar sistemas e remakes e refazer o mapa
  11. Olá, gostaria de pedir um script cuja o NPC de Torneio teleporte o player para uma determinada localização ao falar "Entrar". ^^ +REP
  12. Atualização: Retirado bug de não conseguir se divorciar Retirado bug do NPC não responder após o pedido ser feito. Retirado outros vários bugs que não to afim de digitar. Introdução: É o sistema de casamento conhecido, porém foi reformulado para funcionar em versões mais recentes. O sistema contém: Item: Os jogadores que se casar receberão um Wedding ring com seus nomes e data do casamento. Outfit: jogadores que se casam recebem outfit, caso se divorciem, perder as outfits. Look: o look mostra com quem é casado. Comandos: /marriage info -- mostra em uma janela o preço do casamento/divórcio e o level minimo para casar. /marriage status -- mostra com quem é casado e a data do casamento. Sobre o divorcio: não é preciso que, para se divorciar, os 2 players casados estejam online. Exemplo: JOÃO e casado com MARIA, JOÃO vai até o npc e paga um preço para de divorciar, só quem pede o divorcio que paga a taxa, logo MARIA não precisa pagar nada pois seu Ex-Patner JOÃO já pagou. O que ela precisa fazer é "assinar" com o npc o seu divorcio também. Como casar? Player que vai pedir (1): Player que vai aceitar (2): Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Caso você ter e querer a outfit Husband e Wife(de casamento) no seu servidor, vá na pasta Data > Xml > outfits.xml e adicione isso na outfit: quest="150420" que irá ficar assim: <outfit id="23" quest="150420"> <list gender="0" lookType="329" name="Wife"/> <list gender="1" lookType="328" name="Husband"/> </outfit> Mods: Npc: Configuração: marry_config = { OnlyDifferentSex = false, -- se precisa ser do sexo oposto Marry_Price = 300000, -- quanto vai custar o pedido de casamento Divorce_Price = 100000, -- quanto vai custar o divórcio Level = 50, -- que level precisa ser para casar MaxSqm = 7, -- aqui é quantos sqm eles precisam estar perto um do outro para se casar Text = {'I love you!','My love!','Baby dear!'}, -- frases que vão sair ao se casar RingID = 10502, -- id do ring que receberão ao se casar TimeAccept = 30, -- tempo que o jogador tem para aceitar o pedido de casamento storage1 = 300235, -- n mexa storage2 = 300236, -- n mexa storage3 = 300237 -- n mexa } Alguns membros pediram pra traduzir para o português mas poderia dar conflito em alguns servers.
  13. data/actions/double.lua function onUse(cid, item, fromPosition, itemEx, toPosition)local player = Player(cid)player:setStorageValue(80000, os.time() + 2 * 60 * 60)Item(item.uid):remove()player:say("You have just activated 2 hours of Double Experience!", TALKTYPE_MONSTER_SAY)return trueend data/actions.xml <action itemid="8981" script="double.lua"/> data/events/player.lua function Player:onGainExperience(source, exp, rawExp) local thing = self:getStorageValue(80000) if thing > os.time() then return exp * 2.0 end return expend data/events.xml Mude <event class="Player" method="onGainExperience" enabled="0" /> Para <event class="Player" method="onGainExperience" enabled="1" /> Créditos: imkingran
  14. Hello, remaker script for tfs 1.x. talkactions.xml <talkaction words="!ownbp" script="ownbp.lua"/> ownbp.lua local config = { cost = 1000, -- Cost (GP) ownTime = 24 * 60 * 60 * 1000, -- Time (24 horas) backpackId = 2000 } function onSay(player, words, param) local playerID = player:getGuid() local owner = (playerID + 100) local ownerName = player:getName() local function noOwner(o) o:removeAttribute(ITEM_ATTRIBUTE_DESCRIPTION) o:setActionId(0) end if (player:removeMoney(config.cost) == true) then local backpack = doPlayerAddItem(player:getId(), config.backpackId, 1) if (backpack ~= nil) then doSetItemSpecialDescription(backpack, ownerName..' owns this container.') doSetItemActionId(backpack, owner) addEvent(noOwner, 1000 * config.ownTime, backpack) end else doPlayerSendCancel(cid, "You do not have the amount of GP ("..config.cost..").") end end actions.xml <action itemid="2000" script="ownbp.lua"/> ownbp.lua function onUse(cid, item, fromPosition, target, toPosition, isHotkey) local playerID = cid:getGuid() -- getPlayerGUID(cid) local owner = (item.actionid - 100) if (owner > 0) then if (owner ~= playerID) then doPlayerSendCancel(cid, "You aren\'t owner of this container.") return TRUE end end end by @@azi
  15. Gostaria de um sistema nesse estilo: Ao upar para o level determinado abaixo, o player irá receber x itens, aparecerá uma mensagem em LARANJA no default e aqueles tipo de popup também. Upar level 20: Ganhar uma red backpack e dentro dela ter: 25 health potion, 25 mana potion, 30 fishs e Wand of Decay. Mensagem: Parabéns, você chegou ao nível 20! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada! *Pra druid, em vez de receber Wand of Decay, receberá Necrotic Rod. *Pra paladin, em vez de receber Wand of Decay, receberá 5 Hunting Spears Upar level 25: Ganhar uma green backpack e dentro dela ter: Wand of Cosmic Energy e 20 blank runes. Mensagem: Parabéns, você chegou ao nível 25! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada! *Pra druid, em vez de receber Wand of Cosmic Energy, receberá Terra Rod. *Pra paladin, em vez de receber Wand of Cosmic Energy e blank rune, receberá 5 Royal Spears e 20 bolts. Upar level 45: Ganhar uma yellow backpack e dentro dela ter: 10 sudden of death rune, 10 uh e 10k. Mensagem: Uau, chegou ao level 45, parabéns! Você acaba de receber os itens que irão lhe ajudar à continuar em sua próxima jornada! *Pra paladin, em vez de receber sudden of death rune, receberá 5 Enchanted Spears. Se o player NÃO tiver cap, seus itens recebidos irão diretamente ao depot da cidade de origem dele e aparecerá uma mensagem: Parabéns, você chegou ao nível x! Você não tem cap suficiente, então, seus itens foram enviados para o depot! Servidor: 8.60
  16. Opa galera, queria saber se tem como fazer um sistema de karma estou com uma ideia de um ot que teria o lado ruim e bom... Gostaria de saber se exemplo daria para criar algo tipo assim matei injustamente fico com ponto negativo e vá para o lado ruim com 3 pontos exemplo e bom se matar um Pk exemplo... Seria para versão 8.6 se alguém puder ajudar ou até falar comigo em pm...
  17. antes de pedir tentei fazer ou apenas pegar de outros severs mais não consigo se alguem se quiser me ajudar ficarei grato .........sever base e poke flash e la o sistema de order e por icone e não da para dar mover no pokemon , obg.
  18. Fala ae galera, venho por meio deste tópico anunciar um novo poketibia, o Pokemon New. Informações do servidor(Pokemon New): *Sistema de nature dos pokemons 100% *Sistema daycare 100% *Mega evolução por talkaction 100% *Ditto system 100% *Smeargle system 100% *Kanto ,johto,hoen,sinnoh,unova,kalos 100% *Todos os pokemons e seus devidos respawn e megas 100% *Sistema de história das quests 100% *Sistema de pesca 100% *Sistema de daily 30% *Sistema de duel 90% *Sistema de torneios 100% *Golden arena 100% *Ícones 90% *Autoloot igual pxg 100% *Up 100% *Caugt 100% Download: http://www.mediafire.com/?p12w8kkzbwmn8cg Venha se divertir conosco
  19. Galera do XTibia, venho trazer um script bem simpleszinho mas que abre um leque de opções de RPG e diversão pro seu OT.. Trata-se do Mining System, um sistema que você pode utilizar a pick normal (ou uma outra pick especial) para minerar a terra e tentar conseguir items que você pode trocar por dinheiro ou items. São 70 leveis de Mining que vão upando conforme você minera. Enfim, vamos ao script: actions\scripts\mining.lua: Em terra, você coloca os ids dos chãos em que é possível minerar, levels é o level da skill e o ID do respectivo item que você fica capaz de conseguir após alcançar esse nível. Em outras palavras, no começo você só consegue minerar skull, no nv 70 você vai ter a chance de conseguir todos os items anteriores e não só life crystal. O restante das configurações está no meio do script: local config = { storage = 19333, chance = 40, --- chance de achar um item ou não k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante) experience = 19334 } o storage é onde vai salvar o seu nível chance é a chance de pegar um item cada vez que minera. k é a constante de level, o nivel 10 precisa de 10*10/k de experiencia para ser alcançado (com k sendo 2 dá 50 de experiencia), ou seja, com 50 picaretadas na terra vc pega nivel 10. experience é o storage que fica salvo sua experiencia. Bônus: Ao alcançar level 50 você ganha o Mining Helmet como prêmio, ele não faz nada de especial mas é como se fosse um troféu. No meu server tem uma série de troféus que voce pode colecionar e fica como sendo uma conquista épica para os players. e no actions.xml: <action itemid="2553" script="mining.lua"/> OBS: Sugiro que vcs utilizem uma outra pick pra não dar conflito mas você faz oque quiser. PS: Uma fotinha pra vcs verem Autor: WhiteWolf
  20. Train system V 1.0 Venho Aqui Trazer Esse System bem Legal Com script script você só precisa adicionar um AID (no trem), e apenas adicionar o costume ferroviário! Adicionar isso em actions.xml: <action itemid="7131" event="script" value="railbymock.lua" /><action itemid="7132" event="script" value="railbymock.lua" /> E em railbymock.lua adicione: --Script by mock the bear--Configlocal SPEED = 200local PLAYERSPEED = 250--Endlocal RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130} --Thxy rails itemid by nord :Plocal CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131}local CONFIG = {[7121] = 0,[7122] = 0,[7123] = {EAST, SOUTH},[7124] = {WEST, SOUTH},[7125] = {EAST, NORTH},[7126] = {WEST, NORTH},[7127] = 0,[7128] = 0,[7129] = 0,[7130] = 0,--Random}local reverse = {[0] = 2, 3, 0, 1} -- All that table was made by nord.local function moveTrain(cid, frompos, direc)local tabif not isPlayer(cid) thenreturnendlocal pos = getCreaturePosition(cid)local rar = findRail(pos)if not rar thendoPlayerSetNoMove(cid, false)doRemoveCondition(cid, CONDITION_OUTFIT)doChangeSpeed(cid, -PLAYERSPEED)doMoveCreature(cid, direc)elsetab = CONFIG[rar]if tab and type(tab) == 'table' thendirec = tab[tab[1] == reverse[direc] and 2 or 1] -- by nord hereenddoSetItemOutfit(cid, CART[direc], -1)doMoveCreature(cid, direc)addEvent(moveTrain, SPEED, cid, pos,direc)endendfunction findRail(p)local p_ = {x=p.x, y=p.y, z=p.z}for i=0,10 dop_.stackpos = ilocal t = getTileThingByPos(p_)if isInArray(RAILS, t.itemid) thenreturn t.itemid,t.uidendendendfunction onUse(cid, item, frompos) --Script by mock the bearif hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) thenreturn falseenddoTeleportThing(cid, frompos, false)doPlayerSetNoMove(cid, true)doChangeSpeed(cid, PLAYERSPEED)addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500)return trueend Creditos: Autor: Mock Testado em: TFS 0.3.6
  21. Galera do Xtibia To com um bug na minha GOback alguem ai pode me ajuda pfv
  22. Galera vou ser bem objetivo no problema. Consegui montar a Yalahar Quest no server. E está funcionando normal, as waves, o sqm no void, só poder clicar 1x no globo, os portais fechando... O que não funcionou é que em certo momento o Azerus da sala DEVERIA ser removido, para entrar o Azerus1. Mas isso não funciona e ficam dois Azerus na sala. Bem como o clear da room também não funciona e os próximos a fazer já começam com bixos que sobraram. movements/scripts function onStepIn(cid, item, position, fromPosition)--Config-->local queststatus = getPlayerStorageValue(cid, 50001)--EndConfig--> if item.actionid == 1974 and queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "It seems by defeating Azerus you have stoped this army from entering your world! Better leave this ghastly place forever.") setPlayerStorageValue(cid, 4765, 1) return TRUEendif item.actionid == 1973 and queststatus == -1 then-- Here is the code start:starting={x = 480, y = 178, z = 7, stackpos = 253}checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}ending={x = 500, y = 199, z = 7, stackpos = 253}players=0totalmonsters=0monster = {}repeatcreature= getThingfromPos(checking) if creature.itemid > 0 then if getPlayerAccess(creature.uid) == 0 then players=players+1 end if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then totalmonsters=totalmonsters+1 monster[totalmonsters]=creature.uid end endchecking.x=checking.x+1 if checking.x>ending.x then checking.x=starting.x checking.y=checking.y+1 enduntil checking.y>ending.yif players==0 thentrash= {x = 470, y = 188, z = 7}current=0repeatcurrent=current+1doTeleportThing(monster[current],trash)until current>=totalmonstersend-- Here is the end of itdoTeleportThing(cid, player_pos_entrada)doSendMagicEffect(player_pos_entrada, 10)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You already done this quest!')endend action/scripts function onUse(cid, item, frompos, item2, topos) --Config-->local statue_pos = {x = 490, y = 188, z = 7}local new_portal_pos = {x = 490, y = 189, z = 7, stackpos = 1}local new_pos = {x = 542, y = 196, z = 5}local crystal_pos = {x = 490, y = 197, z = 7}--End Config--> function Potwoory1() doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster("Azerus", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) addEvent(Potwoory2, 7 * 700)end function Potwoory2() doCreateMonster('Rift Brood', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster("Azerus", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) addEvent(Potwory2, 30 * 1000)end function Potwoory3() removeFieldsTile() removeAzerusMonstersInArea() doCreateMonster('Rift Brood', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Brood', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster('Rift Worm', {x = statue_pos.x+1, y = statue_pos.y, z = statue_pos.z, stackpos = 253}) doCreateMonster("Azerus1", {x = statue_pos.x-1, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) addEvent(Potwory3, 35 * 1000)end function Potwoory4()removeFieldsTile() removeAzerusMonstersInArea() doCreateMonster('Azerus', {x = statue_pos.x, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('War Golem', {x = statue_pos.x+1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y+1, z = statue_pos.z, stackpos = 253}) doCreateMonster('War Golem', {x = statue_pos.x, y = statue_pos.y-1, z = statue_pos.z, stackpos = 253}) doCreateMonster('War Golem', {x = statue_pos.x-1, y = statue_pos.y, z = statue_pos.z, stackpos = 253})end function NewPortal()doCreateTeleport(1387, new_pos, new_portal_pos)addEvent(RemoveAll, 30 * 1000)end function RemoveAll()doRemoveItem(getThingfromPos(new_portal_pos).uid,1)doItemSetAttribute(getTileItemById(crystal_pos, 7493).uid, "aid", 57500)end if item.aid == 57500 and getThingfromPos(new_portal_pos).itemid ~= 17668 thendoCreateItem(17668,1,new_portal_pos)addEvent(Potwoory1, 0)doItemSetAttribute(getTileItemById(crystal_pos, 7493).uid, "aid", 57501)elsedoPlayerSendTextMessage(cid,18,"Sorry, not possible.")endreturn TRUEend Agradeço quem puder ajudar.
  23. Vou usar esse script para que o player só passe pelo sqm se tiver todos storageid. Mas está montado da forma errada... function onStepIn(cid, item, pos)local position = {x = 830, y = 70, z = 7}local position2 = {x = 830, y = 69, z = 7}if (getPlayerStorageValue(cid, 10274, 10275, 10276, 10277, 10278, 10279, 10280) == 1 thendoTeleportThing(cid, position)doSendMagicEffect(position,10)elsedoTeleportThing(cid, position2)doSendMagicEffect(position2,10)endend
  24. Olá colegas, Estou fazendo o possível pra tirar apenas as dúvidas que eu não encontro forma de resolver e surgiu mais uma. Na Pits of Inferno tem uma parte que você precisa ter o The Holy Tible para passar pelo SQM X e ser transportado para SQM Y, caso não tenha o livro nada acontece. É esse script que desejo. 1. Para evitar spam, vou deixar outra dúvida aqui também. 2. Criei com ajuda do pessoal aqui do fórum um monstro que quando morre abre o portal para X local. Até ai tudo bem, mas o portal abre sempre onde o monstro morre, queria que ele abrisse em uma coordenada XYZ. local config = {message = "Take the Blue Tome, you have 60 seconds to leave! The room will collapse!",timeToRemove = 60, -- secondsteleportId = 1387,bosses = {["Raging Halcrof"] = {teleportPos = {x = 1071, y = 1124, z = 10, stackpos = 1}, toPos = {x = 1066, y = 1125, z = 6}}}}local function removal(position)doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)return TRUEendfunction onDeath(cid, corpse, killer)registerCreatureEvent(cid, "halcrofteleport")local position = getCreaturePosition(cid)for name, pos in pairs(config.bosses) doif name == getCreatureName(cid) thenteleport = doCreateTeleport(config.teleportId, pos, position)doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)addEvent(removal, config.timeToRemove * 1000, position)doSendMagicEffect(position,10)endendreturn TRUEend Esse é o script que estou usando mas não está funcionando. Ele abre o portal no corpo do monstro e não está enviando o player para posição desejada. 3. Esse é um NPC que o jogador vai desafiar se tiver lvl 100+ pode aceitar, então é movido para sala. Onde luta com o boss e se o player morrer pode tentar novamente, mas se conseguir eu queria criar um storageid onde o npc checasse se o player já derrotou o boss e se sim, não pode fazer de novo. local tab = { level = 100, pos = {x = 1071, y = 1135, z = 10}}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, 'challenge')) then talkState[talkUser] = 1 selfSay('You are sure you want to go? You can not return.', cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if (getPlayerLevel(cid) <= tab.level) then talkState[talkUser] = 0 doTeleportThing(cid, tab.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else talkState[talkUser] = 0 selfSay('I can only challenge players with level '..tab.level..' or less.', cid) end elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then talkState[talkUser] = 0 selfSay('Come back when you are ready learner.', cid) end return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Agradeço desde já galera.
  25. Heromassa Server 1.0 Nha nha nha. Sejam bem vindos ao Heromassa. Server com mapa baseado no Heroserv, porém com MUITAS COISAS NOVAS, algumas, citarei aqui, outras, descubram por si mesmos . Bom, o server como eu ja disse, é baseado no famoso Heroserv, alguns anos atrás chegou a ter 400 players online, porém perdeu muito a sua fama com o passar do tempo. Em 2012, um servidor chamado Heromassa surgiu, com exatamente esse mapa, a partir daí, passei a procurar o mesmo, por amar o mapa. Vocês podem não acreditar, mas eu dei um duro danado pra conseguir esse mapa fodasticamente perfeito na minha opinião, e um certo dia, um amigo meu QUE EU PASSEI A AMAR MUITO, ME PASSOU ELE . Isso foi ano passado, desde então joguei incansavelmente esse mapa. Mês passado, eu tive a vontade de consertar TODOS os erros que o server continha, estava até alguns dias atrás arrumando os mesmos, e com MUITA ajuda de membros desse fórum como o @@nightwolf, @@Vankk(TK), @(TK), @@Wakon(TK) e outros(mesmo eles não sabendo) eu finalmente terminei as correções. Bom, vamos logo ao que interessa né HAHAAHAHHAHHAHA. Informações do server: - Mapa Hero - Conta GOD: god/god - Zombie Event por Talkaction 100% -- /zombiestart X ; /zombiestart force X - número de players - Battlefield programado 100% - TFS 0.4 (compilado por mim) - Suporta qualquer items.otb - War System( COM ESCUDINHOOOS) 100% -- /war ; /balance - Cast System 100% -- conta: não coloque nada em account nem password. -- /cast on ; /cast off - Suporta MySQL - Databases limpas e perfeitamente compatíveis - Quests 100% - Itens 100% - Castle 24 Horas 100% - Survivor Event 100% - Rush Event 100% -- !rushstart ; !joinrush (desativado, para ativar, basta ir em mods/rush event.xml e ative.) - Promotion por Talkaction 100% - Vocações balanceadas (nem tanto) preciso de ajuda!! - Supreme itens com quest 100% - Special itens sendo vendidos no Special Seller - Critical System(por stone, preço: 20 critical coins(id: 2157)) - Nova moeda(1kk: gold ingot, id: 9971) ​ - Possível usar sqlite apenas para teste(somente com a conta do god) ​ Vamos às imagens né poxa, não pode faltar... Battlefield map Black Boss hunt Bosser Hunt Distro Limpa Como conquistar o Castle24H Mapa do Castle24H Fire Master Elemental Hunt Ice Demon Hunt Principais Hunts: White Boss, Treptin, Verminor, Bosser, Quara Predator Scout, Fire Master Elemental, Black Boss e Ice Demon Quara Predator Scout Hunt Sala das Quests Rush Event Map Info Vip, Addon Seller, player GOD com War System Sphere City Supreme Attack Quest Supreme Rign & Shield Quest Supreme Set Quest Survivor Event map Templo Treptin Hunt Verminor Hunt White Boss Hunt Zombie Event Map Bom gente, muito provável que essas férias eu continue em mudanças no mapa, então, muito provável que eu fique atualizando o post para postar as atualizações do server. Galera, o server está perfeito pra rodar em Windows, distro TFS 0.4 compilada por mim, estável, compilada para x32(antes eu achava que era para x64 rsrs) mas está tudo OK, pronto pra deixar online! Download do server: https://mega.nz/#!V1oHXQ4J!TcA8_9Zpg2_4Kds9bap6Js6TzhSt7U-Le6zvbE_4cgQ Scan do server: https://www.virustotal.com/pt/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/ Créditos Beijos e até a próxima #Edit 1 - Tp do Zombie Event foi realocado #Edit 2 Atualização 1.2 Informações: - Adicionado Reset Talkaction(/reset; reseta o level, e deleta todos os itens dos players, com exceção dos supremes, dinheiro, exp pot, special) - Definido um novo prêmio para os eventos Zombie Event(50kk de gold e 5 Critical Stone) e Battlefield(100 Critical Coin) - Redefinido Supreme Attack de Paladin(novos itens) - Quest Supreme Attack foi arrumada o baú das armas de paladin - Lottery System sorteando critical coin e gold ingot(1kk cada) #Edit 3 Atualização 1.3 Download: https://mega.nz/#!1pgQwABZ!FmNGFI1pAzjniJ44X069hYZyJchb-FLnVOxG_x_5PYo Scan: https://www.virustotal.com/pt/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/ Informações: - Troféu adicionado como prêmio no Zombie Event - Nova DB MySql - Trade Off para website adicionado #Edit 4 Atualização de distro Informações: - Adicionado TFS 0.4 x64 - Adicionado TFS 0.4 x86 - Para trocar o TFS, delete o .exe e as libs que estejam na pasta. #Edit 5 - Trade off adicionado - Alguns bugs corrigidos - Fast Attack corrigido - TFS corrigido alguns bugs Download: https://github.com/s3kk/Heromassa/archive/master.zip Website totalmente compatível(Gesior): Use este --> Link
×
×
  • Create New...