
Tudo que Wise postou
-
Lua Function Library {:No Metamethods:}
Nada a ver, fião.. Isso é opcional.
-
Atualização geral no fórum
Finalmente fez essa porra de Tapatalk em, cuzão.. Saudade, bons tempos por essa quebrada rs parabéns por sempre continuar, TK.
- (Resolvido)[PEDIDO] Tile Test VIP
-
(Resolvido)[PEDIDO] Tile Test VIP
Estou via mobile, só pra constar o fato de não ter disponível o {code}. viptile.lua (data\movements\scripts) local key = 10101 -- storage key id function onStepIn(cid, item, pos, fromPos) if getPlayerStorageValue(cid, key) > 0 then doTeleportThing(cid, fromPos, true) doSendMagicEffect(fromPos, CONST_ME_POFF) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Você, já testou a área vip!') end return setPlayerStorageValue(cid, key, 1) and doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Você, está testando uma área vip!') end movements.xml (data\movements) <movevent type="StepIn" actionid="10101" event="script" value="viptile.lua"/>
-
Tem uma idéia? Sugira aqui!!
@pablobion Sugestão interessante, valeu.. Ainda não, estou viajando. Pode deixar que eu informo quaisquer progressos ;]
-
(Resolvido)Como faz pra checar storage em tabela?
Leia um pouco sobre variáveis, valores numéricos e operadores aritméticos, assim vai interpretar melhor o que foi feito. Concordo. @Flaah Disponha.
-
math.percent {Cálculo Percentual}
@Vodkart O script que você sugeriu, dá pra concluir que os decimais não serão arredondados corretamente. Por exemplo: 32,83 -> 32 ao invés de 33. Além de que há a possibilidade de ocorrer um conflito aritmético entre as variáveis. Mas agradeço a intenção, brother.
-
(Resolvido)Como faz pra checar storage em tabela?
Você não deu ouvidos ao que eu disse acima. Releia e depois observe: local skey = 1234 -- storage key id local t = { [3001] = 900, -- [valueId] = HP [3002] = 780 } function onUse(cid, item, fromPos) local v = t[getPlayerStorageValue(cid, skey)] if v then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + v) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 20, "Congratulations!") end return true end
-
Tem uma idéia? Sugira aqui!!
Estou curtindo bastante as idéias, vamo lá..sugiram mais!! @vankk A vontade.
-
Tem uma idéia? Sugira aqui!!
Só não saquei essa parte. Descreva como ela acontece pra que eu possa criar, não sei que noção de "zombie event" você tem em mente. E valeu pela primeira sugestão.
-
Tem uma idéia? Sugira aqui!!
Estou a fim de codificar algumas idéias. Se você tem alguma em relação ao open tíbia "clássico" (não-derivado), independentemente de se tratar de uma função ou um sistema, poste aqui explicando-a. Mas lembre-se de explicar de forma clara, compreensível. Se eu me interessar por sua ideia, com certeza irei fazer o script. E, quando for postar, vou mencionar no tópico que o princípio veio da sua mente. É isso..conto com as suas idéias. Valeu, TK!!
- [!myhome] Localização da house
-
Checar Monstro no SQM
Você "resolveu" de um modo diferente do que havia pedido, mas.. OK.
-
Checar Monstro no SQM
Ex: local mname = 'Demon' local m = getTopCreature({x = 123, y = 456, z = 7}).uid -- xyz position if isMonster(m) and getCreatureName(m):lower() == mname:lower() then -- se houver um monstro com este nome.. return false end
-
(Resolvido)Como faz pra checar storage em tabela?
Veja: local valor = config[getPlayerStorageValue(cid)] Você se esqueceu de determinar o parâmetro referente ao id da key a ter o valor retornado, por isso o nil citado. getPlayerStorageValue(cid, key) Faça uso de um escopo como o que o membro acima fez, para evitar demais erros.
-
Edit NPC Promotion
Então poste o erro, brother.
-
(Resolvido)[AJUDA]Teleport
outlands.lua (data\movements\scripts) local aid = { [33301] = {x = 123, y = 456, z = 7}, -- [actionId] = {xyz position} [33302] = {x = 123, y = 456, z = 7}, [33303] = {x = 123, y = 456, z = 7} } function onStepIn(cid, item) local pos = aid[item.actionid] return doTeleportThing(cid, pos) and doSendMagicEffect(pos, CONST_ME_TELEPORT) end movements.xml (data\movements) <movevent type="StepIn" actionid="33301" event="script" value="outlands.lua"/> <movevent type="StepIn" actionid="33302" event="script" value="outlands.lua"/> <movevent type="StepIn" actionid="33303" event="script" value="outlands.lua"/> Basta adicionar a cada tile (via Remere's Map Editor), o actionId respectivo a posição (determinada na tabela) que irá teleportar o player. Não se esqueça de igualar os actionIds da tabela com os das tags.
-
Script Account Manager
A única possibilidade é a resposta que eu dei, você quem não quer se ajudar.
-
[PEDIDO]Muteplayer um pouco diferente!
Que confusão desnecessária.. Deixei o parâmetro de reason, como sendo opcional. (Estou via mobile, não tem opção <code>) function onSay(cid, words, param) local p = string.explode(param, ',') local pid = getPlayerByName(p[1]) if param == '' then return doPlayerSendCancel(cid, 'Enter in sequence: player\'s name, time in minutes, reason (optional). E.g.: /mute Violator, 2, Spam') elseif not tostring(p[1]) or type(p[2]) ~= 'number' or p[3] and not tostring(p[3]) then return doPlayerSendCancel(cid, 'Invalid parameters.') elseif not pid then return doPlayerSendDefaultCancel(cid, RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE) elseif getPlayerAccess(pid) > getPlayerAccess(cid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end doMutePlayer(pid, p[2] * 60) doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_RED, 'You\'ll stay '..p[2]..' minute'..(p[2] > 1 and 's' or '')..' muted'..(p[3] ~= '' and ' for '..p[3]:lower() or '.')) return doPlayerSendCancel(cid, p[1]..' was muted successfully.') end
- Duble exp no servidor.
-
Script Account Manager
Hm, ok. Recomendo que vc se deite. Esperar por algo que não existe, de pé ou sentado, cansa.
-
[AJUDA] Efeito drop stone
Substitua: doSendMagicEffect(getThingPos(cid), effect) Por: doSendMagicEffect(position, effect)
-
Script Account Manager
Na verdade, nem em Lua é. P/ fazer isso, você terá de alterar (em C++) o arquivo player.cpp da source do servidor e compilar um novo distro.
-
Edit NPC Promotion
OK. Substitua a função StdModule.promotePlayer do arquivo modules.lua (data\npc\lib\npcsystem) por essa: function StdModule.promotePlayer(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then return print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.promotePlayer - Call without any npcHandler instance.') and false end if(not npcHandler:isFocused(cid)) then return false end if(isPremium(cid) or not getBooleanFromString(getConfigValue('premiumForPromotion'))) then if(getPlayerPromotionLevel(cid) >= parameters.promotion) then npcHandler:say('You are already promoted!', cid) elseif(getPlayerLevel(cid) < parameters.level) then npcHandler:say('I am sorry, but I can only promote you once you have reached level ' .. parameters.level .. '.', cid) elseif(not doPlayerRemoveMoney(cid, parameters.cost)) then npcHandler:say('You do not have enough money!', cid) else doPlayerSetPromotionLevel(cid, parameters.promotion) doTeleportThing(cid, parameters.pos) doSendMagicEffect(parameters.pos, CONST_ME_TELEPORT) npcHandler:say(parameters.text, cid) end else npcHandler:say("You need a premium account in order to get promoted.", cid) end return npcHandler:resetNpc(cid) end E o script do NPC por esse: local destiny = {x = 123, y = 456, z = 7} local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end local node = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be promoted in your vocation for 20000 gold?'}) node:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 1, level = 200, promotion = 1, pos = destiny, text = 'Congratulations! You are now promoted.'}) node:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) PS: o botão de <code> está indisponível via mobile
-
(Resolvido)Double Exp Item para tfs 1.x
Marca a melhor resposta, brother..vamos contribuir p/ organizar o fórum.