Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Oneshot

    Script De Força

    Isso só é possível através das sources de um servidor, editando as fórmulas de dano.
  2. Fala aê. Bom, eu me garanto um pouco com Photoshop e até sei fazer uns avatares e signs "masoumeno", mas gostaria de algo mais bem feito que nem vi que vocês da área podem fazer. Tipo de Pedido: Set (Avatar + Sign) Tema: -/- Render/Stock: Stock Tamanhos: 200 X 260 (Avatar); 400 X 120 (Sign) Tipografia: Nenhuma ou "Oneshot" Preferência: Tonynh Abraços.
  3. Vou mover para Pedidos e dúvidas - Programação Enfim, No arquivo player.cpp, procure pela função Player::addExperience, e altere a linha abaixo: sprintf(advMsg, "You advanced from Level %d to Level %d.", prevLevel, level);
  4. Qual a versão do seu servidor, esqueci de dizer que essa modificação, fiz com base no 0.3.6pl1, o que pode mudar para o 0.4
  5. Opa, esqueci de adicionar as mudanças do game.cpp para o 0.3.6. Obrigado por avisar.
  6. Há dois modos de fazer isso: 1. Compilando isto, [Creaturescript/C++] onMove, nas sources de seu servidor e, indiretamente, através de um script Lua, bloquear que jogadores joguem itens em uma certa posição que já contém X itens. 2. Fazendo apenas uma modificação no bool Game::playerMoveItem, adicionando isso: if(toCylinder->getTile()->getItemCount() > 5) { player->sendCancelMessage(RET_NOTPOSSIBLE); return false; } Antes disso: if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } No caso, ele não deixaria o jogador colocar um item em um tile com mais de cinco itens, mas é só alterar. Abraços.
  7. Nome: onMove Tipo: Creaturescript/C++ Autor: Doggynub Este é um código C++ extra para os servidores, um creaturescript, que facilita muito a programação de variados scripts. É possível criar um script que bloqueia que itens sejam jogados em teleports, por exemplo. Em creatureevent.h, procure por: CREATURE_EVENT_PREPAREDEATH, Logo abaixo, adicione: CREATURE_EVENT_ONMOVE Procure por: uint32_t executePrepareDeath(Creature* creature, DeathList deathList); E logo abaixo, adicione: uint32_t executeOnMove(Player* player, Item* item, const Position& fromPosition, const Position& toPosition, Item* fromItem, Item* toItem, Item* fromGround, Item* toGround, std::map<std::string,int> status); Em creatureevent.cpp, procure por: else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; Logo abaixo, adicione: else if(tmpStr == "move") m_type = CREATURE_EVENT_ONMOVE; Procure por: case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; Abaixo, adicione: case CREATURE_EVENT_ONMOVE: return "onMoveItem"; Procure por: case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; Abaixo, adicione: case CREATURE_EVENT_ONMOVE: return "cid, item, formPosition, toPosition, fromItem, toItem, fromGround, toGround, status"; No fim do arquivo, adicione: 0.4 0.3.6 No arquivo game.cpp, procure: bool Game::playerMoveItem(uint32_t playerId, const Position& fromPos, uint16_t spriteId, int16_t fromStackpos, const Position& toPos, uint8_t count) Troque TODA ELA pelo conteúdo abaixo: 0.3.6 0.4 O código C++ acima como dito anteriormente, abre um leque grande de possibilidades de novos scripts para seu servidor. As versões mais atuais do Open Tibia, como o The Forgotten Server, já possuem algo parecido compilado, um creaturescript chamado onThrow, embora este não tenha tantos extras como o passado no tópico.
  8. Genial, Ursão. Realmente é uma ótima ideia essa a sua. Cacete, queria ter a criatividade da Raposa ou a sua.
  9. E quem disse que eu fiz para ficar igual o do RadBR? Se você quer criar uma cópia mal-feita do RadBR, vá estudar Lua e programar suas próprias coisas. Tá fogo esse povinho que quer tudo na mão caindo do céu.
  10. Oneshot

    Script de Spell

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. Coloque return true antes do último end nos dois
  12. 1. Este primeiro erro está relacionado ao nome do mapa configurado errado no arquivo config.lua 2. Servidores mais atuais, como a versão 0.4_SVN do The Forgotten Server, pedem que a codificação de senhas do banco de dados seja em sha1 para maior segurança. Logo, você precisa trocar essa linha: encryptionType = "plain" Para isso: encryptionType = "sha1" 3. E por último, basta desativar a checagem de versão do The Forgotten Server no config.lua confirmOutdatedVersion = true Para confirmOutdatedVersion = false Abraços. Sua dúvida não possui nenhuma relação com programação, estou movendo para Pedidos e dúvidas - Geral
  13. Oneshot

    S.O.S Curso

    Você não vai aprender Lua, Java, entre outros em cursos da S.O.S Computadores e Microlins. Abraços.
  14. Eu desenvolvi um "algoritmo" para decidir as posições de empurrar e puxar das magias, que comparam a posição do jogador para com a posição do alvo. Já do jeito que você quer, eu teria que fazer um novo algoritmo, não com base na comparação de posições, mas sim na direção do olhar do jogador, uma vez que: E no momento estou com preguiça de refazer minha magia que já me agrada como está. Abração.
  15. Desculpe, mas se o dono do tópico reportou como funcional, o problema de não estar adicionando pontos deve ser aí, jNNo. Enfim, estou movendo o tópico para Pedidos e dúvidas resolvidos - Scripting
  16. Oneshot

    The Bard

    Raposa filha da mãe... Ótimo script, cara. Sua criatividade excede qualquer limite. Poste seu sistema de climas orientado a objetos e aquele seu tutorial de servidores de vários mundos \o/
  17. os.clock() -- Retorna o tempo em segundos contado desde o ínicio da execução do interpretador. (ou servidor) os.time() -- Retorna o UNIX_TIMESTAMP, ou seja um tempo em segundos contado desde 1/1/1970 table.insert(table[, n], v) -- Insere o valor v na tabela table string.len(string) -- Retorna o tamanho de uma string
  18. Não, na boa, vejo que você quer aprimorar sua programação Lua, mas isso é pog demais. Você cometeu duas "transgressões" graves aí. Primeiro, usar while para percorrer valores de tabelas (que só o caotic acha legal) e segundo declarar uma tabela que não vai mudar, dentro do escopo da função onLogin. Vamos limpar um pouco seu código, acho que não é nem preciso usar for para isso. local outfits = { [2] = {lookType = 194, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}, [3] = {lookType = 194, lookHead = 90, lookBody = 90, lookLegs = 90, lookFeet = 90} } function onLogin(cid) local tmp = outfits[getPlayerGroupId(cid)] if(not tmp) then return true end return doSetCreatureOutfit(cid, tmp, -1) end Abraços.
  19. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  20. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  21. function doTeamTeleportThing() local positions = { [1] = {x = 100, y = 100, z = 7}, [2] = {x = 100, y = 100, z = 7} } local storage = 98125 local players = {{}, {}} local n = 0 for var, cid in ipairs(getPlayersOnline()) do if getCreatureStorage(cid, storage) == 1 then if var % 2 == 0 then table.insert(players[1], cid) else table.insert(players[2], cid) end n = n + 1 end end if n >= 4 then for i = 1, #players do for j = 1, #players[i] do doTeleportThing(players[i][j], positions[i]) end end end end Não testei não, mas acho que está bem funcional.
  22. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  23. Oneshot

    Scripts faceis

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  24. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  25. Oneshot

    Mass kill

    function onSay(cid, words, param, channel) for _, player in ipairs(getPlayersOnline()) do doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, getThingPosition(player), 0, -getCreatureMaxHealth(player), -getCreatureMaxHealth(player), CONST_ME_MORTAREA) end return true end GODs, CMs, GMs não morrem, pois possuem flag de imortalidade. Mas, na boa, não crie tópicos para chamar atenção, não, beleza? Abraços.
  • Quem Está Navegando   0 membros estão online

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