Histórico de Curtidas
-
Rafael Mateus recebeu reputação de Weddson em (Resolvido)Como mudar looktype de um player quando morrer {Help}voce tem que coloca virgula no final
[12] = 2930, --- assim [13] = 2806 ---- a ultima voce n coloca , -
Rafael Mateus recebeu reputação de Zauster em (Resolvido)Como mudar looktype de um player quando morrer {Help}Vai Em data/creaturescripts/scripts Cria Um Lua Com Nome niwdeath.lua
e coloca isso dentro:
local table = {
[1] = 2882, --- [1] Vocation 2882 == ID Do Corpse
[2] = 2882
}
local function transform(pos, id, voc)
local item = getTileItemById(pos, id)
if item and item.uid > 1 then
doTransformItem(item.uid, table[voc])
doDecayItem(item.uid or 0)
end
end
function onDeath(cid, corpse)
if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end
addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid))
return true
end
Depois Vai Em Login.lua e Coloca Isso:
registerCreatureEvent(cid, "Niwdeath")
Depois Vai creaturescripts.xml e coloca Isso Dentro:
<event type="death" name="Niwdeath" event="script" value="niwdeath.lua"/>
-
Rafael Mateus recebeu reputação de Vika em Sprite De NinjaSim Vou Add
Atualizando Esse Eu Fiz Com Minha Propria Outline:
-
Rafael Mateus recebeu reputação de luanluciano93 em Votação #Sword - Academia do PixelAjudou Pakas o Tutorial Do Madarada
Proximo Tema: Monstros Qualquer Tipo
-
Rafael Mateus recebeu reputação de Wesley Alexandre2014 em [AJUDA] Npc que vende spellsse pah voce deixa learn spells com vocation none
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaClaro, posso sim, agora estou no trabalho rsrs, assim que chegar em casa faço 1 edit e te explico.
Edit: o segredo para fazer 1 bom metal, é contraste, você escolheu muito bem as cores (usei as mesmas)... no caso da armadura, use as cores escuras para definir como serão as formas, e as cores claras para dar volume as formas.
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaMuito bom, começou intender como funciona, melhorou bastante.
Edit: não precisa separar os braços com a outline, oque vai definir a forma deles, é a pintura e o AA.
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaVeja esse tutorial para intender melhor as cores.
http://www.pixelaria.org/tutorialpt5
E da uma lida no que o Madarada explicou sobre outline.
http://www.tibiaking.com/forum/topic/38178-apostila-sprite-seduction2-aprimoramento/
Dica: salve as imagens sempre em png ou gif, jpg tira a qualidade da imagem.
-
Rafael Mateus recebeu reputação de WooX em Sprite De Ninjaso n to conseguindo fazer as dobras
n to sabendo escolher a cor certa e queria aprende fazer melhores outlines
-
Rafael Mateus deu reputação a xWhiteWolf em VoodooAeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO?
Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE).
Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano?
PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo.
Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts.
Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP).
Agora vamos à mágica:
Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele
<?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567, tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function() if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim))) then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair.
-------------------------------------------------------------------------------------------------------------
aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la.
OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico).
Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!.
Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs
PS: a foto ficou meio bosta mas vou postar mesmo assim
Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito.
Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum
E não esqueça de clicar em "gostei" caso tenha curtido a idéia.
Ahhh, e antes que eu me esqueça dos agradecimentos:
@ViitinG por me ajudar a testar
@CreatServer por me dar a idéia
@MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaVejo que esta realmente decido a ser um spriter, xD.
Bom vamos la...
Um tutorial básico:
Outline.
1° quando estamos falando de um monstro ou outfit COMUM, os braços e ombros são alinhados, tente separar os pés um pouco também.
2° a outfit esta na perspectiva, mas o rosto não, isso causa um efeito estranho na sprite.
Edit:
Pintura
1° a pintura do rosto esta com pillow shading, quando não há fonte de luz, em sprites de tibia a luz vem do NOROESTE.
2° não faça uma ponte de uma cor para outra, escureça mais algumas partes para dar impressão de roupa dobrada.
Edit:
Continue atualizando...
-
Rafael Mateus deu reputação a KekezitoLHP em The MerchantInstalação
Crie um arquivo: data/npc/Merchant.xml
<?xml version="1.0" encoding="UTF-8"?> <npc name="The Merchant" script="merchant.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> </parameters> </npc> Crie um arquivo: data/npc/scripts/merchant.lua
--// Creditos: Rômulo Souza local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local name --// Config Here// local min_hour = 2 -- Min hour of wait local max_hour = 12 -- Max hour of wait local items = {['katana']={itemid=2412, cust=100}, ['naginata']={itemid=2426, cust=200}} -- Items to Sell local config_str = {s_itemid=4251, s_comming=4241} -- Storage ( Dont change if you dont know ) --/////////////// function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) selfSay("Hey! Hey! I got some good stuff for you, come here!",cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'hi') or msgcontains(msg, 'hello')) then if (getPlayerStorageValue(cid,config_str.s_comming) ~= -1) then local itemid = getPlayerStorageValue(cid,config_str.s_itemid) local time = getPlayerStorageValue(cid,config_str.s_comming) if (getPlayerStorageValue(cid,config_str.s_comming) <= os.time()) then selfSay('Hello! Your '..getItemNameById(itemid)..' is ready! You want get it now?', cid) talkState[talkUser] = 3 else min = math.floor((time-os.time())/60) hours = math.floor((time-os.time())/60/60) selfSay('Your '..getItemNameById(itemid)..' will take '.. min..' minutes (~'..hours..' hours) to come for me.', cid) end else local str = '' local cont = 1 for name,tab in pairs(items) do str = str.. name.. (cont >= count(items) and '.' or ',') cont = cont+1 end selfSay('Hello, i can bring some kind of itens for you, just say what you want. Items: '..str, cid) talkState[talkUser] = 1 end elseif (talkState[talkUser] == 1 and msg ~='bye') then if (items[msg] ~= nil) then selfSay('You want to request the '..msg..'? it will cost '..items[msg].cust..' gold coins, are you sure?', cid) talkState[talkUser] = 2 name = msg else selfSay('I\'m not selling the '..msg..'!', cid) talkState[talkUser] = 1 end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 2) then selfSay("Don\'t worry, i can bring this anytime you want.",cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and isInArray({2,3}, talkState[talkUser])) then if (talkState[talkUser] == 2) then if (doPlayerRemoveMoney(cid,items[name].cust)) then hours = doStorage(cid, items[name].itemid) selfSay('Thanks for requesting '..name..', it will take '..hours..' hours before come.', cid) talkState[talkUser] = 0 else selfSay('You don\'t have enough money, you need '.. items[name].cust..' gold coins.', cid) talkState[talkUser] = 1 end elseif (talkState[talkUser] == 3) then local itemid = getPlayerStorageValue(cid,config_str.s_itemid) selfSay('Here you are, come back again!.', cid) doPlayerAddItem(cid,itemid,1) setPlayerStorageValue(cid,config_str.s_itemid,-1) setPlayerStorageValue(cid,config_str.s_comming,-1) talkState[talkUser] = 0 end end return true end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function doStorage(cid,itemid) str = getPlayerStorageValue(cid,config_str.s_comming) hours = math.random(min_hour,max_hour) local time = (os.time())+(1*60*60*hours) setPlayerStorageValue(cid,config_str.s_itemid,itemid) setPlayerStorageValue(cid,config_str.s_comming,time) return hours end function count(t) sum = 0 for k,v in pairs(t) do sum = sum + 1 end return sum end -
Rafael Mateus recebeu reputação de Nogard em Sprite De NinjaFicou show vou treinar mais
-
Rafael Mateus recebeu reputação de WooX em Sprite De NinjaFicou show vou treinar mais
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaTente melhorar a iluminação e alguns detalhes, fora isso esta bom.
Edit:
-
Rafael Mateus recebeu reputação de SliceFalso em [PEDIDO] Spellsim cara normal nao muda nada demais akilo so vai aparece como no video a spell
testa primeiro ne manin
se voce n colocar true n vai dah pra escrever oq quiser na frente
-
Rafael Mateus recebeu reputação de SliceFalso em [PEDIDO] Spellve se essa mage aki vai te ajuda
http://www.tibiaking.com/forum/topic/32421-dash/
-
Rafael Mateus deu reputação a Vills em Pirates PersonalizadoSalve comunidade TK, eu fiz uma raid personalizada para meu servidor e decidi compartilhar com vocês aqui no TibiaKing! espero que usem gostem e cê for postar em outros cantos coloquem os devidos créditos então sem mais delongas picuinhas ou mimimis
vamos a parte de scripts
Navegue até a pasta do seu servidor data/raids e depois crie ou edite um arquivo .xml chamado pirates
e coloque isto dentro
<?xml version="1.0" encoding="utf-8"?> <raid> <!--Announcements--> <announce delay="1000" type="Event" message="Os piratas anunciaram um ataque contra a cidade e as palavras do capitain jack pirata foram claras. Ninguem vai me frear, ninguem vai me dizer oque fazer nessa porra!." /> <announce delay="30000" type="Event" message="A black hand de capitain jack cairam sobre a cidade. O rei ordenou a todos os guardas e cidadoes pegarem suas armas e defenderem a cidade a todo custo." /> <announce delay="60000" type="Event" message="O capitain jack acaba de disparar suas bombas contra o castelo do rei. Foi declarada a primeira guerra mundial contra os piratas!." /> <announce delay="180000" type="Event" message="Captain jack nao ira tolerar a morte de seus companheiros e ce prepara para atacar o templo frente a frente!." /> <!--Single Spawns--> <singlespawn delay="180000" name="Captain Jack" x="162" y="57" z="7" /> <!--Area Spawns--> <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Pirate Fat" amount="25" /> </areaspawn> <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Brutus Bloodbeard" amount="5" /> </areaspawn> <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Pirate Buccaneer" amount="25" /> </areaspawn> <areaspawn delay="55000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Ron The Soldier" amount="7" /> </areaspawn> <areaspawn delay="56000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Lissy Demon" amount="6" /> </areaspawn> <areaspawn delay="54000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7"> <monster name="Pirate Skeleton" amount="40" /> </areaspawn> </raid> Depois abra a o arquivo chamado raids.xml que está localizado na pasta raids a mesma que você está nesse momento
e adicione dentro:
<raid name="Pirates" file="Pirates.xml" interval2="30" margin="1000" enabled="yes"/> Navegue até a pasta monsters localizado dentro da pasta data do seu servidor e crie uma pasta chamada
"raid pirates"
E depois adicione esses arquivos dentro:
Download aqui
Scan aqui
Depois de adicionar os arquivos .xml dentro da pasta raid pirates navegue até monsters.xml localizado
na pasta monsters do seu servidor a mesma que você está
Adicione dentro:
<!-- Raid Pirate --> <monster name="Captain jack" file="raid pirate/captain jack.xml"/> <monster name="Lissy Demon" file="raid pirate/lissy demon.xml"/> <monster name="Ron The Soldier" file="raid pirate/ron soldier.xml"/> <monster name="Pirate Fat" file="raid pirate/pirate fat.xml"/> Depois de fazer tudo isso reinicie seu servidor e digite o comando /raid pirates e sua raid ira cê iniciar levando o cãos a seu servidor espero que gostem é isso galera.
-
Rafael Mateus deu reputação a WooX em Análise de Sprites (HP Básicão)Primeiramente queria dizer, que dificilmente você vai achar suporte na área de Spriting no TK, ouvi dizer que já foi muito movimentado, o fórum não se importa nem 1 pouco com a área, área de gráficos esta entre umas das mais difíceis de achar...
Portanto, se estiver realmente interessado em aprender mais sobre, recomendo frequentar o seguinte fórum, la tbm não é mt movimentado, mas garanto que os membros te ajudarão muito!
Perspective45
Quanto ao outfit, tem uma boa noção de perspectiva pra 1 iniciante, mas ainda contem vários erros no sprite...
1° - Sombreamento, você só colocou as cores "bases", nem tentou aplicar sombras e iluminação.
2° - A unica coisa que "tentou" sombrear que notei, foi o rosto, mas de forma errado, aonde a iluminação estava vindo do SUL, quando estamos falando de sprites de tibia em P45, a iluminação vem de só uma fonte, NOROESTE.
3° - Realmente, não sei oque tentou fazer com aquele azul, acredito que tenha tentado criar uma borda, tente fazer 1 pouco mais "grosso" e aplicar iluminação.
4° - Evite usar preto dentro da "arte", reserve o preto somente para a Outline.
Não veja essas criticas de forma errada, use-as para melhorar!
Edit:
-
Rafael Mateus deu reputação a Cerberus em (Resolvido)(Pedido)Attributes Baresta ae o arquivo Atributo bar que vc precisa so editar como vc quiser..
para instalar e so pegar exatrair ele na pasta otclient/mods
-
Rafael Mateus deu reputação a Cerberus em [Otclient] Bar Movements e spellEstou criando essa barra de moves para meu otcliente , o que acharam e por favor deis sugestões para que possa melhorar..minha primeira barra que estou fazendo.. do 0.
tenho muita duvida se uso tudo imagem ou uso escrito junto com imagens...
Creditos:
Cerberus
Adriano Swat
vrs.1.0
vrs2.0
vrs3.0
-
Rafael Mateus deu reputação a Cerberus em (Resolvido)(Pedido)Attributes Bartoma ae e so por na pasta MODS do otcliente e recarregar ela no modulemananger do otc.
game_attr.rar
-
Rafael Mateus deu reputação a MaTTch em (Resolvido)[Pedido] Spell - Envenenar armalocal condition = createConditionObject(CONDITION_POISON) addDamageCondition(condition, 20, 700, -200) local storage = 600 function onCombat(cid, target) if isPlayer(cid) and getPlayerStorageValue(cid, storage) >= 1 and getDistanceBetween(getThingPos(cid), getThingPos(target)) <= 1 then return doAddCondition(target, condition) and setPlayerStorageValue(cid, storage, -1) end return true end
-
Rafael Mateus recebeu reputação de larafaz em (Resolvido)[RESOLVIDO] como fazer pra quando os chares morrerem dropar tudo 100%vai em config.lua e muda pra 100
deathLostPercent = 5
-
Rafael Mateus deu reputação a WooX em Sprite De NinjaAté que ficou bom pra 1 iniciante... comece adicionando luz no noroeste e corrigindo alguns erros do sprite..
te indico os seguintes tutoriais.
http://tibiazoom.blogspot.com.br/2009/10/tutorial-como-fazer-sprites-de-tibia.html
http://tibiazoom.blogspot.com.br/2009/10/tutorial-avancado-de-sprites.html
http://www.tibiaking.com/forum/topic/38178-apostila-sprite-seduction2-aprimoramento/
continue atualizando.