Ir para conteúdo

RigBy

Visconde
  • Total de itens

    411
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que RigBy postou

  1. Legal vey, eu jogava um ot com o mapa Arcavia, era bem legal
  2. getCreaturePathTo(cid, position, maxSearchDist) Retornará uma tabela com as direções que o jogador deve seguir para chegar no ponto position. Não contem as posições que ele deve passar por. maxSearchDist é o valor máximo de passos que ele vai dar em direção à essa position e na via das dúvidas coloque o maior valor de distancia entre as duas posições. Ex: Da para fazer um npc anda até certo lugar e depois volta. Suporte para: TFS 0.4/0.3.6 e OTX2 Em luascript.h depois de: static int32_t luaGetCreatureName(lua_State* L); Adicionar: static int32_t luaGetCreaturePathTo(lua_State* L); Em luascript.cpp depois de: //getCreatureName(cid) lua_register(m_luaState, "getCreatureName", LuaInterface::luaGetCreatureName); Adicionar: //getCreaturePathTo(cid, pos, maxSearchDist) lua_register(m_luaState, "getCreaturePathTo", LuaInterface::luaGetCreaturePathTo); Depois de: int32_t LuaInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid) ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushstring(L, creature->getName().c_str()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Adicionar: int32_t LuaInterface::luaGetCreaturePathTo(lua_State* L) { //getCreaturePathTo(cid, pos, maxSearchDist) ScriptEnviroment* env = getEnv(); int32_t maxSearchDist = popNumber(L); PositionEx position; popPosition(L, position); Creature* creature = env->getCreatureByUID(popNumber(L)); if (!creature) { lua_pushnil(L); return 1; } std::list<Direction> dirList; lua_newtable(L); if (g_game.getPathTo(creature, position, dirList, maxSearchDist)) { std::list<Direction>::const_iterator it = dirList.begin(); for (int32_t index = 1; it != dirList.end(); ++it, ++index) { lua_pushnumber(L, index); lua_pushnumber(L, (*it)); pushTable(L); } } else { lua_pushboolean(L, false); } return 1; } Credito: Elwyn
  3. Eu tenho as sources.
  4. Vlw, funciono, mas seria uma boa fazer onCombat funcionar com mostro também.
  5. Ja testei assim, só ta funcionando de PLAYER para PLAYER ou de PLAYER para MOB mas não ta funcionando de MOB para PLAYER
  6. Uso a TFS 0.4 r3777 Eu to querendo fazer um script para que o mob não possa atacar o player durante uma condição, mas não ta funcionando com mob. Tipo eu fiz esse script so para test mesmo, para ver se tava funcionando. function onCombat(cid, target) return false end So que ta assim * Player não ataca Player * Player não ataca Mob * Mob pode ataca Player Sera que alguém pode min ajuda para que funcione com mob também?
  7. 1- Benny 2- Danzing 3- Flinkton
  8. Tem algum jeito de fazer o bicho não pode usar magia por um determinado tempo?
  9. Você já atingiu seu limite de reputações positivas para hoje
  10. Foi à kami, olha la em cima nos credito.
  11. mano você postou isso no local errado, erra para ser em pedidos é duvidas, daqui a pouco algum moderador irá move. quanto ao tópico eu já vi alguns script's parecido com esse aqui no xtibia mas qualquer coisa posto amanhã,porque tô no pre vestibular agora no celular
  12. Melhor encontrar pedras no caminho do que no rim.
  13. Pensando em Desenvolver um servidor :D
  14. Na pop 100 ela empina o bumbum!!!
  15. Né mais facil fazer isso por .xml? <movevent type="Equip" itemid="7886;2456;+ID's" slot="hand;feet;ring;head;necklace;backpack;legs;armor" level="5" event="function" value="onEquipItem"> <vocation id="2"/> -- Vocações que pode usar o item </movevent>
  16. Click aqui que você vai para um lugar onde tem vários tutoriais Cria um Show Off com seus mapa que la o pessoal te dará dicas de como melhorar
  17. Dica: Converta as script para ANSI para aceita acentos. Servidor parasse ta ficando bom, qualquer hora eu entro para da uma olhada
  18. Como eu disse min surpreenda Fico bem foda
  19. [Tamanho*]: Avatar [Outros]: Min surpreenda [Cores preferenciais]: Talvez um roxo ou meio azul
  20. Eu recomendo você procura tutoriais aqui no xtibia já que você tá querendo aplica em otserv mas se você aprende pela ai você vai sabe usar em qualquer jogo, pela ai eu acho bem mais complicado. PS. tô no cel
  21. Ja tem tempo que não mecho com script então esqueci muita coisa :b Eu fiz, saio meio poluído porque eu esqueci como usar tabela mas ta funcional (To estudando denovo) .Xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do npc" script="Local da Script.lua" walkinterval="0" floorchange="0" speed="900"> <health now="150" max="150"/> <look type="128" head="0" body="0" legs="0" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Ta Afim de ganha uma vocação?"/> </parameters> </npc> .lua -- By RigBy -- -- Xtibia.com -- 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 vocation = 1 -- Vocação que precisa ter -- Primeira Vocação local vocationnome1 = 'knight' -- Nome da primeira vocação que ira se torna local vocationid1 = 3 -- id da vocação que vai ganha local item1 = 7618 -- primeiro items da primeira vocação local item2 = 7636 -- Segundo items da primeira vocação local qnt1 = 15 -- quantidade do primeiro items local qnt2 = 15 -- quantidade do segundo items -- Segunda Vocação local vocationnome2 = 'paladin' -- Nome da segunda vocação que ira se torna local vocationid2 = 4 -- id da vocação que vai ganha local items1 = 3333 -- primeiro items da segunda vocação local items2 = 4444 -- Segundo items da segunda vocação local qnts1 = 15 -- quantidade do primeiro items local qnts2 = 15 -- quantidade do segundo items 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, 'yes') then if getPlayerVocation(cid) == vocation then selfSay('Você que ['..vocationnome1..'] ou ['..vocationnome2..'].', cid) talkState[talkUser] = 1 else selfSay('Você não ta com a vocação certa ou ja ganho a vocação.', cid) end end if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome1..'') then if getPlayerItemCount(cid, item1) >= qnt1 and getPlayerItemCount(cid, item2) >= qnt2 then selfSay('Parabêns você acaba de se tornar '..vocationnome1..'', cid) doPlayerSetVocation(cid, vocationid1) doPlayerRemoveItem(cid, item1, qnt1) doPlayerRemoveItem(cid, item2, qnt2) else selfSay('Você não tem os items que precisa para ganha a vocação.', cid) end end if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome2..'') then if getPlayerItemCount(cid, items1) >= qnts1 and getPlayerItemCount(cid, items2) >= qnts2 then selfSay('Parabêns você acaba de ser torna '..vocationnome2..'', cid) doPlayerSetVocation(cid, vocationid2) doPlayerRemoveItem(cid, items1, qnts1) doPlayerRemoveItem(cid, items2, qnts2) else selfSay('Você não tem os items que precisa para ganha a vocação.', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ps. Depois posto um com a tabela feita Bye
  22. Ja tem tanto tempo que eu não faço nenhum script que já esqueci muita coisa :/
  23. É porque eu to usando a TFS 0.4 e to com receio de migrar para a 1.0 ou 1.1 por ser mais complicado e por não aceita algumas coisas que eu já fiz(ter que refazer), alem que os programas para compilar pesa muito :v Acho que vou mudar mesmo para 1.0 e usar a versão 10.41
  24. Gostaria de saber se ainda vale apenas investir no TFS 0.4 onde é bem mais simples de se mexer e possuindo um suporte maior ou investir nos TFS mais atuais como 1.0~~1.2?
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...