Tudo que lorenzo2014 postou
-
Simplificar script PHP
Tenho um script que fiz muito manual, tem como deixar ele mais automatizado, como por exemplo ao invez de digitar "case 'Leakage':" ele puxar esses valores direto do banco de dados e de uma maneira geral simplificar esse script? Arquivo muito grande e postei no Pastebin https://pastebin.com/8ftziar3
- fecha
-
Spell simples TFS 1.2
Alguém?
-
Spell simples TFS 1.2
Boa tarde galera, fiz uma spell que empurra o monstro para trás, porém só funciona quando o monstro está no target, alguém pode me ajudar a colocar ela para nã utilizar o target e empurrar todos os montros que forem acertados pelo area combat? Segue o script: local combat0_Push = createCombatObject() setCombatParam(combat0_Push, COMBAT_PARAM_EFFECT, CONST_ME_POFF) setCombatParam(combat0_Push, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatParam(combat0_Push, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Push,createCombatArea({{0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 2, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}})) local dfcombat0_Push = {CONST_ANI_ARROW,0,1,0,2,0,3,0,-1,0,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,1,2,2,1,3,0,2,-1,1,-2,1,-1,1,0,1,1,2,0,-1,0,-1,1,-2,0,-1,-1} local function RunPart(c,cid,var,dirList,dirEmitPos) local player = Player(cid) local target = getCreatureTarget(cid) local position = getCreaturePosition(cid) local fromPosition = getCreaturePosition(target) local x = ((fromPosition.x - position.x) < 0 and -1 or ((fromPosition.x - position.x) == 0 and 0 or 1)) local y = ((fromPosition.y - position.y) < 0 and -1 or ((fromPosition.y - position.y) == 0 and 0 or 1)) local toPosition = {x = fromPosition.x + x, y = fromPosition.y + y, z = fromPosition.z} if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 local query = Tile(toPosition):queryAdd(target) if query == RETURNVALUE_NOERROR then doTeleportThing(target, toPosition, true) end end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Push,cid,var,dfcombat0_Push,startPos) return true end
- fecha
-
Remover item area ao redor do player.
Não sei o que você fez, fiz isso umas 10x e não funcionava. Obrigado funcionou certinho.
-
Remover item area ao redor do player.
Boa noite, utilizo o TFS 1.2 Estou utilizando o script do Mkalo um mount system tfs 1.2, nesse sistema tem 2 funções. Essa função abaixo, ela cria o item ID 456 em uma area 3x3 na posição que o player é teleportado. function Position:createFlyFloor() for x=-1,1 do for y=-1,1 do pose = {x=self.x+x,y=self.y+y,z=self.z} local toTile = Tile(self) if not toTile or not toTile:getItems() or not toTile:getGround() then doAreaCombatHealth(0, 0, pose, 0, 0, 0, CONST_ME_NONE) Game.createItem(456, 1, pose) end end end end Já essa função abaixo, quando o player utiliza o comando !up ele remove o item 460 porem apenas na posição do player, eu queria q ele removesse na posição do player porém em uma area 3x3. function Player:flyUp() if self:isFlying() then if self:canFlyUp() then local pos = self:getPosition() local tile = Tile(pos) local itemfloor = tile:getItemById(456) if itemfloor then itemfloor:remove() end pos.z = pos.z-1 pos:createFlyFloor() self:teleportTo(pos) pos:sendMagicEffect(CONST_ME_TELEPORT) return true end return false else self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You are not flying.") end end Alguém consegue me ajudar?
- fecha
- Fechaa
- Excluido
-
Poke Uncharted já esta ONLINE e RECRUTANDO
Lançamento Pokemon Uncharted BETA. Estamos recrutando para os seguintes cargos: - Mapper - Scripter - Spriter Interessados enviar email para [email protected] com as seguintes informações Cargo: Tempo disponível: Tempo de experiência: Contato: Se quiser entrar no game e ver como esta, abaixo esta nosso site. https://www.pounc.net
-
Script Pokemon trade item
Boa tarde, Estou criando um código para pokemon, source TFS 0.3.6. Quando o player der trade com uma pokeball com attributo "boost" ao dar look na janela de trade aparecer o boost do pokemon, porém tenho alguns problemas, algúem pode me ajudar? std::string value; if(item->getIntegerAttribute("boost") > 0) ss << ", Boost: [" << (item->getIntegerAttribute("boost", value)) << "]"; ss << "."; Erros ao compilar note \itemattributes.h:89 candidates are: const int32_t* ItemAttributes::getIntegerAttribute(const std::string&) const \game.cpp no matching function for call to 'Item::getIntegerAttribute(const char [6], std::string&)'
- [8.60] The Forgotten Server 0.4 By Fir3Element (SQL and MYSQL)
-
Ajuda Crash TFS
Boa tarde pessoal Tenho um servidor com source TFS 0.3.6 Descobri 2 problemas que podem lagar e derrubar o servidor, para resolver precisa: Adicionar um delay nos comandos das casas Adicionar um delay para trocar outfit Utilizando o elfbot é possível derrubar o servidor. Alguém pode me ajudar?
- [BUG EM TODOS OS OTS] TFS 1.X, FIXED!
- [BUG EM TODOS OS OTS] TFS 1.X, FIXED!
- Gesior Shop Mount e Addon
- Gesior Shop Mount e Addon
-
Anti Dupe
Boa noite, gostaria de saber se alguém tem um sistema de antidupe( verifica se o item é clonado e deleta ao iniciar o server) para TFS 1.2?
-
Error no Exp2.0 ajuda!
Amigo, seu personagem, está em algum clan, se sim, poste aqui o npc de clan e a lib clansystem.lua
-
(Resolvido)TFS 1.2 teletransportar ao acabar premium
Dessa forma, todos players sem premium serão teleportados quando logarem, seria preciso verificar uma storage, assim não haveria este problema.
- Dominio - HELP
-
Pokemon Uncharted está devolta! RECRUTANDO
@Orochi Elf, se você não conhece o que é uma pessoa que trabalha com Otclient, ai não posso fazer nada, aqui é uma área para recrutar membros, se você sente ameaçado por mais um server estar sendo criado e o seu não sair do papel, desculpe, mas acho que comentários como os seus não são bem vindos! Se você estudou inglês, talvez saberia do que se trata!
-
Helpdesk Gesior 2012 TFS 1.0 Tem?
Funcionando perfeitamente!
-
Ajuda Npc Rocket
Boa tarde, estou criando um NPC duel para pokemon, Rocket, esta tudo funcionando, porém para ele iniciar o duel, é preciso falar hi, duel, yes. Eu gostaria que quando o player (que tem a storage 123456) se aproximasse 5 sqm de distancia do npc, ele iniciasse o duel. Segue o script do npc. local focus = 0 local max_distance = 4 local talk_start = 0 local conv = 0 local fighting = false local challenger = 0 local pokeNpc = nil local pokeChalenger = nil local afk_limit_time = 15 -- seconds local afk_time = 0 -- don't change local battle_turn = 0 -- don't change local challenger_turn = 0 -- don't change local function doSummonGymPokemon(npc) battle_turn = battle_turn + 1 local this = npc if #getCreatureSummons(this) >= 1 or focus == 0 then return true end local it = wildRocket[math.random(1, 5)][battle_turn] pokeNpc = doSummonCreature(it.name, getThingPos(this)) local summon = getCreatureSummons(this)[1] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) setPlayerStorageValue(pokeNpc, 990, this) setPlayerStorageValue(pokeNpc, 991, "battle") setPlayerStorageValue(this, 990, 1) addEvent(adjustWildPoke, 15, pokeNpc, it.optionalLevel) mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", it.name) doCreatureSay(this, mgo, 1) fighting = true end local function doWinDuel(cid, npc) local outfit = getCreatureOutfit(getThis()) local this = npc ---------------------------------------- if outfit.lookType == 605 then --verifica se o npc eh female.. ;p monster = doCreateMonster("aRocketFemale", getThingPos(this)) doRemoveCreature(this) else monster = doCreateMonster("aRocket", getThingPos(this)) doRemoveCreature(this) end ---------------------------------------- --doCloneOut(monster, outfit) addEvent(beDrunk, 100, monster) addEvent(doSummonGymPokemon, 1000, getThis()) end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then focus = cid talk_start = os.clock() conv = 1 selfSay("Hello "..getCreatureName(cid)..", my name is Surge and I'm Vermilion's Gym Leader. How may I help you?") return true end if isDuelMsg(msg) and conv == 1 and focus == cid then if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then selfSay("You have already won my Thunder Badge, maybe some other day we can fight.") focus = 0 return true end if not hasPokemon(cid) then selfSay("To battle agains't a gym leader you need pokemons.") return true end selfSay("You are challenging me to a battle. It will be a "..#wildRocket.." pokemon limit battle, let's start?") conv = 2 return true end if isConfirmMsg(msg) and conv == 2 and focus == cid then challenger = focus setPlayerStorageValue(cid, 990, 1) setPlayerStorageValue(cid, 999, 1) if #getCreatureSummons(cid) >= 1 then local pk = getCreatureSummons(cid)[1] setPlayerStorageValue(pk, 990, 1) end selfSay("Yea, let's fight!") talk_start = os.clock() setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 5, getThis()) conv = 3 return true end if isNegMsg(msg) and conv == 2 and focus == cid then focus = 0 selfSay("It is better for you to refuse a battle against me!") return true end local function doRemove(npc) local it = wildRocket[math.random(1, 5)][battle_turn] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) doRemoveCreature(pokeNpc) end if msgcontains(msg, 'bye') and focus == cid then selfSay('Bye and do your best trainer!') setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) if #getCreatureSummons(focus) >= 1 then local pk = getCreatureSummons(focus)[1] setPlayerStorageValue(pk, 990, -1) end doSendMagicEffect(getThingPos(pokeNpc), balleffect) doRemoveCreature(pokeNpc) focus = 0 return true end end local afk_warning = false function checkPoke(player, poke) end function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 challenger_turn = 0 battle_turn = 0 afk_time = 0 afk_warning = false setPlayerStorageValue(getThis(), 990, -1) return true else if not isCreature(focus) then focus = 0 return true end if fighting then talk_start = os.clock() if #getCreatureSummons(challenger) >= 1 then if pokeChalenger == nil then pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) afk_time = 0 challenger_turn = challenger_turn + 1 elseif pokeChalenger == getCreatureName(getCreatureSummons(challenger)[1]) then afk_time = 0 else afk_time = 0 challenger_turn = challenger_turn + 1 pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) end else afk_time = afk_time + 0.5 end if afk_time > afk_limit_time then setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) doRemoveCreature(pokeNpc) focus = 0 selfSay("I have waited too long, come back when you are ready!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Where's your pokemon? Let's fight!") afk_warning = true end if getPlayerStorageValue(getThis(), 990) == -1 then if battle_turn >= #wildRocket then addEvent(doWinDuel, 1000, focus, getThis()) addEvent(doCreateNpc, 300000, ".aRocket", getThingPos(getThis())) setPlayerStorageValue(focus, 990, -1) focus = 0 return true end setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 1000, getThis()) end if challenger_turn >= 7 or challenger_turn > #wildRocket then selfSay("You lost our duel! Maybe some other time you'll defeat me.") setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local npcpos = getThingPos(getThis()) local focpos = getThingPos(focus) if npcpos.z ~= focpos.z then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Bye then.") return true end if (os.clock() - talk_start) > 30 then selfSay("Good bye and keep training!") setPlayerStorageValue(focus, 990, -1) focus = 0 end if getDistanceToCreature(focus) > max_distance then setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) if #getCreatureSummons(focus) >= 1 then local pk = getCreatureSummons(focus)[1] setPlayerStorageValue(pk, 990, -1) end doRemoveCreature(pokeNpc) focus = 0 selfSay("You were strong enough to win this battle!") return true end local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) selfTurn(dir) end return true end ninguém?