Roksas 846 Postado Abril 22, 2013 Share Postado Abril 22, 2013 (editado) Own Your Spawn! Como anda galerinha? Hoje tive uma ideia bem legal e vim trazer para vocês, é um sistema que inventei chamado Own your Spawn, mas como funciona? /buyspawn Monster, Quantidade Você paga uma certa quantia e com um comando você cria X monstros para você upar, mas não pode ter players por perto (Anti-PowersAbuse), tudo bem configurável, vamos instalar? Vá em data/lib, copie algum arquivo desta mesma pasta e cole, renomeio-o para own_spawnlib.lua, abra-o com o bloco de notas e adicione dentro: function getPlayersInArea(area) local players = {} for x = area.fromx,area.tox do for y = area.fromy,area.toy do for z = area.fromz,area.toz do local m = getTopCreature({x=x, y=y, z=z}).uid if m ~= 0 and isPlayer(m) then table.insert(players, m) end end end end return players end Muito bem, agora siga para a pasta data/talkactions/scripts, copie algum arquivo desta mesma pasta e cole, renomeie para own_spawn.lua e adicione dentro: function onSay(cid, words, param) local t = string.explode(param, ",") local pos = getCreaturePosition(cid) local cfg = { max_summon = 9, price = 100000, } if #getPlayersInArea({fromx = pos.x+4, fromy = pos.y+4, fromz = pos.z, tox = pos.x-4, toy = pos.y-4, toz = pos.z}) > 1 then doPlayerSendTextMessage(cid, 20, "Do this in a place where no other players.") return true end if not t[1] or not t[2] or not tonumber(t[2]) then doPlayerSendTextMessage(cid, 20, "The command does not recognize these parameters.") return true end if tonumber(t[2]) > cfg.max_summon then doPlayerSendTextMessage(cid, 20, "Maximum monsters in your spawn is "..cfg.max_summon..", rushed.") return true end if not doPlayerRemoveMoney(cid, cfg.price) then doPlayerSendTextMessage(cid, 20, "You do not have enough money to buy their own spawn!") return true end for i = 1, t[2] do doCreateMonster(t[1], {x = pos.x+3, y = pos.y+3, z = pos.z}) end doPlayerSendTextMessage(cid, 20, "His spawn was summoned, good level up for you!") return true end Na pasta data/talkactions, abra com um editor de texto o arquivo talkactions.xml e adicione essa tag: <talkaction log="yes" words="!buyspawn;/buyspawn" event="script" value="own_spawn.lua"/> Configuração Nesta parte do código: local cfg = { max_summon = 9, price = 100000, } Em "max_summon", você coloca a quantia máxima de monstros que podem dar spawn. E em "price" você coloca o preço para dar o spawn, no caso coloquei 100k Utilização Editado Maio 12, 2013 por Roksas Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/ Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Interessante Roksas Sempre sé superando em Abraços Amigo! Rep + Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508700 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 (editado) Obrigado, quem me ajudou nas ideias foi o Mozark, e creio que será bem útil! Seria legal se vendessem um item no OT, que só pode usar o comando com ele, depois é removido Editado Abril 22, 2013 por Roksas Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508702 Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Já vai pro meu projeto Roksas,hehehe. Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508703 Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Ta evoluindo demais cara, parabéns! Gostei! Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508706 Compartilhar em outros sites More sharing options...
AlphaLove 39 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Muito bom cara, curti demais Rep + Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508842 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 Obrigado galerinha, façam bom uso! Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508855 Compartilhar em outros sites More sharing options...
xS0NYx 2 Postado Abril 22, 2013 Share Postado Abril 22, 2013 (editado) Mas olha, com esse comando o cara pode criar 50 demon e lurar pra onde tem player :s acho que isso causaria um grande problema.. também pessoas invocando no meio da cidade e tal.. Editado Abril 22, 2013 por xS0NYx Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508889 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 Cara, leia de novo por favor, o máximo para summonar é 9, e se tiver player perto, não sumona! Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508893 Compartilhar em outros sites More sharing options...
LuckOake 400 Postado Abril 22, 2013 Share Postado Abril 22, 2013 (editado) Cara, seu script é interessante, mas pfv, melhora essa identação. Isso ai acaba com a beleza de todo um sistema e faz você parecer scripter que acabou de se iniciar na linguagem lua .-. Dica, n precisava criar uma lib própria só pra esse sistema, era melhor colocar a função direto no script. OBS: De onde você tira essas ideias? Tô precisando de algumas Editado Abril 22, 2013 por LuckOake Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508918 Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Se o monstro não existir vai dar erro. Poderia ter usado isso. if (#getSpectators({x = pos.x, y = pos.y, z = pos.z}, 9, 9)) then Já há essa função nos otservs .;d. Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508920 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 @SkyMagnum, obrigado por lembrar, mas essa função retorna se há spectators e não QUANTOS tem, estou certo? @LuckOake, é a minha forma de identar rsrs, não conheço outras, futuramente irei procurar alguns tutos sobre Obrigado pelas dicas, e essas ideias eu pergunto pra alguns amigos, eu tenho umas e eles outras, junto tudo e forma essas geringonças eahhueaheau ~~ Obrigado galera Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508923 Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Abril 22, 2013 Share Postado Abril 22, 2013 (editado) Ela retorna uma tabela só não sei com oque uheuheuhe, mas da pra checar com ela(eu acho). Alias erro tosco. if (#getSpectators({x = pos.x, y = pos.y, z = pos.z}, 9, 9) > 1) then EUEUHEHUE. Editado Abril 22, 2013 por Skymagnum Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508926 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Abril 22, 2013 Share Postado Abril 22, 2013 acredito q uma tabela com os uids ;p -acredito- Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508928 Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Tipo deve ser isso porque da para usar. for _, tid in ipairs(getSpectators(inferno, math.huge, math.huge)) then if isCapiroto(tid) then return capetaTaOn else return capetaTaOff end end é tipo um getPlayersOnline(), só que pega só os que tão na área hueuhehu. Link para o comentário https://xtibia.com/forum/topic/212812-new-own-your-spawn/#findComment-1508932 Compartilhar em outros sites More sharing options...
Posts Recomendados