-
Total de itens
3611 -
Registro em
-
Última visita
-
Dias Ganhos
60
Tudo que Roksas postou
-
Se eu não me engano ela serve para retornar os centésimos.
- 9 respostas
-
- explicação da função os.clock
- resolvido
- (e 1 mais)
-
Hehe, eu particularmente nunca vi, mas tá valendo, obrigado ;D
-
Idle-System 1.0 Hello guys, só deboua na lagoua é? Pensei em criar um sisteminha bem legal para OTServ, nele, os jogadores podem se distanciar [ficar AFK] quanto tempo quiserem, sem ser kikados pelo Idle do config.lua. Nenhum jogador gosta de ir comer e quando voltar estar deslogado rsrs. Vá em (data/talkactions/scripts), crie um arquivo chamado idleSys.lua e adicione dentro: --[[ Idle-System 1.0 Criado por Roksas Acesse já - XTibia.com. ]]-- function onSay(cid, words, param) if not param or param == "" then return doPlayerSendCancel(cid, "[Idle-System] Você deve informar o status desejado, [on/off].") and true end if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "[Idle-System] Você não pode utilizar este recurso caso esteja em batalha.") and true end if param == "on" then if getPlayerStorageValue(cid, 154490) >= 1 then return doPlayerSendCancel(cid, "[Idle-System] O seu idle já havia sido ativado, favor desativar.") and true end doCreatureSetNoMove(cid, true) setPlayerStorageValue(cid, 154490, 1) idleStart(cid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Idle-System] Você ativou o seu idle.") elseif param == "off" then if getPlayerStorageValue(cid, 154490) < 1 then return doPlayerSendCancel(cid, "[Idle-System] O seu idle já havia sido desativado.") and true end doCreatureSetNoMove(cid, false) setPlayerStorageValue(cid, 154490, -1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Idle-System] Você desativou o seu idle.") return true end return true end --//--// function idleStart(uid) local txts = {"Ausente", "AFK!", "Já volto!", "Aguarde..."} if not isPlayer(uid) then return true end if getPlayerStorageValue(uid, 154490) < 1 then return true end doCreatureSetLookDir(uid, math.random(1, 4)) doSendAnimatedText(getThingPos(uid), txts[math.random(#txts)], math.random(1, 255)) return addEvent(idleStart, 10 * 1000, uid) end Logo em seguida, volte para a pasta (data/talkactions), abra com algum editor de texto o arquivo talkactions.xml e adicione esta seguinte tag: <talkaction words="/afk;!afk;!ausente;/ausente" event="script" value="idleSys.lua"/> É só isto meus anjos, façam bom proveito haha. Obrigado por acessar a comunidade
-
Vejamos, vá em data/movements/scripts, crie um arquivo chamado eventTile.lua e adicione dentro: function onStepIn(cid, pos, fromPosition) local ppos = {x = 500, y = 400, z = 7} if getPlayerLevel(cid) < 50 then doSendMagicEffect(pos, 2) doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "You need level 50, your level is "..getPlayerLevel(cid)..".") return true end leave = addEvent(doTeleportThing, 10 * 1000, cid, ppos) return true end function onStepOut(cid) stopEvent(leave) return true end Em movements.xml adicione esta tag: <event type="StepIn" actionid="12369" event="script" value="eventTile.lua"/> <event type="StepOut" actionid="12369" event="script" value="eventTile.lua"/> No tile do evento, você coloca ActionID 12369 e no código, você muda a ppos para aonde o player será levado, caso fique 10 segundos no tile.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
Obrigado galera, gostaria que usassem-o ;d
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
[PVP-System] Changer 1.0 Versão testada: 8.60 e 9.60 Distro utilizado: TFS 0.4 e TFS 0.2 Comandos: /pvp guild, on/off e /pvp level, 300 Saudações marmanjada, firmeza na tereza? Vim apresentar hoje á vocês um sistema criado por mim, uma ideia bem legal, que seria o jogador escolher quem ele pode atacar, isso por guild e/ou level. Uma solução muito prática para quem não quer atacar amigos ou newbies na war Vá em (data/talkactions/scripts), crie um arquivo cujo nome seja pvpSys.lua e adicione dentro: --[[ PVP-System Changer 1.0, criado por Roksas! Acesse já XTIBIA.COM ]]-- function onSay(cid, words, param) local s = string.explode(param, ",") if not s[1] then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Acesso negado. É necessário que informe o tipo de PVP.") and true end --//--// if s[1] == "guild" then if not s[2] then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Acesso negado. Favor informar os parâmetros {on} ou {off}.") and true end if (getPlayerGuildId(cid) < 1) or (not getPlayerGuildId(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Acesso negado. Você não pode utilizar este comando, pois não percente á nenhuma guild.") and true end if s[2] == "on" then if getPlayerStorageValue(cid, 21400) >= 1 then return doPlayerSendCancel(cid, "[PVP-System] Acesso negado. Já está ativado o seu Guild PVP.") and true end setPlayerStorageValue(cid, 21400, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Você ativou o Guild PVP, agora não pode atacar players da sua guild.") elseif s[2] == "off" then if getPlayerStorageValue(cid, 21400) < 1 then return doPlayerSendCancel(cid, "[PVP-System] Acesso negado. Já está desativado o seu Guild PVP.") and true end setPlayerStorageValue(cid, 21400, -1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Você desativou o Guild PVP, pode atacar os players de sua guild.") return true end return true end --//--// if s[1] == "level" then if not s[2] then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Acesso negado. Favor informar o level mínimo para atacar.") and true end if tonumber(s[2]) > getPlayerLevel(cid) then return doPlayerSendCancel(cid, "[PVP-System] Acesso negado. Você não pode determinar leveis maiores que o seu.") and true end if getPlayerStorageValue(cid, 21401) == tonumber(s[2]) then return doPlayerSendCancel(cid, "[PVP-System] Acesso negado. Este level já foi determinado antes.") and true end setPlayerStorageValue(cid, 21401, tonumber(s[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[PVP-System] Acesso negado. Você determinou o level mínimo para atacar ["..s[2].."].") return true end --//--// return true end No arquivo talkactions.xml da pasta (data/talkactions), você deve adicionar a seguinte tag: <talkaction words="/pvp" event="script" value="pvpSys.lua"/> Muito bem, esta parte foi a instalação do comando utilizado, agora iremos adicionar ao nosso servidor a parte de hits e target. Em (creaturescripts/scripts), devemos criar um arquivo com o mesmo nome, no caso, pvpSys.lua e nele, adicionar isto dentro: function onTarget(cid, target) --//--// if getPlayerStorageValue(cid, 21400) >= 1 then if getPlayerGuildId(cid) == getPlayerGuildId(target) then return doPlayerSendCancel(cid, "[PVP-System] Você não pode atacar jogadores da mesma guild com este PVP ativado.") and false end return false end --//--// if getPlayerStorageValue(cid, 21401) >= getPlayerLevel(target) then return doPlayerSendCancel(cid, "[PVP-System] Acesso negado. Não é possível atacar jogadores com level menor que ["..getPlayerStorageValue(cid, 21401).."].") and false end return true end --//--// function onStatsChange(cid, attacker, type, combat, value) --//--// if type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(attacker, 21400) >= 1 then if getPlayerGuildId(attacker) == getPlayerGuildId(cid) then return false end return false end --//--// if getPlayerStorageValue(attacker, 21401) >= getPlayerLevel(cid) then return false end end return true end --//--// Na mesma pasta, podemos encontrar o arquivo login.lua, no qual adicionamos estas linhas: registerCreatureEvent(cid, "pvpAtt") registerCreatureEvent(cid, "pvpStats") Voltando uma pasta (data/creaturescripts), abriremos o arquivo creaturescripts.xml com algum editor de texto e dentro coloquemos estas tags: <event type="target" name="pvpAtt" event="script" value="pvpSys.lua"/> <event type="statschange" name="pvpStats" event="script" value="pvpSys.lua"/> É isto aêe galerinha, espero que tenham gostado e que funcione, qualquer dúvida estou aqui para respondê-los haha. #Perfect, #GoodLuck.
-
Cara, se já existe pra que fazer? --'
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
Mas não seria a mesma coisa de ficar off?
-
poketibia [Encerrado] Exp potion para poketibia
tópico respondeu ao atakashi de Roksas em Tópicos Sem Resposta
Ok, e daí? Oque tem o script? -
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
#Dúvida sanada skydarkyes?
-
resolvido [Encerrado] Erro na spell
tópico respondeu ao joaovitortcp315 de Roksas em Tópicos Sem Resposta
Posta o script transforms.lua da spells/scripts -
Tópico movido para a seção de dúvidas e pedidos resolvidos.
- 3 respostas
-
- explicação da função addevent
- resolvido
- (e 1 mais)
-
addEvent(callback, time, parameters) Saudações, esta função agenda um evento, ou seja, marca um tempo para acontecer X coisa. callback = Nome da função que irá se passar, time = Em quanto tempo, parameters = Os parâmetros da função. Exemplo: addEvent(doPlayerSendCancel, 5 * 1000, cid, "Sorry, not is possible.") Isso agendaria um evento, mandaria um cancel para o player em 5 segundos, dizendo: "Sorry, not is possible".
- 3 respostas
-
- explicação da função addevent
- resolvido
- (e 1 mais)
-
Correto.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
2x para sempre? Ou 50 cargas?
-
rateLoot * chance / 1000. #Movido.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
#arthurabreu Dúvida sanada?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.