-
Total de itens
104 -
Registro em
-
Última visita
-
Dias Ganhos
20
Tudo que thalia postou
-
[Função] Dostoragecount(Storage, Guid, Amount, Max, Delay)
tópico respondeu ao Demonbholder de thalia em Mods, funções e outros
AEE, demonbholder. OPAKSDOKAOKDHUAUHDAUHD (: Voce merece milhões de rep XD :button_ok: -
eickhoff seu tarado AUHSDUHAUHSDUH RARARA TROLLFACE
-
Muitoo rox XD' Quer apostar qnto que vai vim um monte de pokemonianos te pedir pra fazer esse sistema com pokemon. OKASDKAKSDKPOPKOAS :] até
-
http://www.xtibia.com/forum/topic/155696-npc-mate-o-monstro-e-complete-sua-tarefa/
-
Olá (: , estou aqui de novo com um npc bom para servidores RPG' ~~> Como funciona? <~~ Você fala com o npc, o npc sumona um monstro e após matar este monstro, ele te dá uma reconpensa. ~~> Como Instalar? <~~ -> Vá em data/creaturescripts/creaturescripts.xml e add essa tag: <event type="death" name="NPC" event="script" value="npcquest.lua"/> ->Agora vá em creaturescripts/scripts e crie um novo arquivo com o nome npcquest.lua e bote isto dentro: function onDeath(cid, corpse, killer) local monstName = "Monk" -- nome do monstro local Storage = 9755 -- nao mude if isMonster(cid) then if string.lower(getCreatureName(cid)) == string.lower(monstName) then setPlayerStorageValue(killer[1], Storage, 1) doCreatureSay(killer[1],'Você completo sua tarefa.',TALKTYPE_ORANGE_1) end end return TRUE end ->Agora você vai no xml do monstro que você escolheu e lá no final do script antes do </monster>, você add: <script> <event name="NPC"/> </script> ->Agora em data/npc, crie um novo arquivo com o nome Jhow.xml e bote isto dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Jhow" script="data/npc/scripts/jhow.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="138" head="96" body="95" legs="0" feet="95" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, voce quer testar suas habilidades?" /> <parameter key="module_keywords" value="1" /> </parameters> </npc> ->Agora vá em npc/script e crie um novo arquivo com o nome de jhow.lua e bote isto dentro: local nomeMonst = "Monk" -- Nome do mosntro que ele vai sumonar local itemid = 2150 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 getPlayerStorageValue(cid, 9755) == -1 then if(msgcontains(msg, 'yes')) then selfSay('Mate este monstro para completar sua tarefa.', cid) doCreateMonster(nomeMonst,getThingPos(cid)) talkState[talkUser] = 1 end return true end if getPlayerStorageValue(cid, 9755) == 1 then selfSay('Você matou o monstro e ganhou um item.', cid) doPlayerAddItem(cid, itemid,1) setPlayerStorageValue(cid, 9755,2) talkState[talkUser] = 0 return true end if getPlayerStorageValue(cid, 9755) == 2 then selfSay('Você já fez esta tarefa.', cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ->Agora volte lá em creaturescripts/scripts/ e procure por login.lua e antes do ultimo return true add isto: registerCreatureEvent(cid, "NPC") Pronto amigo! NPC instalado :}, COMENTEM Por favor
-
Hã? :mellow: Explique-se melhor meu filho !
-
Faz assim, ~~> Entre na pasta creaturescripts/scripts e procure por login.lua. Depois você abre ele e procura por function onLogin, ai abaixo dessa linha, você coloca isso: if getPlayerStorageValue(cid, 77784) ~= 1 then doPlayerAddVipDays(cid, 3) setPlayerStorageValue(cid, 77784, 1) end OBS: Não testei, mais provavelmente ira funfar!
-
Eu ai fazer aqui agora, Mais to saindo, Senha amanhã ninguem tiver respondido eu faço pra vocE
-
Nome: Ganhe cash ao matar alguem. Versão: Testada tfs 0.3.6 (8.54), provavelmente funfa em 8.54 + Créditos: Eu e para o demonbholder por me ajudar a fazer a lista. Como funciona? Quando você mata um player você ganha 100 cash (Pode ser alterado no script), e falano: ~~> /buy nome_do_item (Exemplo: /buy plate armor), você automaticamente comprara o item. ~~> /buy list, você vera os itens que pode ser comprados e o preço deles. ~~> /buy check, verifica quantos de cash você tem. Instalando o sistema ! 1ª: Entre na pasta data/creaturescripts/scripts, e crie um arquivo chamado cash.lua, cole este código dentro: function onKill(cid, target, lastHit) local cash = 150 -- O tanto de cash que ira ganhar ao matar o player if isPlayer(cid) and isPlayer(target) then if getPlayerIp(target) ~= getPlayerIp(cid) then setPlayerStorageValue(cid, 45550, (getPlayerStorageValue(cid, 45550)+cash)) end end return TRUE end 2ªa: Agora em creaturescripts/creaturescripts.xml bote a tag: <event type="kill" name="Kill_Cash" event="script" value="cash.lua"/> 2ªb:Agora em creaturescripts/scripts , localize login.lua (antes do ultimo return true) e cole isto dentro: registerCreatureEvent(cid, "Kill_Cash") 3ª:Voltando em data/talkactions/scripts crie um arquivo com o nome de cash.lua e cole isto dentro: -- Script by: thalia -- local item = { ["plate armor"] = {cash=150, id=2463, amount=1}, ["plate legs"] = {cash=150, id=2647, amount=1}, } function onSay(cid, words, param) itens = item[param] if param == "check" then return doPlayerSendTextMessage(cid,19,'Your total cash is '..getPlayerStorageValue(cid, 45550)..'.') elseif param == "list" then str = nil for name, tab in pairs(item) do str = str == nil and "Item name: "..name.." - Price: "..tab.cash .. "\n" or str .. "Item name: "..name.." - Price: "..tab.cash .. "\n" end doShowTextDialog(cid, 2160, str) return true end if (itens ~= nil) then if getPlayerStorageValue(cid, 45550) >= itens.cash then doSendMagicEffect(getThingPos(cid),28) doPlayerAddItem(cid,itens.id,itens.amount) setPlayerStorageValue(cid, 45550, (getPlayerStorageValue(cid,45550)-itens.cash)) return doPlayerSendTextMessage(cid,19,'Your total cash now is '..getPlayerStorageValue(cid, 45550)..'.') else return doPlayerSendCancel(cid,"Sorry, cash insufficient.") end else return doPlayerSendCancel(cid,"Sorry, this item is not for sale.") end return TRUE end 4ª:Agora em talkactions/talkactions.xml bote está tag: <talkaction log="yes" words="/buy" access="0" event="script" value="cash.lua"/> Prontinho, script istalado... Ai vocês me pergunta: Como adicionar mais itens? E eu respondo: Simples Nesta parte: È só adicionar: BOM È ISSO COMENTEM O QUE ACHARAM! È só fazer isso um em baixo do outro.
-
Maneroo demonbholder (: Será um projeto difentente, parece divertido XD Faz uns casino lá RIRIRIAI BOA SORTE TRUTA!
-
Tenta assim: function onUse(cid, item, frompos, item2, topos) if item.itemid == 3719 then rand = math.random(1,15) if rand ~= 15 and doPlayerRemoveMoney (cid,100) == TRUE then doPlayerRemoveMoney(cid,100) doPlayerSendTextMessage(cid,22, "Aff... Que azar!") doRemoveItem(item.uid,1) elseif rand == 15 and doPlayerRemoveMoney (cid,100) == 1 then doPlayerAddItem(cid,2152,100) doPlayerSendTextMessage(cid,22, "HuHuHu money!") doRemoveItem(item.uid,1) end else doPlayerSendCancel(cid, 'You dont have money') end return 1 end Eu fiz aqui correndo, se tiver errado dá um toque!
-
Sim, é no config.lua Procure está parte: rateExperienceFromPlayers = 0
-
Fiz um script aqui pra você local config = { Name = 'Rattata', Level = 20, Exhausted = 5, -- Em Segundos Efeito = 10, } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end function onUse(cid, item, item2, topos, frompos) if getPlayerLevel(cid) < config.Level then return doPlayerSendCancel(cid, "You need level "..config.Level.." to use this item.") end if os.time()-getPlayerStorageValue(cid, 64231) <= config.Exhausted*1 then minutes,seconds = getTime(config.Exhausted*1-(os.time()-getPlayerStorageValue(cid, 64231))) return doPlayerSendCancel(cid, "You need to wait " .. minutes .." minutes and ".. seconds .. " seconds to use this item agian!") end if #getCreatureSummons(cid) <= 0 then local monstro = doSummonCreature(""..config.Name.."",getThingPos(cid)) doConvinceCreature(cid, monstro) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), config.Efeito) setPlayerStorageValue(cid, 64231, os.time()) elseif #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), config.Efeito) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 64231, os.time()) end return TRUE end Era isso ?
-
de nada, to aqui pra isso
-
@demonbholder POIS È PCO, KOAPSPKOEKOAPSEKO (: RIRIA @matheusguedes Já coloquei, não prestei atenção! (:
-
Caro players estou aqui depois de muito tempo sem postar nada.. enfim, Não sei se tem algo do tipo já aqui, mais decidir fazer porque achei legal ^^ Nome: NPC Apostador Las Vegas Versão: Testada na 8.54, mais provavelmente funfa 8.5+ Créditos: 100% by me (: Como "fanuncia"? È um npc de apostar, ele possuiu "por inquanto" dois jogos 21 e Jogo dos 6. ~~> Explicando o 21 <~~ O 21 funciona assim: Você ira ganhar 1 número e o número tem quer ser 21, ou chegar o mais próximo possível sem ultrapassar esse valor. E a mesma coisa será feita com o npc, ele ganhará 1 número. Você pode ir comprando mais números dizendo [comprar] e se quiser parar é só dizer [parar]. Se seu número for maior que o do npc, você leva o triplo do dinheiro apostado. ~~> Explicando o Jogo do 6 <~~ O Jogo do 6 funciona assim: O npc vai rodar um dado, e se cair no número 6 você ganha o sêxtuplo (6 vezes) do valor apostado. Caso não caia no 6, você perde apenas o dinheiro da aposta. Legal né? Instalando o npc -> Vá até a pasta data/npc e crie um arquivo xml com o nome lasvegas.xml e cole esse codigo dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Apostador" script="data/npc/scripts/apostador_la.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="138" head="96" body="95" legs="0" feet="95" addons="0"/> <parameters> <parameter key="message_greet" value="Como vai? |PLAYERNAME|, Quer {apostar} comigo?" /> <parameter key="module_keywords" value="1" /> </parameters> </npc> -> Vá até a pasta data/npc/scripts e crie um arquivo lua com o nome apostador_la.lua e cole esse codigo dentro: -- Preços das apostas -- price_21 = 1000 -- 1k ou 1000gold price_jogo6 = 5000 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, 'apostar')) then selfSay('Eu faço 2 jogos: {21},{Jogo do 6} escolha um deles!', cid) talkState[talkUser] = 5 elseif (msgcontains(msg, 'Jogo do 6') and talkState[talkUser] == 5) then selfSay('O Jogo do 6 funciona assim: Eu vou rodar um dado, e se cair no número 6 você ganha o sêxtuplo (6 vezes) do valor apostado.', cid) selfSay('Caso não caia no 6, você perde apenas o dinheiro da aposta.', cid) selfSay('Está pronto para {começar}?.', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'começar') and talkState[talkUser] == 3) then selfSay('Você possui o {dinheiro} da aposta ('..price_jogo6..')golds ?', cid) if doPlayerRemoveMoney(cid, price_jogo6) == TRUE then talkState[talkUser] = 2 else selfSay('Desculpe, mais você não tem dinheiro para apostar comigo.',cid) end elseif(msgcontains(msg, 'dinheiro') and talkState[talkUser] == 2) then sorteio6 = math.random(1,6) if sorteio6 == 6 then talkState[talkUser] = 3 selfSay('Parábens, o número sorteado foi 6 e você acaba de ganhar '..(price_jogo6*6) ..'golds, mais o dinheiro que você pagou da aposta.',cid) doPlayerAddMoney(cid,price_jogo6*6) else talkState[talkUser] = 2 selfSay('Que azar, o número sorteado foi '..sorteio6..', mais sorte na proxima.',cid) end elseif(msgcontains(msg, '21') and talkState[talkUser] == 5) then selfSay('O 21 funciona assim: Você ira ganhar 1 número e o número tem quer ser 21, ou chegar o mais próximo possível sem ultrapassar esse valor.', cid) selfSay('E a mesma coisa será feita comigo, ganharei 1 número.', cid) selfSay('Você pode ir comprando mais números dizendo [comprar] e se quiser parar é só dizer [parar].', cid) selfSay('Se você ganhar de mim, você leva o triplo do dinheiro apostado.', cid) selfSay('Está pronto para {começar}?.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'começar') and talkState[talkUser] == 0) then selfSay('Você possui o {dinheiro} da aposta ('..price_21..')golds ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'dinheiro') and talkState[talkUser] == 1) then if doPlayerRemoveMoney(cid, price_21) == TRUE then talkState[talkUser] = 0 local mpn = math.random(1,21) setPlayerStorageValue(cid, 55411,mpn) local pn = getPlayerStorageValue(cid, 55411) selfSay('Seu número é '..pn..', quer comprar mais ou parar?',cid) else selfSay('Desculpe, mais você não tem dinheiro para apostar comigo.',cid) end elseif(msgcontains(msg, 'comprar') and talkState[talkUser] == 0) then local cp = math.random(1,10) setPlayerStorageValue(cid, 55411, (getPlayerStorageValue(cid, 55411))+cp) selfSay('Seu número é '..getPlayerStorageValue(cid, 55411)..', quer comprar mais ou parar?',cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'parar') and talkState[talkUser] == 0) then local npcn = math.random(15,21) setPlayerStorageValue(cid, 2224, npcn) if getPlayerStorageValue(cid, 55411) < getPlayerStorageValue(cid, 2224)then selfSay('Meu número é '..getPlayerStorageValue(cid, 2224)..'.',cid) selfSay('Seu número final é '..getPlayerStorageValue(cid, 55411)..'.',cid) selfSay('Ganhei, mais sorte na proxima vez.',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55411) == getPlayerStorageValue(cid, 2224) then selfSay('Meu número é '..getPlayerStorageValue(cid, 2224)..'.',cid) selfSay('Seu número final é '..getPlayerStorageValue(cid, 55411)..'.',cid) selfSay('Empato, portanto ninguem ganha nada.',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55411) > getPlayerStorageValue(cid, 2224) then selfSay('Meu número é '..getPlayerStorageValue(cid, 2224)..'.',cid) selfSay('Seu número final é '..getPlayerStorageValue(cid, 55411)..'.',cid) local somag = (price_21*3) selfSay('Você ganhou '..somag..'golds, mais os seus '..price_21..'golds de volta. Parábens !!!',cid) doPlayerAddMoney(cid, somag) doPlayerAddMoney(cid, price_21) talkState[talkUser] = 1 else selfSay('Desculpe, mais você não possui dinheiro está aposta',cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto, npc instalado. Qualquer dúvida, tamo ae. Gostou? REP +
-
Bom,você não explico muito bem o que você queira né Não sabia exatamente se você queria potion,runas,action,talk...Enfim Fiz ná UH local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onTargetCreature(cid, target) level = getPlayerLevel(cid) return doCreatureAddHealth(target, (level*2)) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
Um mini teaser lançado hoje. Confira no post inicial!
-
Puts, twitter até no tibia (:' Bem divertido né! Você poderia ir atualizando essa talk né! Cada versão melhorando tals! Tá de parabens :X
-
Muito boa a função! Demonbholder cada vez mais além com seus scripts! Parabens
-
Te adicionei, quero ver seu talento!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.