Ir para conteúdo
Close

Reds

Membro
  • Total de itens

    504
  • Registro em

  • Última visita

  • Dias Ganhos

    4

Reds venceu a última vez em Março 12

Reds teve o conteúdo mais curtido!

4 Seguidores

Sobre Reds

  • Rank
    Senhor

Informação de Perfil

  • Genero
    Masculino
  • Localização
    Brasil
  • Eu sou
    Programmer
  • Meu personagem
    Reds

Últimos Visitantes

1.184 visualizações
  1. Reds

    Scripting SPELL

    local combat8_Brush_2 = createCombatObject() setCombatParam(combat8_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat8_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat8_Brush_2,createCombatArea({{1, 0, 1}, {0, 2, 0}, {1, 0, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (16)*-1,(53)*-1 end setCombatCallback(combat8_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 1, 0}, {1, 2, 1}, {0, 1, 0}})) function getDmg_Brush(cid, level, maglevel) return (27)*-1,(54)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, positionToVariant(getCreaturePosition(uid))) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) addEvent(RunPart,800,combat8_Brush_2,cid,var) RunPart(combat0_Brush,cid,var) return true end
  2. Qual a versão do tfs? Consegue ver a rev também?
  3. O tk tava fora ai não postei antes.. Script: function onUse(cid, item, fromPosition, itemEx, toPosition) if (itemEx.itemid == idDaGrowth) then doSendMagicEffect(toPosition, CONST_ME_POFF) destroyItem(cid, itemEx, toPosition) return true end return false end E no XML: <action itemid="idMachete" event="script" value="machet.lua"/> Isso resolve a machete, para não remover wild growth, você precisa identificar a Action que existe dela e modificar.
  4. Script em action: function onUse(cid, item, fromPosition, itemEx, toPosition) if (itemEx.itemid == idDaGrowth) then doSendMagicEffect(toPosition, CONST_ME_POFF) destroyItem(cid, itemEx, toPosition) return true end return false end Action.xml: <action itemid="idMachete" event="script" value="machet.lua"/> Caso de um erro avise
  5. local combat = createCombatObject() arr = { {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 3, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function spellCallback(param) if (isCreature(cid) then local skill = getPlayerSkillLevel(param.cid, 0) local level = getPlayerLevel(param.cid) local minimo = (skill + level)/2 local maximo = skill + level if param.count > 0 or math.random(0, 1) == 1 then doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER) doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA) end if(param.count < 1) then doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER) doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA) param.count = param.count + 1 addEvent(spellCallback, math.random(100, 2000), param) end end end function onTargetTile(cid, pos) local param = {} param.cid = cid param.pos = pos param.count = 0 spellCallback(param) end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Testa ai
  6. Sim, inclusive algumas trocam de graça X vezes por mês, depende de emrpesa para empresa. Tem algumas regras do otland: We do not accept servers with modified/false information (i.e. number of online players, record and uptime). Usually such servers are instantly detected and banned from otservlist including ip ban so it is harder to add a server in the future. Adding login servers (summing online players from a few servers) and counting quit players (e.g. on trainers) is also prohibited. Outras coisas: Coloca kicktime de 15 minutos Coloca áreas de logout (PZ e etc..)
  7. Estou trazendo 1 script por semana (geralmente na terça-feira) e caso você tenha alguma sugestão, poste aqui ou mande em mensagem privada a ideia, podendo ser o da próxima semana. Olá pessoal, estou trazendo outro script para o TibiaKing, este NPC faz parte de uma série de NPC's que eu posicionei em meu servidor em locais estratégicos, concedendo bônus diferentes para os jogadores. Em seus NPC's, crie um arquivo XML e coloque o seguinte: <?xml version="1.0" encoding="UTF-8"?> <npc name="Luke" script="data/npc/scripts/speedbuff.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="152" head="95" body="95" legs="29" feet="56" addons="2" corpse="6080"/> <parameters> <parameter key="message_greet" value="Ola, voce gostaria de um bonus?" /> </parameters> </npc> E dentro da pasta de scripts dos seus NPC's crie um arquivo LUA e coloque: 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 local config ={ effectTime = 10, -- tempo em minutos maxLevel = 125, -- level maximo para receber influencer = 2, -- multiplicador da velocidade aumentada timeStorage = 319203 -- storage para o tempo } local function downSpeed(cid, speed) doChangeSpeed(cid, -speed) 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, "bonus") then local level = getPlayerLevel(cid) if level < config.maxLevel then if os.time() > getPlayerStorageValue(cid, config.timeStorage) then setPlayerStorageValue(cid, config.timeStorage, config.effectTime * 60 + os.time()) local speed = config.maxLevel - level doChangeSpeed(cid, speed * config.influencer) addEvent(downSpeed, 60 * config.effectTime, cid, speed * config.influencer) selfSay('Voce recebeu um bonus de velocidade.', cid) else local minutesText local secondsText local seconds = math.floor((getPlayerStorageValue(cid, config.timeStorage) - os.time()) % 60) + 1 local minutes = math.floor((getPlayerStorageValue(cid, config.timeStorage) - os.time()) / 60) minutesText = minutes .." minutos e " secondsText = seconds .." segundos." if seconds == 60 then minutes = minutes + 1 end if minutes == 0 then minutesText = "" end if seconds == 0 or seconds == 60 then if minutes > 0 then minutesText = minutes .." minutos." end secondsText = "" end selfSay('Voce ja possui o bonus, ele expira em ' ..minutesText ..secondsText, cid) end else selfSay('O bonus de velocidade so e aplicado para jogadores de level menor de que '..config.maxLevel..".", cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Explicando o código: com essas configurações o NPC irá: - Conceder ao jogador 10 minutos de bônus de velocidade para jogadores level 125 ou menos. - O jogador que receber o bônus terá velocidade igual a um jogador de level 125. - Impedir o jogador de pegar o bônus diversas vezes. - Todas as configurações podem ser alteradas na variável "config" no topo do código. Qualquer dúvida deixe nos comentários e lembre de enviar a sua sugestão
  8. tem sources que não funcionam essa função para pegar atributos
  9. function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 7001) > 0 then doPlayerSendCancel(cid, "Voce ativou a aura.") return true end doPlayerSendCancel(cid, "Voce nao completou a quest.") return false end
  10. dos 2, usa a mesma
  11. Estou no celular e fica ruim de ver, mas acho que tá dando problema para verificar se é casado. if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end Apaga isso, ou tenta trocar a sua verificação de nulo: if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
  12. Tem que liberar as portas do seu roteador

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...