Ir para conteúdo

PoRaI

Administrador
  • Total de itens

    121
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Tudo que PoRaI postou

  1. Finalizei o Gancho. Mas outra coisa acabou indo pro planejamento que é: Gancho em Redimensionamento que não é tão importante no momento, rs.
  2. Foi mal, aweiuhaweu, não apareceu a notificação e não vi a mensagem, x.x. Não tinha dado F5, alkçaçlka. Especifica melhor isso ai, dá. Quer verificar se um dos 5 tem 1 pokémon em especifico? ou que os 5 estejam com 1 pokemon em especifico? Na bag ou sumonado? Se for na bag, depende da sua base. Eu não manjo muito da estrutura das bases de Pokémon, eu teria que ler um script pra entender, tipo o script da nurse joy. Se for sumonado é mais simples. troca pra isso: (ps: só vai rodar se o item que você tiver usando for o itemid 1945) local playerA= { {x=292, y=1042, z=9}, -- Lugar onde o primeiro player vai estar {x=291, y=1042, z=9}, -- Lugar onde o segundo player vai estar {x=290, y=1042, z=9}, -- Lugar onde o terceiro player vai estar {x=289, y=1042, z=9}, -- Lugar onde o quarto player vai estar } local playerB={ {x=344, y=1026, z=9}, -- Lugar onde o primeiro player vai aparecer {x=305, y=1069, z=9}, -- Lugar onde o segundo player vai aparecer {x=245, y=1107, z=9}, -- Lugar onde o terceiro player vai aparecer {x=309, y=1125, z=9}, -- Lugar onde o quarto player vai aparecer } function onUse(cid, item, fromPosition, itemEx, toPosition) local players = {} if item.itemid == 1945 then for _, pos in pairs(playerA) do local player = getTopCreature(pos).uid if not isPlayer(player) then return doPlayerSendCancel(cid, 'You need 4 players for this quest.') elseif getPlayerLevel(player) < 300 then -- Level return doPlayerSendCancel(cid, 'All players need to have level 300 or higher.') end table.insert(players, player) end for id, pos in pairs(playerB) do doTeleportThing(players[id], pos, false) doSendMagicEffect(pos, CONST_ME_POFF) doSendMagicEffect(pos, CONST_ME_ENERGYAREA) end return doTransformItem(item.uid, item.itemid ==1945 and 1946 or 1945) end return true end
  3. depende pow, cada um clica na alavanca ou 1 clica na alavanca e todos são teleportado para locais diferentes?
  4. local to_pos = {x=1,y=1,z=7} -- POSIÇÃO PARA ONDE VAI SER TELEPORTADO local tile_pos = { -- POSIÇÕES DE ONDE VAI SER TELEPORTADO {x=1,y=1,z=7}, {x=1,y=1,z=7}, {x=1,y=1,z=7}, {x=1,y=1,z=7}, {x=1,y=1,z=7}, } function onUse(cid) for _, pos in pairs(tile_pos) do pos.stackpos = 255 thing = getThingfromPos(pos) if isPlayer(thing.uid) then doTeleportThing(thing.uid, to_pos, false) end end return true end
  5. vc definiu no items.xml o "worth" da moeda? isso que dá valor a ela.
  6. Bom, tem um tempo que eu tinha começado a desenvolver esse programa mas havia parado. Estou voltando com ele e vou trazer exclusivamente para o XTibia. Um programa para criar janelas para o OTClient. Ele ainda está um tanto quanto incompleto, mas, estou fazendo este post para mostrar o progresso dele. Quando as principais funções estiverem prontas, irei publica-lo e irei lançar constantes atualizações. É algo que eu vou usar, então, irei trabalhar bem nele. GIFS: Um plano que eu tinha em mente: Conforme vou atualizando, vou postando aqui. Qualquer duvida ou sugestão, deixe ai nos comentários. :3
  7. int LuaScriptInterface::luaDoCastSpell(lua_State* L) { //creature: doCastSpell("spellName") Creature* creature = getUserdata<Creature>(L, 1); if(!creature) { lua_pushboolean(L, false); return 1; } std::string& spellName = getString(L, 2); InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } if(Monster* monster = creature->getMonster()) { Creature* target = monster->getAttackedCreature(); if(target) spell->castSpell(monster, target); else spell->castSpell(monster); lua_pushboolean(L, true); return 1; } else if(Player* player = creature->getPlayer()) { if(spell->playerSpellCheck(player) && spell->playerCastInstant(player, spellName)) { lua_pushboolean(L, true); return 1; } } lua_pushboolean(L, false); return 1; } testa ae
  8. Editei o código lá em cima, não tinha visto que tinha postado aqui, kk.
  9. PoRaI

    Name Displacement

    Com esse código, não, kk. Também não recomendaria fazer isso, pois já existe o offset no dat editor justamente pra isso. :X
  10. PoRaI

    Name Displacement

    meu things.lua é diferente do seu. Btw, não dá nenhum erro quando você abre o terminal do cliente? Você sabe que a outfit tem que ser igual o número do .dat, né? E não o do /newtype.
  11. PoRaI

    Name Displacement

    Cara, copia o código do loadOtml que eu postei no comentário, que é: if not g_things.loadOtml("/data/things/things") then errorMessage = errorMessage .. tr("Unable to load otml file, please place a valid otml in /data/things/things") end
  12. PoRaI

    Name Displacement

    eu também tinha editado o comentário com o código, kk.
  13. PoRaI

    Name Displacement

    Bom, a única coisa que pode ter acontecido é terem desabilitado o suporte de OTML do seu cliente (que vem por padrão no OTC). Vai no arquivo modules/game_things/things.lua e vê se você acha isso lá: load dat, load spr e load otml. Se não tiver o loadOtml, faça o seguinte: abaixo de: local datPath, sprPath adicione: local otmlPath = "/data/things/things" abaixo de: if not g_sprites.loadSpr(sprPath) then errorMessage = errorMessage .. tr("Unable to load spr file, please place a valid spr in '%s'", sprPath) end adicione: if not g_things.loadOtml(otmlPath) then errorMessage = errorMessage .. tr("Unable to load otml file, please place a valid otml in '%s'", otmlPath) end
  14. PoRaI

    Name Displacement

    Tem que ser dentro da pasta data/things, não pode ser dentro da pasta da versão. Você já tentou usar valores negativos? Valores positivo o nome vai pra baixo, valores negativos, pra cima. Também recomendo colocar opacidade na outfit pra ver se você tá colocando a outfit certa/sistema funcionando, se a outfit pegar opacidade, só remover. Exemplo:
  15. PoRaI

    Name Displacement

    Fica na pasta /data/things/things.otml. Se não tiver o arquivo, crie ele com oq eu postei aqui e edita.
  16. Tenta usar esse deathlist.lua que eu fiz deathlist.lua
  17. Eu não conheço o client do Tibia 11, mas, isso não é possível com as outras versões, só com alteração no otclient. Eu acredito que isso não seja possível no Tibia 11 também. Você já viu algum servidor com isso? Mira sem ser de runa/item?
  18. O problema tá no seu banco de dados ou no seu arquivo de deathlist (talkaction). Faça o seguinte, verifique se existe a tabela `mortes`, `killers`, `player_death`, algo assim no seu banco de dados, se sim, abra ela e tire uma print para mim. E também, poste o arquivo talkactions/scripts/deathlist.lua do seu servidor aqui eu analisar. Preciso da print e do arquivo.
  19. Minto, eu pensei que fosse outra coisa, mania de não ler direito, aweiuhaew. Enfim, muda teu código pra isso: int LuaScriptInterface::luaDoCastSpell(lua_State* L) { //creature: doCastSpell("spellName") Creature* creature = getUserdata<Creature>(L, 1); if(!creature) { lua_pushboolean(L, false); return 1; } std::string& spellName = getString(L, 2); InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } if(Monster* monster = creature->getMonster()) { Creature* target = monster->getAttackedCreature(); if(target) spell->castSpell(monster, target); else spell->castSpell(monster); lua_pushboolean(L, true); return 1; } else if(Player* player = creature->getPlayer()) { if(spell->playerCastInstant(player, spellName)) { lua_pushboolean(L, true); return 1; } } lua_pushboolean(L, false); return 1; }
  20. ue, vc pode fazer teleports pelo map editor, akjakjlalça, não?
  21. 1.2: local tile = Tile(fromPosition) if tile:hasFlag(TILESTATE_PROTECTIONZONE) then -- erro se tiver em PZ. return true end 0.3.6: if (getTileInfo(fromPosition).protection == TRUE) then -- erro se tiver em PZ. return true end Edit: Só pra deixar claro, o pedido foi: "como bloqueio o uso da ordem fly quando estiver em pz" e não: "como bloqueio o fly em pz", o código acima serve pra checar se o tile (fromPos) é um PZ ou não, se for, todo o script que estiver abaixo disso, não vai funcionar. Se você quiser bloquear o USO do order, use isso dentro do arquivo order.lua, se for FLY em PZ, já é um pouco mais complicado pq eu precisaria entender como criaram o FLY no seu servidor. E outra, pq você quer fazer isso? Qual o problema de fly em pz?
  22. O old parar de funcionar é normal, ele não entende os pacotes que o servidor está enviando agora. E para mudar no old client você precisaria de um conhecimento em programação / engenharia reversa pra fazer essa alteração, que não é tão complicada, rs.
  • Quem Está Navegando   0 membros estão online

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