Histórico de Curtidas
-
Jean Junior deu reputação a ViitinG em [Creaturescript] Icones no minimap com descriçãoBom para quem não sabe como funciona o script,é uma marcação que fica no minimap(in-game) que ao deixar o ponteiro do mouse em cima aparece uma descrição,pode ser mudado tanto a descrição quanto o icone que aparece no minimap.
• Adicionando o script •
Em "data/creaturescripts/creaturescripts.xml" adicione está tag :
<event type="think" name="IconMap" event="script" value="iconmap.lua"/> Em "data/creaturescripts/scripts" crie um arquivo lua chamado "iconmap" e cole isso dentro :
local config = { storage = 030220122041, version = 1, marks = { {mark = 5, pos = {x = 1095, y = 1062, z = 7}, desc = "Temple."}, {mark = 4, pos = {x = 895, y = 996, z = 7}, desc = "Depot."} } } local f_addMark = doPlayerAddMapMark if(not f_addMark) then f_addMark = doAddMapMark end function onThink(cid, interval) if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then return end for _, m in pairs(config.marks) do f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "") end setPlayerStorageValue(cid, config.storage, config.version) return TRUE end Em "data/creaturescripts/scripts/login.lua" adicione está tag no fim do script :
registerCreatureEvent(cid, "IconMap") Caso use TFS 1.0 use este register no login.lua :
player:registerEvent(cid, "IconMap") Creditos : Comedinhas. - ViitinG pelo tutorial.
• Configurando •
• Icones •
-
Jean Junior deu reputação a Dwarfer em (Resolvido)SCRIPT PLAYER MATA BIXO E É TELEPORTADO PARA O TEMPLOSim, dá sim. Só tenta explicar tudo de uma vez para não ficar esse muda muda rsrsrs. Segue o script:
Valeu!
-
Jean Junior deu reputação a Dwarfer em (Resolvido)SCRIPT PLAYER MATA BIXO E É TELEPORTADO PARA O TEMPLOEm creaturescritps/scripts crie um arquivo:
tpskill.lua
No arquivo do monstro, antes de </monster>, adicione:
<script>
<event name="RewardTp"/>
</script>
Em creaturescripts.xml, adicione a tag: <event type="death" name="RewardTp" event="script" value="tpskill.lua"/>
-
Jean Junior deu reputação a Smart Maxx em Probleminha com NPC.nome do npc.lua :
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 npcHandler:addModule(FocusModule:new()) nome do npc.XML :
<?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do npc" script="data/npc/scripts/nome que vc crio.lua" walkinterval="2000" floorchange="0"> -- não se esqueça de mudar essa parte <health now="100" max="100"/> <look type="130" head="19" body="86" legs="68" feet="95" addons="1"/> -- aqui altera roupa <parameters> <parameter key="message_greet" value="What do you want from me, |PLAYERNAME|?" /> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value=""/> <parameter key="shop_sellable" value="nome do item, id do item, preço a ser vendido"/> </parameters> </npc> -
Jean Junior deu reputação a Dyego em Probleminha com NPC.este aqui é o script, só você editar ele, 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 shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addSellableItem({'dragon scale mail', 'dsm'}, 2492, 40000, 'dragon scale mail') npcHandler:addModule(FocusModule:new())
-
Jean Junior deu reputação a Dyego em Probleminha com NPC.Xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Soilance" script="data/npc/scripts/manga.lua" walkinterval="2000"> <health now="100" max="100"/> <look type="128" head="79" body="48" legs="57" feet="76" addons="0"/> <parameters> <parameter key="message_greet" value="Greetings, |PLAYERNAME|. Perhaps you are interested in buying some food?" /> <parameter key="message_farewell" value="Well, bye.." /> <parameter key="message_walkaway" value="Goodbye?" /> </parameters> </npc> Script: 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 shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addSellableItem({'meat'}, 2666, 3, 'orange') npcHandler:addModule(FocusModule:new())
-
Jean Junior deu reputação a Cazuza em (Resolvido)Outfit por vocaçãoAqui vai um LINK de um script meu que funciona perfeitamente.
-
Jean Junior deu reputação a Orochi Elf em (Resolvido)Script ...Não testei.
local cfg = { delay = 2 -- Segundos msg = "DONATE!" -- Menssagem items = {2463}, -- Items que irão enviar a menssagem } local function doSendTxt(cid, txt) if getPlayerStorageValue(cid, 12992) < 1 then return true end doSendAnimatedText(getThingPos(Cid), txt, math.random(1, 255)) doSendMagicEffect(getThingPos(cid), 10) return addEvent(doSendTxt, cfg.delay * 1000, cid, txt) end function onEquip(cid, item) if isInArray(cfg.items, item.itemid) then if getPlayerStorageValue(cid, 12992) < 1 then setPlayerStorageValue(cid, 12992, 1) doSendText(cid, cfg.msg) end end return true end function onDeEquip(cid, item) if isInArray(cfg.items, item.itemid) then setPlayerStorageValue(cid, 12992, 0) end return true end TAG:
<movevent type="Equip" itemid="2463" slot="body" event="script" value="NomeDoScript.lua"/> <movevent type="DeEquip" itemid="2463" slot="body" event="script" value="NomedoScript.lua"/> Bom.. pra editar, é o seguinte. Se você for adicionar mais items no slot body, basta fazer assim
modo -> itemid="2463; NewID" exemplo -> itemid="2463; 2466" Caso for adicionar outro slot, voce precisa adicionar outra tag, e mudar o SLOT.
-
Jean Junior deu reputação a nookia em (Resolvido)Script ...local config = { tempo = 2, msg = "DONATE!", items = {2463} -- Itens que vai enviar a msg. } local function doSendText(cid, text) if (isPlayer(cid) == FALSE) then return false end if getPlayerStorageValue(cid, 19234) < 1 then return TRUE end doSendAnimatedText(getPlayerPosition(cid),config.msg, math.random(01,255)) return addEvent(doSendText, config.tempo * 1000, cid, text) end function onEquip(cid, item) if isInArray(config.items, item.itemid) then if getPlayerStorageValue(cid, 19234) < 1 then setPlayerStorageValue(cid, 19234, 1) doSendText(cid, config.msg) end end return TRUE end function onDeEquip(cid, item) if isInArray(config.items, item.itemid) then setPlayerStorageValue(cid, 19234, 0) end return TRUE end Testei e ta funcionando.
-
Jean Junior deu reputação a Cazuza em [Creaturescripts] Outfit por vocaçãoNome: Outfit por vocação Função: A pedidos de um membro do forum (@Jose Peterson). Aqui está um script que caso vocês sigam passo a passo irá funcionar como o nome já diz. Exemplo: Se for (Mago, Sorcerer) usará a outfit de Mage.
Versão: Testada somente na "10.31". (OTX Server - Galaxy) Créditos: Kazuza - (eu) Por ter criado.
@Jose Peterson - Pela Ideia.
"Pasta Servidor > Data > XML > ABRA o "Outfits.xml".
<outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Vai ser assim certo? Preciso que você deixe desta forma TODOS os outifit:
<outfit id="1" storageId="1415" storageValue="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> <outfit id="2" storageId="1416" storageValue="1"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> Notou a diferença? reparou que tem (storageId="1415" storageValue="1") e no outro (storageId="1416" storageValue="1").
Continue, acrescentando isto a todos outfits e aumentando o número da storageID, quando acabar vá para o próximo passo.
"Pasta Servidor > Data > Creaturescripts > ABRA o "creaturescripts.xml".
<event type="login" name="Outfit" event="script" value="Outfit.lua"/>
"Pasta Servidor > Data > Creaturescripts > Scripts > ABRA o "login.lua".
Adicione a seguinte linha antes do return true.
registerCreatureEvent(cid, "Outfit")
"Pasta Servidor > Data > Creaturescripts > Scripts > CRIE o arquivo "outfit.lua".
function onLogin(cid) local r = getCreatureOutfit(cid) local roupa = {lookHead = r.lookHead, lookBody = r.lookBody, lookLegs = r.lookLegs , lookFeet = r.lookFeet} if (getPlayerAccess(cid) <= 2) then if isPlayer(cid) then if getPlayerStorageValue(cid, 1415) == -1 then if getPlayerVocation(cid) == 0 then -- Sem vocação setPlayerStorageValue(cid,1415 ,1) -- Citzen if getPlayerSex(cid) == 0 then -- Se for homem doCreatureChangeOutfit(cid,{lookType = 136, roupa}) -- Roupa Masculina else doCreatureChangeOutfit(cid, {lookType = 128, roupa}) -- Roupa Feminina end end end if getPlayerStorageValue(cid, 1417) == -1 then if getPlayerVocation(cid) == 1 then -- Sorcerer? setPlayerStorageValue(cid,1417 ,1) -- Storage da roupa que voce quer, esta no XML/Outfits if getPlayerSex(cid) == 0 then -- Se for homem doCreatureChangeOutfit(cid,{lookType = 138, roupa}) -- Roupa Masculina else doCreatureChangeOutfit(cid, {lookType = 130, roupa}) -- Roupa Feminina end end end end end return true end
Adicionando Vocacoes/Outfits
Aqui não consta todos os Outfits para todas vocações, mas você pode adicionar. É que estava com preguiça, seguindo o exemplo:
if getPlayerStorageValue(cid, 1415) == -1 then -- A STORAGE DA ROUPA QUE VOCE QUER, XML/OUTFIT if getPlayerVocation(cid) == 0 then -- O NUMERO DA VOCACAO setPlayerStorageValue(cid,1415 ,1) -- A STORAGE DA ROUPA QUE VOCE QUER, XML/OUTFIT if getPlayerSex(cid) == 0 then doCreatureChangeOutfit(cid,{lookType = 136, roupa}) -- Roupa Masculina else doCreatureChangeOutfit(cid, {lookType = 128, roupa}) -- Roupa Feminina end end end
PS: O script tava formatado certo, essa bosta tirou a formatação.
-
Jean Junior deu reputação a Orochi Elf em (Resolvido)Spell INOVADORA !Bom.. os códigos ficaram muito ridículos, preciso estudar uma forma mais bonitinha
@OBS: Não testei.
LifeSteal.lua
Spells.xml
<instant name="Life Steal" words="life steal" lvl="1" mana="100" prem="0" range="100" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="LifeSteal.lua"> <vocation id="4"/> </instant> -
Jean Junior deu reputação a buddha em (Resolvido)Spell INOVADORA !Pois então... É praticamente impossível. O que daria pra fazer é juntar o exura a uma magia de área.
Edit:
Tipo assim:
-
Jean Junior deu reputação a Amandinhasz em (Resolvido)Atributo que da mais loot chance para um Amulet?Amigo, joguei no Google e encontrei somente isso: http://www.tibiaking.com/forum/topic/21918-mod-loot-ring-anel-de-loot/.
Espero que eu tenha ajudado. >_>
-
Jean Junior deu reputação a buddha em (Resolvido)Outfit por vocaçãoPera ai cara, não ponha no seu server ainda, tava testando e deu um bug loko aqui. Já posto o funcional.
Aqui:
Assim ele setaria o outfit mas a cor seria branca, para mudar isso é só ir mudando o lookHead e tals. Para saber o numero é facil, a tabela de cores se conta assim:
0 = branca(a primeira contando na horizontal), 1 = bege(a segunda contando na horizontal), etc.
Lembrando que nos testes vi que precisa ser onLogin(cid), mas não se preocupe, não dá para trocar de outfit. Também tem que colocar a outfit do homem e da mulher, senão os homens vão nascer com outfits de mulher ou as mulher com as do homem, eu marquei em negrito onde que é o do homem e o da mulher. O lookAddons é o seguinte: 1 = O primeiro addon, 2 = O segundo addon, 3 = Os dois addons.
-
Jean Junior deu reputação a JhonatanCWest em [Tutorial] Explicando e Criando VocaçõesOlá TibiaKing,
Vi muitas pessoas com dúvidas, mesmo contendo tutoriais, não entendiam,então tentarei fazer um bom tutorial.
Ok, vamos por a mão na massa!
Basicamente nós nos basearemos nisso:
Localizado em: DATA/XML/VOCATION.XML
Exemplo
Primeiro vou explicar cada item pra você criar sua vocação certinha!
id = não deve haver nenhuma igual, tente seguir a sequencia para não se perder.
name = nome da nova vocação.
description = quando der look aparecera esse nome, e caso acc manager também.
needpremium = se precisa de premmium para ter essa vocação (0 = não 1 = sim)
gaincap = o tanto de cap que vai ganhar quando upar
gainhp = o tanto de vida que vai ganhar quando upar
gainmana = o tanto de mana que vai ganhar quando upar
gainhpticks = o tanto de segundos que demora pra subir a vida
gainhpamount = o tanto de vida que vai ganhar a cada ( no nosso exemplo 6 ) segundos
gainmanaticks = o tanto de segundos que demora pra subir a mana
gainmanaamount = o tanto de mana que vai ganhar a cada ( no nosso exemplo 3 ) segundos
manamultiplier = quanto ml vai demorar pra subir, quanto menor mais rápido
attackspeed = velocidade do ataque de wands e weapons (quanto menor mais rápido)
soulmax = o maximo de soul
gainsoulticks = o tanto de segundos que vai demorar pra subir o soul
fromvoc = como ele será reconhecido nos scripts ( bote igual o id )
Formulas:
meleeDamage = quanto hita com weapons ( exceto wands e rods )
distDamage = quanto hita com ataques a distancia
wandDamage = quando hita com wand
magDamage = quando hita com magias
magHealingDamage = quanto heala com magias de cura, ( tanto exura como exura sio )
defense = quanto defende com escudos
armor = quanto defende com armaduras
Skill Ids:
(0) Fist
(1) Club
(2) Sword
(3) Axe
(4) Distance
(5) Shield
(6) Fishing
PS: Quando menor o skill multiplier, mais rápido upa os skills.
Criando nova vocação :
1. Basta você adicionar nosso exemplo, embaixo das vocations.
Exemplo
Adicionando Spells às novas vocações
2. Basta adicionar o nome da nova vocação em: data/spells/spells.xml
Exemplo
Tutorial criado por mim, exceto a parte dos Skill_ids, que peguei de outros tutos.
Pronto, espero ter ajudado.
Se gostaram agradeçam por favor.
Obrigado, JhonatanCWest