Ir para conteúdo
  • Cadastre-se

xWhiteWolf

Héroi
  • Total de itens

    3604
  • Registro em

  • Última visita

  • Dias Ganhos

    158

Tudo que xWhiteWolf postou

  1. function onUse(cid, item, frompos, item2, topos) local topos = {x=612, y=345, z=7, stackpos=1} -- POSIÇÃO Q VAI TELEPORTAR local itemid = 7465 -- ID DO ITEM QUE GANHA local storage = 50011 if item.uid == 7777 and item.itemid == 1945 then if getPlayerStorageValue(cid,storage) == -1 then doTeleportThing(cid, topos) doSendMagicEffect(cid,13) doPlayerAddItem(cid,itemid,1) doPlayerSendTextMessage(cid,25, "You have found a ".. getItemNameById(itemid) ..".") setPlayerStorageValue(cid,storage,1) else doPlayerSendCancel(cid,"You can't do this quest twice.") end end return true end nao testei mas
  2. eu faria assim (não testei e isso é só um exemplo) só to dando a ideia de outro modo que não vá retornar um valor nil for x = from.x, to.x do for y = from.y, to.y do for z = from.z, to.z do local mob = getTopCreature({x=x, y=y, z=z}).uid if mob ~= 0 and isPlayer(mob) then doBroadcastMessage("Temos intrusos e o item nao foi criado!") addEvent(ReAtive, check * 1000) else doCreateItem(corpse, 1, pos) doBroadcastMessage("Item adicionado com sucesso!") end end end return true end
  3. to sem tempo pra testar mas é bem provável que funcione function onSay(cid, words, param) -- configs local access = 1 local days = 30 -- end configs local player = getPlayerByName(param) local pid = getPlayerByNameWildcard(param) if(not pid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.") return true end if param ~= "" then if getPlayerGroupId(cid) >= access then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.") doPlayerAddPremiumDays(player, days) local quantity =
  4. local outfitvip = { lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 1 } só isso cara, o lookAddons é a quantidade de addons que vai adicionar, vc tb pode editar as cores da roupa do outfit a seu critério. Addon 1 = o primeiro, addon 2 = o segundo, addon 3 = ambos primeiro e segundo
  5. vc pode utilizar uma storage pra isso, fazer uma talkaction pra chegar sua quantidade de pontos e uma quest que chega o valor do storage (que no caso seria a quantidade de pontos necessárias) Só fica esperto que o numero padrão de storage é -1, dai vc teria que colocar no creaturescripts\login.lua que se o storage X for igual a -1, ele passe a ser 0. Dai por natureza todo player teria 0 pontos, e você pode dar os pontos por comandos, por quests, por tasks, por tempo online ou pelo que você preferir
  6. esse comando que vc utilizou apenas adiciona o outfit pro player, não muda o outfit dele.. pra mudar sozinho vc pode usar do jeito que o adriano mostrou, por conditions OU você pode usar a função doSetCreatureOutfit(cid, outfit, tempo) que tem em alguns TFS
  7. vai no vocations.xml, cria as vocations que vc quer com o nome do addon e coloca pra quando vc estiver usando o addon, setar a vocation (ID da vocation do vocations.xml que você criou)
  8. eu descobri ontem a noite que os donos dos tópicos podem fechar os mesmos: http://www.tibiaking.com/forum/topic/30233-sistema-de-t%C3%B3picos-resolvidos/
  9. peguei isso na lib do meu server.. aqui funcionou normal a cor verde, o problema foi que o docreature say tá saindo do lado do numero de exp então fica bem zoado, sugiro que vc troque doCreatureSay(cid, text, 14) por isso daqui: doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, text) e sobre a cor sair preta.. eu não testei, mas não tem porque não sair da cor que eu coloquei lá, a menos que seu server não tenha definido na lib oque é a TEXTCOLOR_GREEN. doSendAnimatedText(pos, "+"..exp , TEXTCOLOR_GREEN) tenta substituir seguindo essa tabela aqui que eu peguei na lib do meu server
  10. esqueci de declarar oque era o "pos" local pos = getPlayerPosition(cid) ficando assim: local exp = 500000 -- Quanto de experience o player irá ganhar?!local exhaust = 1 -- Tempo para o player poder usar o item novamente! (tempo em segundos) local text = "Congratulations, you gained "..exp.." points of experience." local storage = 9811 -- Não mexa aqui. function onUse(cid, item, fromPosition, itemEx, toPosition) if (getPlayerStorageValue(cid, storage) <= os.time()) then doPlayerAddExp(cid, exp) local pos = getPlayerPosition(cid) doSendAnimatedText(pos,
  11. eu to muito ocupado essa semana kk me desculpa fazer as coisas correndo assim, tenta agora 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)) t
  12. adiciona isso embaixo de doPlayerAddExp(cid,exp) doSendAnimatedText(pos, "+"..exp , TEXTCOLOR_GREEN)
  13. tem uma parte do script local name = getItemName(item.uid):lower() só que getItemName não existe ~.~ o certo seria getItemNameById.
  14. vê se agora tá certinho do jeito que vc queria 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_D
  15. you're welcome local focus = 0 local talk_start = 0 local target = 0 local days = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg)
  16. tem duas formas: pega um script disso e coloca o not na frente kkkk if not GetPlayerStorageValue (cid, 1947, 1) ou muda o valor do storage pra 0: daí só entra quem tiver o storage 0, quem tiver o storage 1 não vai entrar. if GetPlayerStorageValue (cid, 1947, 0)
  17. eu não peguei a época do tibia que chegou na montaria, como funciona esse sistema? Me dá pelo menos uma explicada em como funciona o sistema que eu já vou saber te dizer em que pasta ele tá.. ativa quando clica em algo, quando fala alguma coisa?
  18. ah, desculpe.. se sua vip não for infinita você coloca um script no creaturescripts\login.lua que checa, se ele não tiver o storage da vip, remove a special description
  19. eu tava tentando ajudar, mas fica dificil ensinar sem ter aprendido :/ o script é seu e eu achava que vc não entrava mais aqui então nem fui te procurar pra pedir ajuda. Faz 6 anos que eu não jogo tibia e a ultima vez que eu scriptei foi na versão 8.1 se não me engano. Desde então tudo mudou, funções, jeito de scriptar, e até os erros no console. Pra alguém que tava "aposentado" até que eu ajudei bastante esse fórum.. dá um desconto aí vodk
  20. abre seu script de vip e adiciona isso daqui na parte de dar a storage que garante que é vip db.executeQuery("UPDATE `players` SET `description` = ' [Vip]' WHERE `players`.`id` = "..playerid) se seu server for de uma versão de tibia 8.6 ou maior use db.Query no lugar de db.executeQuery
  21. não entendi direito: o cara pode mudar o outfit normal ou o outfit do cara fica bloqueado e ele só consegue mudar usando a montaria?
  22. <?xml version="1.0" encoding="UTF-8"?> <monster name="flamethrower" nameDescription="a flamethrower" race="undead" experience="1200" speed="0" manacost="0"> <health now="9950" max="9950"/> <look typeex="1551" /> <targetchange interval="5000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="0"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag can
  23. ele não está infinito doPlayerRemoveItem(cid, 2196, 1) quando você morre ele dropa. Se quiser por tempo vai em items.xml e deixa ele igual ao AOL, dai você coloca decayto "0" e decaytime "quanto tempo ele dura". Sugiro que você copie de algum ring que possua essa função. Daí é só ir em movements.xml e colocar isso daqui <movevent type="Equip" itemid="IDDOITEM" slot="necklace" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="IDDOITEM" slot="necklace" event="function" value="onDeEquipItem"/>
  24. tibia foi feito em ingles por um tipo que teclado que não suporta acentos (teclado americano). Só que o chat in-game tem suporte de acentos, daí você consegue utilza-los no jogo mas não pra scriptar
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo