Ir para conteúdo

Thony D. Serv

Membro
  • Registro em

  • Última visita

Tudo que Thony D. Serv postou

  1. Tfs - 0.4 - v3996
  2. Tenho Este Script Aqui De Plantação: Como deu para reparar, ele é um action, e não achei muito viável dele ser um action pois estou sempre dando reload nos actions e acaba travando o sistema, gostaria de saber se tem como muda-lo para Movemevents Ou Globalevents Ou Creaturescript. caso não dê se pudesse ver alguma forma de não interromper o script sempre que eu desse reload nos actions, oque interrompe é o time sempre que eu dou reload e a a plantação da pessoa ainda esta em tempo de crescimento o sistema interrompe e não cresce nem muda nada, até o chão que o script muda, se ele for interrompido no meio o chão não volta ele fica sempre "arado" ao inves de voltar ao normal depois de um tempo rep+++
  3. Opa tranquilo galera? então estou um pouco abismado por um problema que só notei recentemente, possuo um script de double exp semanal, ele funciona certinho porem o que não notei é que ele é meio ineficaz em alguns players, ocorre que tem players que tem a rate 2.0 por causa de uma storage ( meio que é um bônus que botei para a galera que não tem uma certa storage ) e acontece que o evento ele não soma a experiência ele apenas seta uma por exemplo: o bônus é este doPlayerSetRate(cid, SKILL__LEVEL, 2.0) e o script semanal é esse doPlayerSetRate(cid, SKILL__LEVEL, 2.0) ai ao invés de juntar tudo e ficar 4.0 por exemplo, não acontece, ele simplesmente seta apenas o skill_level, 2.0 e não soma vou deixar o script aqui para quem puder me ajudar a por o script para somar: Rep+++
  4. Então, eu gosto de manter bem nítido as questões para não acabar deixando os players perdidos caso ocorra algum curioso que se encaixe nesta situação, pois player é bixo doido kakakaka porém como falei desta forma também é possível usar
  5. Pode usar está forma também porém tem um problema, caso o cara fique com a outfit inicial tendo o dano da "penúltima" transformação, pode dar uma falsa impressão ao player que revertendo e estando na primeira transformação ele de aquele mesmo DANO que ele tem ao morrer, pois ele não vê vocation apenas outfit, fazendo ele crer que por exemplo, o amigo dele morreu e está com a outfit inicial enquanto ele reverteu e também está com a outfit inicial, ambos vão PvP e vai dar a noção de desbalanceamento no servidor.
  6. Então caso você use script de niwdeath que seria ao morrer reverter o from sempre tem que ficar com o número da primeira ID da vocation Ex Zamas inicial id 408 from voc 408 Zamas 2 id 409 from voc 408 Zamas final id 410 from voc 408 Ao morrer todas essas vocation que estão com from 408 votaram para a vocation 408 sendo assim meio que revertendo ao morrer porém precisando de um complemento para modificar também a outfit pois só mudaria o Id da vocation
  7. Sim sãos os corpses, porém como o foco do tópico foi apenas o reverter ao morrer não expliquei para não ficar muito longo e não ter risco de confundir ele
  8. Basta Você Ir Alterando, O Script Está Aí Deixei As Vocações Base Para Você Usar De Exemplo, Ou Se Caso Fossem Elas Nem Precisaria Alterar
  9. Va No Seu Creaturescript E Crie niwdeath.lua dentro ponha: Agora Dentro Do Creaturescript.xml Ponha: Dentro do seu login.lua registre Explicação: -- C8 [479] = {478, 512, 34}, [480] = {478, 512, 34}, [481] = {478, 512, 34}, [482] = {478, 512, 34}, [484] = {483, 517, 34}, [485] = {483, 517, 34}, [486] = {483, 517, 34}, [487] = {483, 517, 34}, [488] = {483, 517, 34}, [489] = {483, 517, 34} O primeiro é a vocation 479 por exemplo, 478 é a vocation para qual o player ira regredir ao morrer, 512 é a outfit, e 34 o efeito ( que voce pode manter o mesmo pois não afeta nada ) como este exemplo é do c8 ( que é o ultimo do script ) ele não possui o virgula no ultimo ali: [489] = {483, 517, 34} caso for adicionar outras vocações adicione o virgula no c8 e sempre lembre de deixar o ultimo sem virgula
  10. fiz o teste porem se eu por 150 por exemplo sumona apenas 10, pensei que seria as casas que atrapalhassem tipo que o mob tentou ser sumonado e a casa impediu porem nem em area lisa sem empecilhos o sumona + do que 10
  11. se você puder explicar qual azul claro, mandou um print com 5 cores de texto diferente, facilita a galera e foca no seu pedido ¬¬ outra questão a mensagem é para oque? ao logar recebe ela? ou é action oque seria? tem um script em especifico que você queira adicionar esse tipo de mensagem? poderia passar mais informações?
  12. Que bom que funcionou, espero ter entendido direito o seu pedido, antes você tinha pedido com alavanca por isso fiz daquela forma, se tivesse avisado que seria por mob tbm conseguiria fazer, mas faça bom uso aí do script manin, sou novo com essas paradas então fiz e não sabia se ia funcionar direitinho que bom que deu tudo certo ??
  13. Não. Remova o antigo e adicione o novo
  14. Entendi então pois bem use esse mod Não sei se você sabe adicionar mods então vou explicar Na pasta do seu server aonde possui a tfs ou a otx tem uma pasta junto do data escrito mods aí vc cria um arquivo lá e adiciona: Explicação: muda conforme o seu na parte de exp_info e depois dentro do arquivo procura o número 12698 e substitua pelo número do item (potexp) do seu server
  15. a primeira não sei como fazer, porem a segunda você pode adicionar uma condição no super speed ou na magia de haste do seu server assim: if getCreatureCondition(cid, CONDITION_PARALYZE) then return doPlayerSendTextMessage(cid, 27, "Espere O Paralyze Sair") um exemplo dela aplicada: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 27) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 60000) setConditionFormula(condition, 3.0, -24, 3.0, -24) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureCondition(cid, CONDITION_PARALYZE) then doSendMagicEffect(getCreaturePosition(cid), 1) return doPlayerSendTextMessage(cid, 27, "Espere O Paralyze Sair") else return doCombat(cid, combat, var) end end
  16. E Registra No Globalevents
  17. Não Testei Mas Vê Se Vai Funcionar Ai
  18. @underpunk Npc Training Alavanca1 Alavanca2 Alavanca 3 Bem Pelo Que Entendi Hi, Training, Yes Teleportado Para Era 1 Clicou Na Alavanca E Voltou Hi, Training, Yes Teleportado Para Era 2 Clicou Na Alavanca E Voltou Hi, Training, Yes Teleportado Para Era 3 Clicou Na Ultima Alavanca. Hi, Training, Yes Teleportado Para Sala Do Boss -- Não Testei Ve Ai Se Funciona
  19. function onSay(cid, words, param) --[Configurações de Condição]__ config = { --[[verdadeiro / Falso]] storage = true, -- Storage [true / false] needPa = false, -- Precisa de Premium Account? [true / false] needPz = false, -- Precisa estar em Protection Zone? [true / false] battle = false, -- Precisa estar sem Batlle para Resetar? [true / false] withe = false, -- Players PK Withe pode Resetar? [true / false] red = false, -- Players PK Red pode Resetar? [true / false] tp = false, -- Teleportar para o Templo após o reset? [true / false] look = true, -- Mostrar Resets no Look do Player? [true / false] addLimite = true, -- Abilitar Limite de Resets? [true / false] setClasse = false, -- Mudar Vocação do player quando resetar? [true / false] storage = 54676, -- Storage [valor] --[Configurações do Reset]__ resetStatus = { player = getPlayerGUID(cid), -- Não Mude. lvl = 717217, -- Level Necessário para Resetar. [valor] lvlreset = 1, -- Level que retornará após o Reset. [valor] limite = 15, -- Máximo de resets que um player pode chegar. [valor] newClasse = 0, -- Id da Nova Vocação após o Reset. [valor] tempo = 5 }, } --[Funções]__ function Reseting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function noAll(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noTeleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noLook(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function setClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function look(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function teleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function getResets(cid) resets = getPlayerStorageValue(cid,config.storage) if resets < 0 then resets = 0 end return resets end local resets = getResets(cid) local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar." local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar! Você será deslogado em "..config.resetStatus.tempo.." Segundos." --[Condiçoes]__ if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.") return TRUE elseif(config.storage == true) and (getPlayerStorageValue(cid,13550) == 1) then doPlayerSendTextMessage(cid,22,"VOCE PRECISA TER STORAGE 13550 PARA RESETAR") return TRUE elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.") return TRUE elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.") return TRUE elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.") return TRUE elseif(config.needPa == true) and not isPremium(cid) then doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.") return TRUE elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.") return TRUE elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then addEvent(Reseting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then addEvent(noAll, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then addEvent(noLook, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then addEvent(noClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then addEvent(setClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then addEvent(look, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then addEvent(teleporting, config.resetStatus.tempo* 1000, cid) elseif doPlayerSendCancel(cid, needLvl) then doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return TRUE end if doPlayerPopupFYI(cid, msg) then end return TRUE end --[By: Linnux]__ Não Testei Mas Vê Ai @Muvuka
  20. Vlw Maninnn, está funcionando agora, porem ele só está summonando um mob independe da quantidade que eu ponha
  21. Thony D. Serv postou uma resposta no tópico em Suporte OTServer Derivados
    caso alguem tenha tbm tenho interesse
  22. caso tiver alguém disponível além do vodkar, também ficaria agradecido

Informação Importante

Confirmação de Termo