Histórico de Curtidas
-
luanmaximus recebeu reputação de Brodisk em Error: string is not in UFT-8O erro acontece quando essa mensagem de de broadcast aparece?
-
luanmaximus deu reputação a Fir3element em [8.60] The Forgotten Server 0.4 By Fir3Element (SQL and MYSQL)Reporte qualquer bug encontrado.
- Mudanças:
* opcode adicionado
* Monstros andando em cima de corpos
* War system arrumado
* Anti-divulgação melhorado
* Cast system arrumado
* Crash bugs arrumados
* Adicionado exhaust ao comprar/vender items
* Account manager com opção para cidades
* /ghost stacking arrumado
* !disband arrumado
* Erros no linux arrumado
* Aleta som arrumado
* Bug nos rings arrumado
* Adicionado suporte para Visual Studio
* Remover battle ao entrar em PZ
* Não pode jogar lixo em casas
* Salt removido
- Downloads:
* Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32-windows.zip
* Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64-windows.zip
* Requisitos: Microsoft Visual C++ Redistributable Package
* Source + datapack: https://github.com/Fir3element/3777/archive/refs/heads/main.zip
- Scans:
* Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/
* Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/
* Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
-
luanmaximus recebeu reputação de FeehLoveCes em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.
-
luanmaximus recebeu reputação de Galako em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.
-
luanmaximus recebeu reputação de Yuri Trigger em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.
-
luanmaximus recebeu reputação de gutalo em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.
-
luanmaximus deu reputação a xWhiteWolf em New Library v. 1.2Fala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal)
Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro:
Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha
Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório.
Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20)
Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros.
Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir)
Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu.
Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira.
Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS.
EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida.
EDIT 2: Duas novas funções adicionas, espero que gostem!
EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.
-
luanmaximus deu reputação a xWhiteWolf em Gran Castle Event (8.54+)Olá pessoa, hoje vim trazer pra vocês um script bem requisitado que inclusive é vendido por alguns scripters. Algumas versões "pioradas" dessse script podem ser encontradas em servidores cópias do Fox World porém nenhum desses scripts chegará aos pés desse daqui que foi arrumado por mim.
Eu não sou o criador do Script, eu peguei qualquer um na internet e só fui arrumando e adicionando coisas que as pessoas reclamavam que não tinha.
O cara que criou a versão que eu editei é esse daqui:
Não vou me prolongar e nem falar mal da versão do Roksas, apenas saibam que eu editei ela praticamente inteira e que agora está 100%.
Aqui tem um pequeno vídeo de como funciona o evento:
Explicação: Gran Castle é um evento para ser feito sozinho ou com a guild, há um limite configurável no script de membros que podem entrar da mesma guild. Em dias determinados é aberto o evento e os players podem entrar ao falar com o NPC Melkrapo. Uma vez dentro do castelo os players batalharão para subir os andares e chegar até a Gran Tower, um monstro lendário que dará glória para aqueles que o derrotarem. Será que você é capaz? Instale no seu server e descubra! Um evento para redefinir o conceito de PVP e onde o seu maior inimigo serão seus semelhantes.
Sem mais delongas vamos começar a instalar esse monstrinho.. porque ele é grande pra caralho.
Agora crie um arquivo em creaturescripts\scripts chamado Gran Tower.lua e adicione o seguinte:
em data\lib crie um arquivo chamado 046-Gran Tower.lua e adicione o seguinte dentro dele:
Agora voltando aos creaturescripts crie um arquivo em scripts chamado Gran Aura.lua e adicione:
E um arquivo chamado Barrier.lua na mesma pasta com o seguinte conteúdo:
Agora em globalevents\globalevents.xml adicione a seguinte linha:
<globalevent name="Gran Tower" interval="60" event="script" value="Gran Tower.lua"/> E adicione o script associado em globalevents\scripts com o nome de Gran Tower.lua:
Agora na pasta monster procure o seu monsters.xml e adicione essas duas linhas:
<monster name="Gran Tower" file="8.4/Gran Tower.xml"/> <monster name="Barrier" file="8.4/barrier.xml"/> Feito isso crie os monstros na pasta data\monster\8.4:
O primeiro se chama barrier.xml e deverá conter:
O segundo se chamará Gran Tower.xml e deverá conter:
Agora vamos para NPC, vá em data\npc e crie um arquivo chamado Melkrapo.xml com o seguinte conteúdo:
Agora em npc\scripts crie um arquivo chamado Melkrapo.lua e adicione o seguinte:
Agora partindo pra spells vá em data\spells e adicione no spells.xml essas linhas:
-
luanmaximus recebeu reputação de luanluciano93 em Apagar dadosVocê diz reset?
é só ir no localhost/phpmyadmin achar a database no seu servidor e deletar, dps vc importa uma nova, geralmente vem junto com o servidor, mas pra n ter problemas faz um backup da database antes de deletar.
-
luanmaximus deu reputação a Caronte em (Resolvido)Comando para dar Storage para todos os player online.function onSay(cid, words, param) t = string.explode(param, ",") for pid, k in pairs(getOnlinePlayers()) do setPlayerStorageValue(pid, t[1], t[2]) end return true end <talkaction words="/onlinestorage" event="script" value="arquivo.lua"/> /onlinestorage 323451, 1
Qualquer erro só falar, estou pelo celular.
Lembrando: globalstorage não é isso que você está imaginando...
Globalstorage salva o storage "no servidor" e não em todos os players.
-
luanmaximus deu reputação a zipter98 em (Resolvido)Comando para dar Storage para todos os player online.function onSay(cid, words, param) local t = param:explode(",") for _, pid in pairs(getPlayersOnline()) do setPlayerStorageValue(pid, tonumber(t[1]) or 1, tonumber(t[2]) or 1) end return true end
-
luanmaximus deu reputação a Caronte em (Resolvido)Pegar cor da Outfitfunction onUse(cid, item) local cidOutfit = getCreatureOutfit(cid) local outfitm = {lookType = 684, lookHead = cidOutfit.lookHead, lookLegs = cidOutfit.lookLegs, lookBody = cidOutfit.lookBody, lookFeet = cidOutfit.lookFeet} local outfitf = {lookType = 685, lookHead = cidOutfit.lookHead, lookLegs = cidOutfit.lookLegs, lookBody = cidOutfit.lookBody, lookFeet = cidOutfit.lookFeet} local exhaust = 120 -- Tempo para player poder usar o item novamente! (tempo em segundos) local time = 120 -- Tempo para ficar na montaria! (tempo em segundos) local speed = 200 -- Velocidade adicionada ao player após usar o item! (300 = velocidade, quanto maior mais rapido...) local mana = 0 -- Quantidade de mana que o player necessita para usar o sistema! local premium = "no" -- Apenas players premium accounts "yes" or "no"!? local storage = 9393 -- Não mexa aqui! if premium == "no" and not isPremium(cid) then return doPlayerSendTextMessage(cid, 23, "Sorry, only premium players.") end if (getPlayerStorageValue(cid, storage) <= os.time()) and getPlayerSex(cid) == 1 then doCreatureSay(cid, "Yeeeah!!!\nYou went up on his ride.", 19) doSetCreatureOutfit(cid, outfitm, time*1000) doChangeSpeed(cid, speed) doSendMagicEffect(getCreaturePosition(cid), 12) setPlayerStorageValue(cid, storage, os.time()+exhaust) addEvent(doChangeSpeed, time*1000+40, cid, -speed) else doPlayerSendCancel(cid, "Sorry, you only can again use this item after "..exhaust.." seconds.") end if (getPlayerStorageValue(cid, storage) <= os.time()) and getPlayerSex(cid) == 0 then doCreatureSay(cid, "Yeeeah!!!\nYou went up on his ride.", 19) doSetCreatureOutfit(cid, outfitf, time*1000) doChangeSpeed(cid, speed) doSendMagicEffect(getCreaturePosition(cid), 12) setPlayerStorageValue(cid, storage, os.time()+exhaust) addEvent(doChangeSpeed, time*1000+40, cid, -speed) else doPlayerSendCancel(cid, "Sorry, you only can again use this item after "..exhaust.." seconds.") end return true end
-
luanmaximus deu reputação a xWhiteWolf em Frozen OrbEscreve local na frente de cada função e copia pros outros scripts que deve resolver.
-
luanmaximus recebeu reputação de BetinhoSouza em [ACTION] Simple Pet SystemVai no arquivo do seu monstro e procure por:
<flag convinceable="0" /> Se tiver 0 troque pra 1
-
luanmaximus deu reputação a zipter98 em (Resolvido)[DUVIDA] Piso que remove items por slotfunction onStepIn(cid, item, fromPosition, itemEx, toPosition) local storage = 417345 local slot = {1, 4, 7, 6, 5} if getCreatureStorage(cid, storage) < 0 then doCreatureSetStorage(cid, storage, 1) for i = 1, #slot do local slot_item = getPlayerSlotItem(cid, slot[i]).uid if slot_item > 0 then doRemoveItem(slot_item, 1) end end doSendMagicEffect(getThingPos(cid), 13) else doSendMagicEffect(getThingPos(cid), 2) end return true end
-
luanmaximus recebeu reputação de ManoTobira em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.
-
luanmaximus recebeu reputação de Smart Maxx em Immortal!O que ela faz?
Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
Testado em: TFS 8.54 0.4 rev3777
Vídeo: http://youtu.be/5iL8V2Y1BIQ
OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele.
OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:
local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida) setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end
Agora vá abra spells.xml e adicione isso:
<instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>
OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
Configuração:
Criticas e sugestões por favor.