Ir para conteúdo

LuckOake

Marquês
  • Total de itens

    1104
  • Registro em

  • Última visita

  • Dias Ganhos

    20

Tudo que LuckOake postou

  1. LuckOake

    Jungle Maw Prison

    Não adianta usar mayNotMove em monstros, não vai funcionar. Use doChangeSpeed(cid, -getCreatureSpeed(cid)). Tá aqui o script: local tempo = 30 -- Tempo em segundos function onStepIn(cid, item, pos) if isMonster(cid) then doCreatureSetStorage(cid, "base_speed", getCreatureBaseSpeed(cid)) doChangeSpeed(cid, -getCreatureSpeed(cid)) else mayNotMove(cid, true) end doCreatureAddHealth(cid, -30) addEvent(function() if not isCreature(cid) then return true end if isMonster(cid) then doChangeSpeed(cid, getCreatureStorage(cid, "base_speed")) else mayNotMove(cid, false) end end, tempo*1000) doTransformItem(item.uid, 4209) return true end
  2. Realmente esqueci de verificar se é o Account Manager. Obrigado por corrigir. Mas acho melhor colocar a verificação no próprio login.lua: if getCreatureName(cid) == "Account Manager" then registerCreatureEvent(cid, "AccountManagerPos") end Aí o script não fica sendo executado toda vez que um player desloga.
  3. Script (Pasta creaturescripts) accmanagerpos.lua: local pos = {x = 100, y = 60, z = 7} -- Posição function onLogout(cid) doTeleportThing(cid, pos) return true end Login.lua, antes do último return true: if getCreatureName(cid) == "Account Manager" then registerCreatureEvent(cid, "AccountManagerPos") end Creaturescripts.xml: <event type="logout" name="AccountManagerPos" script="accmanagerpos.lua"/> Configure aqui: local pos = {x = 100, y = 60, z = 7} -- Posição
  4. Olá galera. Um tempo atrás, para ajudar um amigo, fiz um debugger que permite usar algumas funções de Tibia de maneira mais "real", pois eu estava ensinando Lua para ele, e ele estava com dificuldades. De uns dias para cá eu atualizei bastante o programa, adicionei muitas features novas, deixando o mais completo possível. Adicionei Syntax Highlighting, Auto Indent, aprimorei a função de debug, etc. A principal novidade mesmo é que agora ele tem suporte pra mods. Sim, agora você pode criar extensões para o programa se souber mexer com wxLua. Changelog: Imagem: Download em anexo no tópico. Bom uso Luck Oake's Debugger.rar
  5. A função unregisterCreatureEvent só pode ser adicionada nas sources. Tá aqui o código: luascript.cpp: //unregisterCreatureEvent(uid, eventName) lua_register(m_luaState, "unregisterCreatureEvent", LuaInterface::luaUnregisterCreatureEvent); int32_t LuaInterface::luaUnregisterCreatureEvent(lua_State* L) { //unregisterCreatureEvent(cid, name) std::string name = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushboolean(L, creature->unregisterCreatureEvent(name)); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } luascript.h: static int32_t luaUnregisterCreatureEvent(lua_State* L); creature.cpp: bool Creature::unregisterCreatureEvent(const std::string& name) { CreatureEvent* event = g_creatureEvents->getEventByName(name); if(!event || !event->isLoaded()) //check for existance return false; for(CreatureEventList::iterator it = eventsList.begin(); it != eventsList.end(); ++it) { if((*it) != event) continue; eventsList.erase(it); return true; // we shouldn't have a duplicate } return false; } creature.h: bool unregisterCreatureEvent(const std::string& name); Só adicionar perto das linhas parecidas. Sobre o RSA, não sei te responder com precisão, mas dava esse erro no meu server quando alguém tentava entrar com a porta 7172.
  6. apenas n funcionava o item, sem erros, n entendo muito bem de mod, mas n precisaria de um "function onuse()"? olhando aqui oq vc arrumou, me toquei q n expliquei direito... qnd vc usa o boost em um summon o PLAYER fica com o storage, certo? entao o statschange n só le o summon atacando como tbm o player. ai o hit de um player tbm é afetado tem q mudar isso no statschange, pra só ser ativado qndo for um summon atacando até tentei ajeitar mas n sou scripter ai n deu certo vlw Sobre a action, não precisa do callback onUse porque só tem ele nas actions, não há outros. Mas não sei por que deu erro aí, aqui não deu problemas. Sobre o statschange, vi que tem bug mesmo. Vou arrumar depois.
  7. Poxa, brilhante ideia de programa. Deve ter dado um trabalho bom pra fazer, adorei.
  8. Certo. Dúvida sanada? Se sim, reporte o tópico para ser movido.
  9. Rapaz, aí eu já não sei. Provavelmente é algum bug do TFS. Vou ver se acho algo aqui.
  10. Usar condition não resolve, quando o player fizer logout vai sair. O mais certo é usar doPlayerAddMagLevel(cid, amount) ou pela database mesmo, fazendo logout no player e modificando.
  11. Corrigido: function onStepIn(cid, item, position, fromPosition) local player_item = getPlayerItemById(cid, true, 1678) if player_item.uid > 0 then if getItemAttribute(player_item.uid, "description") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A descrição do seu item é "..getItemAttribute(player_item.uid, "description")..".") elseif getItemInfo(player_item.itemid).description ~= "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A descrição do seu item é "..(getItemInfo(player_item.itemid).description)..".") end end return true end
  12. Engraçado é que esse script deveria funcionar. Você registrou no actions.xml?
  13. Tó: function onStepIn(cid, item, position, fromPosition) local player_item = getPlayerItemById(cid, true, 1678) if player_item.uid > 0 and getItemAttribute(player_item.uid, "description") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A descrição do seu item é "..getItemAttribute(player_item.uid, "description")..".") end return true end
  14. Explique direito o bug da action, por favor. Corrigi o bug de usar em players.
  15. eu acho q se ele ta se preocupando com a dificuldade é pq vai liberar né '-' Ele não ia divulgar, tava conversando com ele quando ele começou a fazer o sistema, e ele falou que não pretendia liberar pra galera. Isso é meio que coisa de programador, eu mesmo tenho vários sistemas aqui que não vou liberar, porém sempre procuro deixar as configurações bem simples.
  16. Ai que delícia de Lib, cara. E EU FALEI QUE VOCÊ TAVA FAZENDO COM OOP, SEU CORNO Hihi, falando sério agora, maneira a lib, só acho que você não deveria se preocupar com dificuldade em configurar, pois você não iria liberar o sistema anyway.
  17. Virou bagunça isso aqui. Galera, quem ainda tiver precisando de ajuda, cria um tópico na seção de pedidos e dúvidas - scripting. Vou reportar pra fechar essa fábrica. Um dia, quem sabe, eu resolva voltar com ela.
  18. Isso só é possível com modificações nas sources. Edit: É possível fazer em script sim, só não estou conseguindo... mas se souber nas Sources poderia dizer como seria? Obrigado pela atenção, no aguardo. Sim, é possível mesmo, porém teria que colocar em cada arquivo de spell, porém existem certas spells (como a exiva) que não usam arquivos.lua, mas sim funções nas sources. Pra essas spells, só na source mesmo. ---------------------------------------------------------------------------------------------------------------------------------------- Como assim?
  19. Aqui: ownerName = "Hardbaiak World OT Server" ownerEmail = "" url = " location = "Brazil" displayGamemastersWithOnlineCommand = false Mude para: ownerName = "Hardbaiak World OT Server" ownerEmail = "" url = "" location = "Brazil" displayGamemastersWithOnlineCommand = false
  20. Isso só é possível com modificações nas sources.
  21. O Slot ammo é o local da munição. Caso queira trocar pra mão, muda pra hand. Script:
  22. Até boa sorte com seu tópico. Em data/movements/scripts, crie um arquivo chamado equip_bullet.lua e coloque dentro: local look = 3 -- ID da outfit function onEquip(cid, item) doSetCreatureOutfit(cid, {lookType = look}, -1) return true end function onDeEquip(cid, item) doRemoveCondition(cid, CONDITION_OUTFIT) return true end Movements.xml: <movevent type="Equip" itemid="2160" slot="ammo" script="equip_bullet.lua"/> <movevent type="DeEquip" itemid="2160" slot="ammo" script="equip_bullet.lua"/>
  23. Galera, os pedidos de vocês serão ignorados por descumprir as regras do tópico. Regra 4 - Sem floods, comentários ou conversas no tópico; Regra 11 - Use um português adequado e detalhe bem seu pedido. Pedidos pouco detalhados ou com português ruim serão ignorados. Se não for bom com português, ao menos TENTE escrever adequadamente. Como punição não atenderei vocês hoje. Só a partir de amanhã. Quem não concordar com isso, reporta. Mas ao postar qualquer coisa no tópico falando que não concorda, a pessoa estará floodando, logo será passível de punição no fórum também, não só nesse tópico. Só postem abaixo se for algum pedido.
  24. Rapaz, esse sistema de level do TFS é complicado, mas você pode fazer o que o Gesior falou nesse tópico: http://otland.net/threads/how-do-i-change-max-level.195888/ Nesse fix, o level máximo é ampliado para 1.511.231.
  • Quem Está Navegando   0 membros estão online

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