Histórico de Curtidas
-
Ribeiro Foda deu reputação a Rusherzin em (Resolvido)addEvent em CastSpellNão tenho certeza se entendi exatamente o que tu querias que eu fizesse, mas... tenta dessa forma:
local config = { mana = 0, seconds = 0, storage = 111313, semMana = "Você não tem mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", } local area = createCombatArea(AREA_CIRCLE2X2) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if(isCreature(target) == 0) then return true end if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage, os.time()) for x = 1, 40 do addEvent(furyAttackTarget,250*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z}) end else doPlayerSendCancel(cid, config.semMana) doSendMagicEffect(getPlayerPosition(cid),2) end return true end function furyAttackTarget(cid,target,pos) if isCreature(cid) == TRUE and isCreature(target) == TRUE then doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,3) doAreaCombatHealth(cid,COMBAT_FIREDAMAGE,pos,area,-1,-200,36) doAreaCombatHealth(cid,COMBAT_FIREDAMAGE,pos,area,-1,-500,36) end end
-
Ribeiro Foda deu reputação a KotZletY em (Resolvido)addEvent em CastSpell@Ribeiro Foda o que você quer fazer ? Você quer adiconar um addEvent, ou seja, você quer um time pra executar algo.
Não está funcionando, porquê você ta colocando pro addEvent retorna o combat, sem ter o combat, isso da nem pra questionar. "Como usar algo, que não existe ?".
-
Ribeiro Foda deu reputação a Rusherzin em [AJUDA] Como dar acesso a missões.Não tem o arquivo quests.xml? Acho que lá posso encontrar a storage e o valor certo para terminar cada missão..
-
Ribeiro Foda deu reputação a Rusherzin em doTeleportThing(cid,Pos) ao usar Spelllocal config = { mana = 0, seconds = 10, storage = 10, semMana = "Você não tem mana suficiente.", msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 6) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -3000, 0, -6000) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage, os.time()) local Target = getCreatureTarget(cid) local Pos = getCreaturePosition(Target) doTeleportThing(cid,Pos) addEvent(doCombat, 0, cid, combat, var) else doPlayerSendCancel(cid, config.semMana) doSendMagicEffect(getPlayerPosition(cid),2) end return true end
-
Ribeiro Foda deu reputação a Rusherzin em (Resolvido)[NPC] Erro ao criar NPCFaltava um end.
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 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, 'castle') or msgcontains(msg, 'castelo')) then if os.date("%A") == "Saturday" then if (os.date("%X") >= "17:00:00") and (os.date("%X") <= "18:00:00") then pos = {x=849, y=995, z=7} doTeleportThing(cid,pos) talkState[cid] = 0 else selfSay('Desculpe, mas eu só posso teleporta-lo para o Castle aos Sabados entre as 17:00 e 18:00 horas.', cid) end end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Ribeiro Foda recebeu reputação de Mixlort em Poketibia 9.60 by lazarocpAaaaaaaaaaaaaaa posta as mega evolução tioooo
-
Ribeiro Foda deu reputação a Zanrix em NPC PerguntasNão entendi se ele pode ficar perguntando até acertar ou se ele errar uma vez perde a chance, mas está aqui os dois jeitos:
Pode tentar até acertar:
Só uma chance de responder:
-
Ribeiro Foda deu reputação a Zanrix em NPC PerguntasAlgo assim?
-
Ribeiro Foda recebeu reputação de Alberto Silvano em Poketibia 9.60 by lazarocpAaaaaaaaaaaaaaa posta as mega evolução tioooo
-
Ribeiro Foda recebeu reputação de
Magalhaes92em [creaturescripts] Aparecer OwNeD! ao matar player.Olá pessoal do TK! Vim aqui hoje trazer 1 script bem básico, mas legal!
Quando o character morre Aparece em cima do corpo OwNeD!
1º Abra data\creaturescripts\scripts
Agora crie 1 arquivo .LUA chamado: owned
Agora cole isso:
function onKill(cid, target) if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then doSendAnimatedText(getCreaturePosition(target), "OwNeD!", 35) end return TRUE end 2º Abra creaturescripts.xml e coloque isso:
Se for 8.40:
<event type="kill" name="owned" script="owned.lua"/> Se for 8.54 para cima
<event type="kill" name="owned" event="script" script="owned.lua"/> É isso aí pessoal! Eu não sei muito bem como colocar isso: <event type="statschange" name="magmaboots" event="script" value="magmaboots.lua"/>
(As coisas em verde,roxo, azul)
Ai fiz do meu jeito!
CRÉDITOS: Leonardo ( Criador do Black World 8.40)
ATT: R1B31R0
EDIT: Desculpe pelo erro no Título, não sei como mudar. Escrevi errado CreatureScripts, coloquei CreatureScripta. Desculpem!
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)Stunner AxeEm weapons/scripts coloque mace.lua
-
Ribeiro Foda deu reputação a luanluciano93 em [TFS 1.x] TK Vip SystemOlá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
-- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end
As funções são:
• player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
• player:isVip() - Retorna se o player é vip ou não.
• player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
• player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
• player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
• player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
• player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
• player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
Qualquer dúvida ou erro/bug poste aqui.
-
Ribeiro Foda recebeu reputação de mauroala em Poketibia 9.60 by lazarocpAaaaaaaaaaaaaaa posta as mega evolução tioooo
-
Ribeiro Foda deu reputação a nookia em Rocky BootsNome: Rocky Boots Função: A cada 120 segundos "2 minutos", absorve metade de um dano acima de 1000. Autor: Nokia Ideia: FoxWorld Versão Testada: 8.40+ Bom, vamos a script.
Em creaturescript.xml adicione:
<event type="statschange" name="rockyBoots" script="rockyBoots.lua"/> Crie um arquivo em creaturescripts/scrips chamado rockyBoots.lua e adicione isso:
function onStatsChange(cid, attacker, _type, combat, value) if isPlayer(cid) == TRUE then if getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid == 7891 then local value = value if (_type == STATSCHANGE_HEALTHGAIN) or (_type == STATSCHANGE_MANAGAIN) then if (value >= 1000) then local metade = math.floor(value/2) if getPlayerStorageValue(cid, 41234) > os.time() then else setPlayerStorageValue(cid, 41234, os.time() + 120) doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -metade, -metade, CONST_ME_NONE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "A sua rocky boots absorveu " .. metade .. " de dano.") return FALSE end end end end end return TRUE end Em creaturescripts/scripts/login.lua adicione a seguinte linha para registra o script:
registerCreatureEvent(cid, "rockyBoots") Agora para saber o tempo que vai absorver novamente:
Em actions.xml adicione:
<action itemid="7891" script="rockyBoots.lua" /> Crie um arquivo em actions/scrips chamado rockyBoots.lua e adicione isso:
function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 41234) > os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Rocky boots carregando. Faltam "..getPlayerStorageValue(cid, 41234) - os.time().." segundos.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Rocky boots protegendo.") end end No caso da bota seria a Magma Boots, imagem da bota em anexo.
rocky boots.bmp
-
Ribeiro Foda deu reputação a xWhiteWolf em Gran Castle Event (8.54+)Olá pessoa, hoje vim trazer pra vocês um script bem requisitado que inclusive é vendido por alguns scripters. Algumas versões "pioradas" dessse script podem ser encontradas em servidores cópias do Fox World porém nenhum desses scripts chegará aos pés desse daqui que foi arrumado por mim.
Eu não sou o criador do Script, eu peguei qualquer um na internet e só fui arrumando e adicionando coisas que as pessoas reclamavam que não tinha.
O cara que criou a versão que eu editei é esse daqui:
Não vou me prolongar e nem falar mal da versão do Roksas, apenas saibam que eu editei ela praticamente inteira e que agora está 100%.
Aqui tem um pequeno vídeo de como funciona o evento:
Explicação: Gran Castle é um evento para ser feito sozinho ou com a guild, há um limite configurável no script de membros que podem entrar da mesma guild. Em dias determinados é aberto o evento e os players podem entrar ao falar com o NPC Melkrapo. Uma vez dentro do castelo os players batalharão para subir os andares e chegar até a Gran Tower, um monstro lendário que dará glória para aqueles que o derrotarem. Será que você é capaz? Instale no seu server e descubra! Um evento para redefinir o conceito de PVP e onde o seu maior inimigo serão seus semelhantes.
Sem mais delongas vamos começar a instalar esse monstrinho.. porque ele é grande pra caralho.
Agora crie um arquivo em creaturescripts\scripts chamado Gran Tower.lua e adicione o seguinte:
em data\lib crie um arquivo chamado 046-Gran Tower.lua e adicione o seguinte dentro dele:
Agora voltando aos creaturescripts crie um arquivo em scripts chamado Gran Aura.lua e adicione:
E um arquivo chamado Barrier.lua na mesma pasta com o seguinte conteúdo:
Agora em globalevents\globalevents.xml adicione a seguinte linha:
<globalevent name="Gran Tower" interval="60" event="script" value="Gran Tower.lua"/> E adicione o script associado em globalevents\scripts com o nome de Gran Tower.lua:
Agora na pasta monster procure o seu monsters.xml e adicione essas duas linhas:
<monster name="Gran Tower" file="8.4/Gran Tower.xml"/> <monster name="Barrier" file="8.4/barrier.xml"/> Feito isso crie os monstros na pasta data\monster\8.4:
O primeiro se chama barrier.xml e deverá conter:
O segundo se chamará Gran Tower.xml e deverá conter:
Agora vamos para NPC, vá em data\npc e crie um arquivo chamado Melkrapo.xml com o seguinte conteúdo:
Agora em npc\scripts crie um arquivo chamado Melkrapo.lua e adicione o seguinte:
Agora partindo pra spells vá em data\spells e adicione no spells.xml essas linhas:
-
Ribeiro Foda recebeu reputação de leozynho123 em [PEDIDO TFS] PARA 8.4!Galera alguem tem uma TFS 0.3.6 para servidor 8.4?
Que leia mods!
-
Ribeiro Foda recebeu reputação de fagnersantos em [PEDIDO TFS] PARA 8.4!Galera alguem tem uma TFS 0.3.6 para servidor 8.4?
Que leia mods!
-
Ribeiro Foda deu reputação a vagnerkuntz em (Resolvido)[PEDIDO] Red Star DiferenteRibeiro baixe a versão do TFS 0.3.2
que é 8.40 e tem source disponível.
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferenteé o mesmo esquema da gran aura, qnd logar faz a checagem e adiciona a função no player.
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferentefico feliz que você tenha conseguido resolver.
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferenteo vídeo ficou uma bosta e não dá pra enxergar onde começa e onde termina mas em todo caso eu fiz essa função aqui que deve funcionar da forma que vc quer
function loopEffect(uid, effect, tempo) local pos = getCreaturePosition(uid) local effectPositions = { [1] = {x = pos.x - 1, y = pos.y - 1, z = pos.z, stackpos = 0}, [2] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x + 1, y = pos.y - 1, z = pos.z, stackpos = 0}, [4] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [5] = {x = pos.x + 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [6] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [7] = {x = pos.x - 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [8] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [9] = {x = pos.x, y = pos.y, z = pos.z, stackpos = 0} } doSendDistanceShoot(effectPositions[math.random(#effectPositions)], effectPositions[math.random(#effectPositions)], effect) addEvent(function() if isCreature(uid) then loopEffect(uid, effect, tempo) end end, 1000 * tempo) return true end só colocar ela no final de data\lib\constant.lua e no script que vc quiser que adicione ela você coloca essa linha:
loopEffect(cid, 18, 0.3)
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferenteisso é uma função cara, vc põe onde vc quiser '-'
-
Ribeiro Foda deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Red Star Diferente@xarles, isso é considerado flood. Se você não tem nada a dizer que vá acrescentar algo ao tópico, apenas fique quieto.
@Topic: me manda um vídeo ou faz um desenho que eu tento fazer
-
Ribeiro Foda recebeu reputação de geanzitxo em [ITEM.XML] Helmet dar vida e duration!Olá pessoal fiz 1 tag para 1 helmet que da vida, achei bem legal é Igual do Fox World.
O helmet da porcento de life e life, ele tem uma duration. Vamos lá!
1º Abra seu items.xml e de Ctrl+f e procuro pelo ID 2342 ( Ancient Helmet )
2º Substitua oque está escrito por isso: ( P.S: Eu uso o nome como pharao helmet )
<item id="2342" article="a" name="pharao helmet"> <attribute key="description" value="The power of the ancients converted into health. (hitpoints 100+2%)."/> <attribute key="weight" value="2760"/> <attribute key="armor" value="8"/> <attribute key="maxhealthpoints" value="+100" /> <attribute key="maxhealthpercent" value="+105" /> <attribute key="slotType" value="head"/> Ele é simples assim. Despois procure no ID abaixo 2343. ( Eu coloquei o nome de blessed pharao helmet) <item id="2343" article="a" name="blessed pharao helmet"> <attribute key="description" value="The power of the ancients converted into health. (hitpoints 200+4%)."/> <attribute key="weight" value="2760"/> <attribute key="armor" value="10"/> <attribute key="slotType" value="head"/> <attribute key="maxhealthpoints" value="+150." /> <attribute key="maxhealthpercent" value="+110." /> <attribute key="duration" value="9800"/> <attribute key="showduration" value="1"/> <attribute key="decayTo" value="2342"/>
Ou seja ele vai durar 1 hora e 38 minutos, depois ele volta para o Pharao Helmet.
Agora vai em movements/movements.xml
e Adicione isso:
<movevent event="Equip" itemid="2342" slot="head" function="onEquipItem" /> <movevent event="DeEquip" itemid="2342" slot="head" function="onDeEquipItem" /> E depois
<movevent event="Equip" itemid="2343" slot="head" function="onEquipItem" /> <movevent event="DeEquip" itemid="2343" slot="head" function="onDeEquipItem" /> Pronto está feito! Agora vem a pergunta como eu coloco o brilho vermelho denovo? É simples apenas colocar 1 comando em talkactions\scripts. Crie 1 arquivo blessed.LUA e coloque isso: function onSay(cid, words, param) if doPlayerRemoveMoney(cid, 0) == TRUE then doPlayerAddItem(cid,2343, 1) pos = getPlayerPosition(cid) doSendAnimatedText(pos, "BLESSED", TEXTCOLOR_RED) elseif(doPlayerRemoveMoney(cid,0) == FALSE) then doPlayerSendCancel(cid, "Você nao tem dinheiro.") end return TRUE end Depois vai em talkactions.xml <talkaction words="!blessed" script="blessed.lua"/>
É isso ai! Acabou agora paladin não vai morrer "Facil" !
Esse é meu primeiro tutorial, desculpe pela desorganização!
-
Ribeiro Foda recebeu reputação de geanzitxo em [creaturescripts] Aparecer OwNeD! ao matar player.Olá pessoal do TK! Vim aqui hoje trazer 1 script bem básico, mas legal!
Quando o character morre Aparece em cima do corpo OwNeD!
1º Abra data\creaturescripts\scripts
Agora crie 1 arquivo .LUA chamado: owned
Agora cole isso:
function onKill(cid, target) if isPlayer(cid) == TRUE and isPlayer(target) == TRUE then doSendAnimatedText(getCreaturePosition(target), "OwNeD!", 35) end return TRUE end 2º Abra creaturescripts.xml e coloque isso:
Se for 8.40:
<event type="kill" name="owned" script="owned.lua"/> Se for 8.54 para cima
<event type="kill" name="owned" event="script" script="owned.lua"/> É isso aí pessoal! Eu não sei muito bem como colocar isso: <event type="statschange" name="magmaboots" event="script" value="magmaboots.lua"/>
(As coisas em verde,roxo, azul)
Ai fiz do meu jeito!
CRÉDITOS: Leonardo ( Criador do Black World 8.40)
ATT: R1B31R0
EDIT: Desculpe pelo erro no Título, não sei como mudar. Escrevi errado CreatureScripts, coloquei CreatureScripta. Desculpem!