Histórico de Curtidas
-
dbko recebeu reputação de Matheus Reis em [Pedido] Hiraishin KunaiAlguem ae Tem Essa Script ou Possa Faze-la Pra Mim Pvf?
Ela Funciona Assim Dou Use em Certo Item e Fica Uma Cruzinha Ai Clico Com Aquela Cruz no Chao e Sou Teleportado Para Onde Cliquei e Sai um Efeito e uma Fala:Shunshin
Obg
-
dbko deu reputação a Wise em (Resolvido)[AJUDA] Bossboss.lua (data/creaturescripts/scripts):
local t = {boss = 'Boss', storage = 54321} function onDeath(cid, killer) if isMonster(cid) and getCreatureName(cid) == t.boss then for i = 1, #killer do setPlayerStorageValue(killer[i], t.storage, 1) end doCreatureSay(cid, 'You defeated me..now you can open the door.', TALKTYPE_ORANGE_1) elseif isPlayer(cid) and getPlayerStorageValue(cid, t.storage) > 0 then setPlayerStorageValue(cid, t.storage, -1) end return true end function onLogout(cid) if getPlayerStorageValue(cid, t.storage) > 0 then setPlayerStorageValue(cid, t.storage, -1) end return true end
Tags - creaturescripts.xml (data/creaturescripts):
<event type="death" name="BPDeath" event="script" value="boss.lua"/> <event type="logout" name="BPLogout" event="script" value="boss.lua"/>
Registre o creature event, tanto no XML do monstro:
<script> <event name="BPDeath"/> </script>
Quanto em login.lua (data/creaturescripts/scripts):
registerCreatureEvent(cid, "BPDeath")
bossdoor.lua (data/actions/scripts):
function onUse(cid, fromPos, toPos) local storage = 54321 if getPlayerStorageValue(cid, storage) > 0 then doTeleportThing(cid, toPos) doSendMagicEffect(fromPos, CONST_ME_MAGIC_BLUE) else doSendMagicEffect(fromPos, CONST_ME_POFF) doPlayerSendCancel(cid, 'You need to kill the boss to open the door.') end return true end
Tag - actions.xml (data/actions):
<action actionid="ACTIONID" script="bossdoor.lua"/> Nesse caso, sempre que morrer/fizer logout, o player vai ter o valor da storage setado como diferente do necessário para abrir a porta.
-
dbko deu reputação a Wise em (Resolvido)[AJUDA] Foodnewfood.lua (data/actions/scripts):
function onUse(cid, item) local percent = 0.1 -- 10% if getCreatureHealth(cid) == getCreatureMaxHealth(cid) then return doPlayerSendCancel(cid, 'Your life is full.') end doCreatureAddHealth(cid, (getCreatureMaxHealth(cid) * percent)) doCreatureSay(cid, 'Mmmm.', TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) return true end
Tag - actions.xml (data/actions):
<action itemid="ITEMID" script="newfood.lua"/> Ops! Corrigi um erro de desatenção minha.
-
dbko deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Summon Monstersnem queria falar nada mas ficou ruim assim porque foi você que fez... auheuhauhuheuha
-
dbko deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Summon Monstersuhauheuhauhea eu tava brincando cara, relaxa
-
dbko deu reputação a KekezitoLHP em Fist Fighting/AttackspeedNome: Fist Fighting/Attackspeed
Tipo: C++
Autor: Oneshot
Já vi alguns pedidos no fórum sobre a skill Fist Fighting, onde quanto mais você treinasse ela, mais rápido você atacaria no jogo, e parece que isto é um feature do Tibia. Como é uma modificação muito fácil nas sources, resolvi passar aí para a galera.
Por padrão, o intervalo entre ataques do Tibia é 2000ms, ou seja, um ataque físico a cada dois segundos. Eu fiz uma pequena modificação nas sources onde o Fist Fighting seria inversamente proporcional ao tal intervalo, ou seja, quanto maior o valor da skill, menor seria o intervalo.
Fiz de um modo que um jogador com Fist Fighting de nível 200, então, teria uma redução de 75% no intervalo de ataque, ou seja, um ataque a cada meio segundo ou dois ataques por segundo
Leve em consideração que ele pega como base o attackspeed da vocação ou da arma usada, ou seja, se seu servidor já tem o tal chamado "fast attack", de nada adianta adicionar esse código C++.
Abra seu player.cpp, procure por isso:
Player::getAttackSpeed() Substitua toda a função, dependendo da versão de seu servidor:
0.3.6
uint32_t Player::getAttackSpeed() { Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) return std::ceil(weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); return std::ceil(vocation->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); } 0.4
uint32_t Player::getAttackSpeed() const { return std::ceil(((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)) : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()) * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))))); } Isso adiciona uma utilidade para a skill Fist Fighting que em muitos dos servidores é algo deixado de lado e inútil.
-
dbko deu reputação a luanluciano93 em [PEDIDO] Pena de StaminaEu modifiquei aqui, espero que funcione ..
-- <action itemid="7488" script="staminapotion.lua"/> local config = { need_Premium = "sim", -- "sim" ou "nao" / Se precisa de Premium effect = 30 -- Numero do Efeito remove_on_use = "sim" -- "sim" ou "nao" / se vai remover ao usar stamina = 2520 -- Quanto de Stamina / 1 = 1 minuto storage = } function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 40000 -- storage (pode escolher qualquer numero, desde que ja não tenha em alguma) local exhaust = 60 -- Tempo para o player poder usar o item novamente! (tempo em segundos) if (getPlayerStorageValue(cid, storage) <= os.time()) then if config.need_Premium == "sim" and if not isPremium(cid) then doPlayerSendCancel(cid, "You need premium.") return false end doPlayerAddStamina(cid, config.stamina) doCreatureSay(cid, "ESCREVER UM TEXTO AQUI!", 19) doSendMagicEffect(getThingPos(cid), config.effect) setPlayerStorageValue(cid, storage, os.time()+exhaust) if config.remove_on_use == "sim" then doRemoveItem(item.uid, 1) return true end else doPlayerSendCancel(cid, "Sorry, you only can again use this item after "..exhaust.." seconds.") end return true end -
dbko deu reputação a ViitinG em [PEDIDO] Distance Eff WandTodos os efeitos :
CONST_ANI_SPEAR = 0 CONST_ANI_BOLT = 1 CONST_ANI_ARROW = 2 CONST_ANI_FIRE = 3 CONST_ANI_ENERGY = 4 CONST_ANI_POISONARROW = 5 CONST_ANI_BURSTARROW = 6 CONST_ANI_THROWINGSTAR = 7 CONST_ANI_THROWINGKNIFE = 8 CONST_ANI_SMALLSTONE = 9 CONST_ANI_DEATH = 10 CONST_ANI_LARGEROCK = 11 CONST_ANI_SNOWBALL = 12 CONST_ANI_POWERBOLT = 13 CONST_ANI_POISON = 14 CONST_ANI_INFERNALBOLT = 15 CONST_ANI_HUNTINGSPEAR = 16 CONST_ANI_ENCHANTEDSPEAR = 17 CONST_ANI_REDSTAR = 18 CONST_ANI_GREENSTAR = 19 CONST_ANI_ROYALSPEAR = 20 CONST_ANI_SNIPERARROW = 21 CONST_ANI_ONYXARROW = 22 CONST_ANI_PIERCINGBOLT = 23 CONST_ANI_WHIRLWINDSWORD = 24 CONST_ANI_WHIRLWINDAXE = 25 CONST_ANI_WHIRLWINDCLUB = 26 CONST_ANI_ETHEREALSPEAR = 27 CONST_ANI_ICE = 28 CONST_ANI_EARTH = 29 CONST_ANI_HOLY = 30 CONST_ANI_SUDDENDEATH = 31 CONST_ANI_FLASHARROW = 32 CONST_ANI_FLAMMINGARROW = 33 CONST_ANI_SHIVERARROW = 34 CONST_ANI_ENERGYBALL = 35 CONST_ANI_SMALLICE = 36 CONST_ANI_SMALLHOLY = 37 CONST_ANI_SMALLEARTH = 38 CONST_ANI_EARTHARROW = 39 CONST_ANI_EXPLOSION = 40 CONST_ANI_CAKE = 41 CONST_ANI_WEAPONTYPE = 254 CONST_ANI_NONE = 255 -
dbko deu reputação a kbelin em [PEDIDO] Distance Eff WandVai em data/items/item.xml, abra o arquivo e de um Ctrl+F, digite o nome da arma ou wand a qual você deseja mudar, ela estará mais ou menos assim:
<item id="2190" article="a" name="wand of vortex"> <attribute key="description" value="Surges of energy rush through the tip of this wand." /> <attribute key="weight" value="1900" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="energy" /> <attribute key="range" value="3" /> </item> Onde tem: <attribute key="shootType" value="energy" /> Mude para: <attribute key="shootType" value="cake" /> Pronto, agora de reload e teste, faça bom proveito. ^~ -
dbko deu reputação a narazaky em [PEDIDO] Script de SpellVeja essa:
-
dbko deu reputação a Xagah em [AJUDA] Como Juntar Um Mapa ao OutroSe ajudei, dá um Rep =D
-
dbko deu reputação a Xagah em [AJUDA] Como Juntar Um Mapa ao OutroVc usa ReMeRe?
Abra o primeiro Mapa, depois vá em:
File > Import > Import Map
-
dbko deu reputação a Nogard em [PEDIDO] Como Colocar Exp Adicional Para PremiunsTenta isso:
function onLogin (cid) local bonus = 50 if getPlayerPremiumDays(cid) >= 1 then doPlayerSetExperienceRate(cid, getPlayerExperienceRate(cid)+bonus) else doPlayerSetExperienceRate(cid, getPlayerExperienceRate(cid)-bonus) end return true end (Não esqueça da tag, e de registra-lo em login.lua).
Não testei. Caso funcione, altere o bônus que o player irá receber, conforme você desejar.
-
dbko deu reputação a Sammy em (Resolvido)[Resolvido] error no gesiorPHPMyAdmin (PMA), é aonde fica a sua database de seu servidor, aonde está as contas de jogadores, registros, etc...
Se você não usa PMA, deve usar SQLite, faça a mesma coisa.
O Erro que está dando no teu site é que não achou a tabela VIP_TIME em accounts, se você executar o código que eu te passei acima na sua database, terá o erro fixado.
-
dbko deu reputação a Cat em [ACTION] Rock ShovelEsse é um script RPG que eu fiz a um bom tempo com base em outro script do global, cuja sua função é remover uma pedra que está em seu caminho, você usa o item na pedra para quebrá-la e ganha uma small stone, e após um certo tempo a pedra volta ao normal, é bem parecido bom a machete, abre caminho para passar, mas nesse caso a pedra pode estar em uma passagem na montanha por exemplo.
DATA/Actions/scripts -> rockshovel.lua
function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == 1285 then doTransformItem(itemEx.uid, 3610) doDecayItem(itemEx.uid) doPlayerAddItem(cid, 1294, 1) return TRUE end return destroyItem(cid, itemEx, toPosition) end DATA/Actions/Actions.xml
<action itemid="5710" script="tools/rock.lua"/> 1285 -> ID da pedra grande.
3610 -> ID da pedra menor que ela vai se transformar quando "quebrar".
5710 -> ID da shovel que será usada para quebrar a pedra.
••
••
••
É bem simples mas útil em quests, espero que tenham gostado.
-
dbko deu reputação a Adriano SwaTT em [Spell] Utani Hur (Rastro de Fogo)Ok, muito obrigado pelo REP+'
Creio que para deixar hitando outros players, não seja tão dificil'
Vou indo dormir, mais uma vez obrigado e boa noite.