Ir para conteúdo

Danihcv

Membro
  • Registro em

  • Última visita

Tudo que Danihcv postou

  1. Abra seu editor de mapa, e va nas coordenadas que estão na distro (X / Y / Z) e veja como que ta la, se tem algum item que não deveria ou se o tile está errado ou faltando.
  2. Va na pasta data/npc e crie um arquivo chamado Jamez.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Jamez" script="data/npc/scripts/jamez.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="129" head="115" body="88" legs="85" feet="114" addons="0" mount="0"/> <parameters> <!--MESSAGES--> <parameter key="message_greet" value="Hello, |PLAYERNAME|. Do you want to make a quest?"/> <parameter key="message_farewell" value="Good bye, |PLAYERNAME|."/> </parameters> </npc> Agora va na pasta data/npc/scripts e crie um arquivo chamado jamez.lua e coloque isso dentro: 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 local item1 = 2494 --Demon Armor local qntd1 = 1 --Quantidade do item 1 local item2 = 2495 --Demon Legs local qntd2 = 1 --Quantidade do item 2 local pos = {x=1, y=1, z=1} --Posicao pra onde o player vai ser teleportado local stor = 6967 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'yes') then selfSay('To do this quest you need to give me a Demon Armor and a Demon Legs. Do you have it?', cid) if msgcontains(msg, 'yes') then if getPlayerItemCount(cid, item1) >= qntd1 and getPlayerItemCount(cid, item2) >= qntd2 then if getPlayerStorageValue(cid, stor) ~= 1 then doPlayerRemoveItem(cid, item1, qntd1) doPlayerRemoveItem(cid, item2, qntd2) doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 13) setPlayerStorageValue(cid, stor, 1) else selfSay('Voce ja fez esta quest.', cid) end else selfSay('Voce nao tem os itens necessarios pra fazer esta quest.', cid) end elseif msgcontains(msg, 'no') then selfSay('So go away! I have nothing to you.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Funciona assim, qnd o player falar hi, o npc pergunta se ele qr fazer uma quest. Ao responder yes o npc pergunta se o player tem os itens. Se disser sim e tiver os itens, o player é teleportado. Não esqueça de configurar isso no script .lua do npc:
  3. Danihcv postou uma resposta no tópico em Suporte Tibia OTServer
    Cara, eu admito que eu não conhecia, mas eu baixei e pegou.
  4. local tileConfig = { kickPos = fromPosition, kickEffect = CONST_ME_POFF, kickMsg = "You need to be a vip player to access this area.", enterMsg = "Welcome to vip area!", enterEffect = CONST_ME_MAGIC_RED, } function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == true then if vip.getDays(days) > 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) doSendMagicEffect(position, tileConfig.enterEffect) else doTeleportThing(cid, tileConfig.kickPos) doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) end end return true end /\ Pro problema do tile. Sobre o site, vou dar uma olhada.
  5. Mais atenção, amigo. Se ajudei, REP+ pf
  6. Testado e funcional: function onStepIn(cid, item, position, fromPosition) local tileConfig = { kickPos = fromPosition, kickEffect = CONST_ME_POFF, kickMsg = "You need to be a vip player to access this area.", enterMsg = "Welcome to vip area!", enterEffect = CONST_ME_MAGIC_RED, } if isPlayer(cid) == true then if vip.hasVip(cid) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) doSendMagicEffect(position, tileConfig.enterEffect) else doTeleportThing(cid, tileConfig.kickPos) doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) end end return true end Obs.: Testei com um player que ñ tem vip, pois ñ tenho system vip, e deu certo.
  7. Tenta agr: function onStepIn(cid, item, position, fromPosition) local tileConfig = { kickPos = fromPosition, kickEffect = CONST_ME_POFF, kickMsg = "You need to be a vip player to access this area.", enterMsg = "Welcome to vip area!", enterEffect = CONST_ME_MAGIC_RED, } if isPlayer(cid) == true then if vip.hasVip(cid) == FALSE then doTeleportThing(cid, tileConfig.kickPos) doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) else vip.hasVip(cid) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) doSendMagicEffect(position, tileConfig.enterEffect) end end return true end Obs.: Eu ñ to testando amigo, pois estou meio ocupado. :S Se der algum erro na distro, pf comunique.
  8. @ricksi2012, Funcionou?
  9. Danihcv postou uma resposta no tópico em Suporte Tibia OTServer
    http://www.tibiaclient.com.br/ Tenta esse site.
  10. Danihcv postou uma resposta no tópico em Suporte OTServer Derivados
    Eu quis dizer de forma generalizada, tipo, algum dat editor de sua preferencia. :s Não me expressei direito.
  11. Pega o id de alguma doll que não esteja sendo usada no seu server, aí na tag xml coloca o id dele. <action itemid="ID DO ITEM" event="script" value="premmy2.lua"/> Tipo essa doll: http://www.tibiawiki.com.br/wiki/Whinona
  12. Ou caso vc ñ queira fazer isso, pode facilitar e usar um item que ñ tem uso, tipo um doll. Foi isso que eu quis dizer, amigo. Quis facilitar.
  13. Danihcv postou uma resposta no tópico em Suporte Tibia OTServer
    Ta usando sqlite é? Se sim, execute esse comando no SqliteStudio: Vê no que dá.
  14. O que está faltando? To qrnd te ajudar amigo, pf detalhe muito bem o que vc deseja.
  15. Se eu entendi direito, então deve funcionar: function onCastSpell(cid, var) local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapa local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapa local playerpos = getPlayerPosition(cid) local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z} local position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} local MaximoSummon = 3 --- Maximo de Monstros Sumonados!! local summons = getCreatureSummons(cid) if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return true end if(table.maxn(summons) < MaximoSummon) then -- no summons if getPlayerVocation(cid) == 1 then local clone1 = doCreateMonster("Katsuyu", playerpos) doConvinceCreature(cid, clone1) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') elseif getPlayerVocation(cid) == 2 then local clone2 = doCreateMonster("Gamabunta", playerpos) doConvinceCreature(cid, clone2) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') else getPlayerVocation(cid) == 3 then local clone3 = doCreateMonster("Manda", playerpos) doConvinceCreature(cid, clone3) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') end return TRUE end end
  16. Não to entendendo o que vc ta qrnd então. .-. Qr ter um ot sem ter dor de cabeça? LOL
  17. Aí vc precisa escolher outro item pra funcionar como o scroll 2.0 e va em data/actions e adicione essa tag ao arquivo actions.xml: <action itemid="ID DO ITEM" event="script" value="premmy2.lua"/> Não esquece de colocar o id do item escolhido /\ Agora va em data/actions/scripts e crie um arquivo chamado premmy2.lua e coloque isso dentro: local days_gain = 5 -- Dias que ganham function onUse (cid,item,frompos,item2,topos) if not doRemoveItem(item.uid) then return true end doPlayerAddPremiumDays(cid, days_gain) doSendMagicEffect(getCreaturePosition(cid), 14) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de ganhar 5 dias de Premium Account, terá áreas e bonus EXP exclusivas como benefício!") return true end Se ajudei, REP+ pf
  18. Seria o seu ipv4. Pra descobrir, va em cmd e digite ipconfig Agora veja qual é o seu ipv4.
  19. Danihcv postou uma resposta no tópico em Suporte OTServer Derivados
    Só abrindo no dat editor e exportando em obd...
  20. Tenta assim: function onStepIn(cid, item, position, fromPosition) local tileConfig = { kickPos = fromPosition, kickEffect = CONST_ME_POFF, kickMsg = "You need to be a vip player to access this area.", enterMsg = "Welcome to vip area!", enterEffect = CONST_ME_MAGIC_RED, } if isPlayer(cid) == true then if vip.hasVip(cid) == FALSE then doTeleportThing(cid, tileConfig.kickPos) doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) return else vip.hasVip(cid) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg) doSendMagicEffect(position, tileConfig.enterEffect) end return true end end
  21. O tempo pra executar o save e o clean pode ser visto no local interval nas respectivas tags. (O tempo está em milissegundo, ou seja, 1 segundo = 1000. 1 hora = 3600 segundos = 3600000 milissegundos) @Edit: Poste esse script que vc falou.
  22. Vc (como host) deve usar o local address que aparece na distro, pra poder loggar.
  23. Danihcv postou uma resposta no tópico em Suporte Tibia OTServer
    Ta dando algum erro na distro?
  24. Tem sim, porém sou iniciante em php. É algo relacionado ao charset. Se alguem souber e quiser ajudar, atualizo o tutorial e dou os devidos créditos. @Edit: TÓPICO ATUALIZADO COM UM MÉTODO MAIS FACIL!
  25. Bom galera, sei que tem muita gente que não sabe como colocar letras com acentuação, ou mesmo caracteres especiais. Por isso venho trazer pra vocês a solução bem simples e rápida para esse problema. Bom, basta vc adicionar isso logo depois do <?PHP: header("Content-Type: text/html; charset=UTF-8",true); Ou seja, digamos que eu queira escrever apenas "ATUALIZAÇÃO" na pagina. Basta colocar o código no devido lugar e escrever o conteúdo normalmente. Ficaria assim: Esse código serve para que a página saiba qual a codificação que deve ser feita para poder ler os caracteres especiais. ___________________________________________________________________________ Outro método seria pegar o código PHP pras os respectivos caracteres: Caracteres especiais do HTML 2.0 &Aacute; Á &Agrave; À &Eacute; É &Egrave; È &Iacute; Í &Igrave; Ì &Oacute; Ó &Ograve; Ò &Uacute; Ú &Ugrave; Ù &aacute; á &agrave; à &eacute; é &egrave; è &iacute; í &igrave; ì &oacute; ó &ograve; ò &uacute; ú &ugrave; ù &Auml; Ä &Acirc;  &Euml; Ë &Ecirc; Ê &Iuml; Ï &Icirc; Î &Ouml; Ö &Ocirc; Ô &Uuml; Ü &Ucirc; Û &auml; ä &acirc; â &euml; ë &ecirc; ê &iuml; ï &icirc; î &ouml; ö &ocirc; ô &uuml; ü &ucirc; û &Atilde; à &aring; å &Ntilde; Ñ &Aring; Å &Otilde; Õ &Ccedil; Ç &atilde; ã &ccedil; ç &ntilde; ñ &Yacute; Ý &otilde; õ &yacute; ý &Oslash; Ø &yuml; ÿ &oslash; ø &THORN; Þ &ETH; Ð &thorn; þ &eth; ð &AElig; Æ &szlig; ß &aelig; æ Caracteres especiais do HTML 3.2 &frac14; ¼ &frac12; ½ &iexcl; ¡ &frac34; ¾ &pound; £ &copy; © &yen; ¥ &reg; ® &sect; § &ordf; ª &curren; ¤ &sup2; ² &brvbar; ¦ &sup3; ³ &laquo; « &sup1; ¹ &not; ¬ &macr; ¯ &micro; µ &ordm; º &para; ¶ &acute; ´ &middot; · &uml; ¨ &deg; ° &plusmn; ± &cedil; ¸ &raquo; » &iquest; ¿ Outros caracteres especiais &times; × &cent; ¢ &divide; ÷ &euro; € &#147; “ &#153; ™ #148; ” &#137; ‰ &#140; Œ &#131; ƒ &#135; ‡ &#134; † Bom, mas vc pode estar se perguntando: "Como eu uso isso?" E eu te demonstro: Digamos que eu queira escrever: Você é muito legal! © Então, ao invés do codigo php ficar assim: <?PHP $main_content .= " Você é muito legal! © "; ?> Ele vai ficar assim: Observe que pra escrever eu escrevi pois ê em php se escreve &ecirc; Da mesma forma o é (se escreve &eacute;) e o © (se escreve &copy;). E isso vc pode conferir na tabela. E isso é tudo, pessoal! Créditos: 60% Eu (pelo método 1 e por organizar o tópico e criar o exemplo) 40% http://www.criarweb.com (pelo método 2)

Informação Importante

Confirmação de Termo