Histórico de Curtidas
-
Admnwso deu reputação a Felhipe Kennedy em Pedido Página [Characters.php]Boa noite !
Queria encarecidamente, solicitar a ajuda dos caros colegas EXPERTs em disponibilizar este script / .php que mostra na imagem abaixo:
Inventário .:
Com a opção de Hide/Show.
-
Admnwso deu reputação a xWhiteWolf em Gran Castle Event (8.54+)basicamente vc bota essa parte aqui:
if getGlobalStorageValue(GRANTOWER.SAVELASTWINNER) == getCreatureName(target) or (getPlayerGuildId(target) > 0 and getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) == getPlayerGuildId(target)) then
doPlayerSendCancel(cid, "O seu alvo está brilhando igualmente o sol, nâo está dando pra ver o alvo!")
return false
end
o mais perto possível de function onCastSpell mas só depois de existir a checagem de target.
(essa checagem aqui:
local target = getCreatureTarget(cid)
if type(target) ~= "number" or target == 0 then
doPlayerSendCancel(cid, "Você precisa selecionar algum oponente para fazer isso.")
return false
end
)
se tiver duvida em qualquer outra spell pode me enviar uma pm
-
Admnwso deu reputação a BangxD em Gran Aura xWhiteWolfBom galera to usando sistema de @xWhiteWolf:
Mais eu queria fazer um modificaçao, na hora de uma guild derrotar o boss gran tower.
Ele ja funcionar se o dos membro de uma guild derrota o boss, todos da guild ganha á aura. mais eu queria que somente os membro da guild que estive online que vai ganha á aura, o offline nao Ganha.
Alguem consegue fazer isso pra min.
-
Admnwso deu reputação a xWhiteWolf em (Resolvido)Erro (luaDoCombat) Creature not foundlocal function meteorCast(p) if isCreature(p.cid) then doCombat(p.cid, p.combat, positionToVariant(p.pos)) end end deixa a função meteorCast assim que os erros devem parar.
-
Admnwso deu reputação a murilao em (Duvida) Microsoft Visual C++Vai na pasta vc14 ou vc12 e la tem theforgottenserver com o tipo do arquivo microsoft visual studio.
Imagem:
-
Admnwso deu reputação a murilao em (Duvida) Microsoft Visual C++Ja reiniciou o PC? o setup instalou tudo certinho ? e também pelo que vi na imagem acima no seu pc não tem a pasta microsoft visual studio 2013.
-
Admnwso deu reputação a murilao em (Duvida) Microsoft Visual C++Não precisa de algum programa
Qual o servidor q vc usa?
-
Admnwso deu reputação a murilao em (Duvida) Microsoft Visual C++Baixa por esse site do visual studio que ai deve resolver o problema.
-
Admnwso deu reputação a murilao em (Duvida) Microsoft Visual C++Visual Studio 2013
-
Admnwso deu reputação a Reds em Spell Onda de Gelo do Videotem a animação sim
-
Admnwso deu reputação a Kemmlly em [TALKACTION] Caixa PostalBem, procurei aqui no Tibia King e não achei nada relacionado, então, criei um script de Caixa Postal, ou, Mensagem Offline, como preferirem.
Versão: TFS 0.4
Autor: Kemmlly
Como funciona:
Enviar: O jogador usa o comando: !caixa "nome do jogador" - "Mensagem", sem as aspas. Se o jogador estiver Off, a mensagem ficará guardada na Caixa Postal dele, se não, o jogo te indicará a falar pelo PV.
Receber: O jogador que recebeu a mensagem usa o comando: !recados ler, para ler as mensagens que tem disponíveis na caixa, ou, !recados apagar, para limpar a caixa postal se estiver muito cheia, pois acumula mensagens, segue exemplo:
!recados ler
!recados apagar
Instalação:
data/talkactions/scripts/caixapostal.lua
function onSay(cid, words, param, channel) local t = string.explode(param, "-") if t[1] == '' or t[1] == nil then doPlayerSendTextMessage(cid, 19, "Comando invalido, use !caixa 'NOME DO JOGADOR' - 'MENSAGEM' sem as aspas.") return true else local player = db.getResult("SELECT `id` FROM `players` WHERE `name` = '"..t[1].."';"):getDataInt("id") if player == nil then doPlayerSendTextMessage(cid, 19, "Esse jogador nao existe!") return true elseif player ~= nil and t[2] == '' then doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia!") return true elseif player ~= nil and t[2] ~= '' then if getPlayerByNameWildcard(t[1]) ~= nil then doPlayerSendTextMessage(cid, 19, "Esse jogador esta online, fale pelo PV!") return true else local origem = getCreatureName(cid) local caixa = getGlobalStorageValue(player) local data = os.date("%d/%b as %X") if caixa == -1 or caixa == "Voce nao tem nenhum recado!" then caixa = "\n" end doPlayerSendTextMessage(cid, 19, "A mensagem foi enviada com sucesso!") setGlobalStorageValue(player, "["..data.."] - "..origem..": "..t[2].." \n\n"..caixa.."") return true end end end end
data/talkactions/scripts/recados.lua
function onSay(cid, words, param, channel) local t = string.explode(param, ",") local player = db.getResult("SELECT `id` FROM `players` WHERE `name` = '"..getCreatureName(cid).."';"):getDataInt("id") local mensagens = getGlobalStorageValue(player) if t[1] == '' or t[1] == nil then doPlayerSendTextMessage(cid, 19, 'Comando invalido.') elseif t[1] == 'ler' then if mensagens == -1 then mensagens = "Voce nao tem nenhum recado!" doShowTextDialog(cid, words, '-- Recados --\n\n'..mensagens..'') else doShowTextDialog(cid, words, '-- Recados --\n\n'..mensagens..'') end elseif t[1] == 'apagar' then doPlayerSendTextMessage(cid, 19, 'Mensagens apagadas com sucesso!') setGlobalStorageValue(player, "Voce nao tem nenhum recado!") end return true end
data/talkactions/talkactions.xml
<talkaction words="!caixa" event="script" value="caixapostal.lua"/> <talkaction words="!recados" event="script" value="recados.lua"/>
Ultimo passo, porém, importante;
em data/lib/004-database.lua vá até a linha 60 e mude:
error("[Result:getDataInt] Result not set!") para:
return nil
Se no seu não for exatamente na linha 60, procure a função:
function Result:getDataInt(s) if(self:getID() == -1) then error("[Result:getDataInt] Result not set!") end E faça a alteração. Isso é para não dar erro na hora de procurar um player pelo nome quando o jogador escrever um nome de player inválido.
Espero que gostem, abraços.
-
Admnwso recebeu reputação de Mathwsz em (Resolvido)Npc Não carrega!Assim npc não funfa. Uso tfs 0.4
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc - Task e TeleportBom, se você quiser, só alterar no script pra ficar exatamente como pediu, acredito que saiba como, mas, fiz de uma forma diferente.
Se mandar um sendcancel vai sumir rapidamente depois de um hit de outro monstro ou spell e o jogador não vai acompanhar, fiz de uma forma que ele registra no default em laranja, assim o player vê quantos ja matou a hora que quiser pois fica registrado, e quando finalizar aparece um popup na tela com a mensagem que voce pediu, mas só no monstro de numero 300, o 301 ja nao aparece mais, para o caso de o player estiver no meio da cave e ter q sair matando e nao ficar aparecendo toda hora.
function onKill(cid, target, lastHit) local storageinicio = 8887 -- Storage que inicia a quest local storagequest = 8888 -- Storage da quest local storagemonstro = 8889 -- Storage que faz a contagem do monstro local monstro = "cyclops" -- Nome do monstro if(isMonster(target) == true) then local n = string.lower(getCreatureName(target)) if getPlayerStorageValue(cid, storageinicio) >= 1 and n == monstro then local contagem = getPlayerStorageValue(cid, storagemonstro) if contagem == -1 then contagem = 1 end setPlayerStorageValue(cid, storagemonstro, contagem+1) if n == monstro then doPlayerSendTextMessage(cid, 19, 'Voce matou '..contagem..' Blazings.') end if contagem == 300 then setPlayerStorageValue(cid, storagequest, 1) doPlayerPopupFYI(cid,'Voce acaba de matar os 300 Blazing va ate o Blazar e ganhe sua recompensa') end end end return true end Testa aí e me fala.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc - Task e TeleportTem sim, pela manhã faço isso, nada demorado, mas estou pelo cel.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc - Task e TeleportAmanhã pela manhã faço pra você .
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc - Task e Teleportnpc.lua
local destino = {x = 1004, y = 1021, z = 7} -- Coordenadas do destino local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local storageinicio = 8887 -- Storage que inicia a quest local storagequest = 8888 -- Storage da quest local storagemonstro = 8889 -- Storage que faz a contagem do monstro local monstro = "cyclops" -- Nome do monstro local quantidade = 300 -- Quantidade de monstros para terminar a task if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, 'the volcano')) and getPlayerStorageValue(cid, storageinicio) == 1 and getPlayerStorageValue(cid, storagequest) ~= 1 then local contagem = getPlayerStorageValue(cid, storagemonstro) if contagem == -1 then contagem = 1 end selfSay('Voce nao terminou sua tarefa ainda, falta matar '..string.sub((contagem)-(quantidade), 2)..' '..monstro..'. Complete sua tarefa e retorne aqui.', cid) elseif (msgcontains(msg, 'the volcano')) and getPlayerStorageValue(cid, storageinicio) ~= 1 then talkState[talkUser] = 1 selfSay('Nasci e vivia em The Volcano, porem fui traido por aqueles malditos isqueiros! Me expulsaram so porque eu utilizava um {tunel proibido} para acessar o continente..', cid) elseif msgcontains(msg, 'the volcano') and getPlayerStorageValue(cid, storagequest) == 1 then selfSay('Voce ja completou sua missao, serei eternamente grato, siga seu caminho em paz!', cid) elseif msgcontains(msg, 'tunel proibido') and talkState[talkUser] == 1 then talkState[talkUser] = 2 selfSay('Existe uma maneira de acessar nossa ilha por dentro do mar, um tunel interliga a ilha ao continente. Tenho uma proposta pra voce e posso te levar ate a ilha. Quer {saber mais} ?', cid) elseif msgcontains(msg, 'saber mais') and talkState[talkUser] == 2 then selfSay('Quero que elimine, mate, extermine, o maximo de Blazing Spirits possivel, quero ver essa raca cair e nao me importo com sua extincao. Se apagar 300 da minha especie, MENOS EU, ensinarei voce a acessar a montanha dentro da ilha, aumentando seu respaw e melhorando suas hunts. {aceita} ?', cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'aceita') and talkState[talkUser] == 3 then talkState[talkUser] = 4 setPlayerStorageValue(cid, storageinicio, 1) setPlayerStorageValue(cid, storagemonstro, 0) selfSay('Acordo fechado! Volte aqui com as cinzas daqueles miseraveis. Se quiser ir agora para o The Volcano, sa falar {travel} ou {blazing}.', cid) elseif msgcontains(msg, 'travel') then doTeleportThing(cid, destino) selfSay('Boa viagem.', cid) else return false end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) npc.xml
<npc name="NOME DO NPC" script="data/npc/scripts/NORME DO ARQUIVO.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="54" head="45" body="67" legs="79" feet="10" addons="1"/> <parameters> <parameter key="message_greet" value="Hmmm... sinto a sua vontade de mostrar sua força. Vim do {The Volcano} buscando pessoas como você." /> </parameters> </npc>
em creaturescripts/scripts, crie um arquivo taskblazing.lua
function onKill(cid, target, lastHit) local storageinicio = 8887 -- Storage que inicia a quest local storagequest = 8888 -- Storage da quest local storagemonstro = 8889 -- Storage que faz a contagem do monstro local monstro = "cyclops" -- Nome do monstro if(isMonster(target) == true) then local n = string.lower(getCreatureName(target)) if getPlayerStorageValue(cid, storageinicio) >= 1 and n == monstro then local contagem = getPlayerStorageValue(cid, storagemonstro) setPlayerStorageValue(cid, storagemonstro, contagem+1) if contagem >= 300 then setPlayerStorageValue(cid, storagequest, 1) end end end return true end em login.lua adicione a tag
registerCreatureEvent(cid, "taskblazing") creaturescripts.xml
<event type="kill" name="taskblazing" event="script" value="taskblazing.lua"/>
Se os storages que eu escolhi não estiverem sendo usado no seu ot, deixe eles no script, se quiser mudar, mude com atenção nos dois scripts para não haver erro.
Lembre-se de mudar o nome do bixo no local correto e de escrever o nome corretamente para a contagem ser feita. Altere também as coordenadas do local que você quer teleportar o player.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc Viagem e MissaoVocê quer q ele só faça a viagem quando fala ROTA se estiver em PZ? Outra coisa, quando ele falar ROTA só viaja se tiver feito a quest? Se sim preciso editar uma partezinha aí, se não está certo.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc Viagem e MissaoObrigado.
-
Admnwso recebeu reputação de Kemmlly em (Resolvido)Npc Viagem e MissaoCara obrigado msm, parece que vc é o anjo que cair do ceú. pq os cara daqui sumiram, vlw.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc Viagem e Missao@Admnwso
ncp.lua
local tab = { pos = {x = 1004, y = 1021, z = 7}, -- posição x, y, z do local a teleportar o player item = {2157, 1}, -- Item necessario para completar a quest e quantidade } local storage = 6550 -- Storage da quest local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, 'rota')) then selfSay('Estou passando pela ilha de Bangalore. Se quiser embarcar diga {bangalore}.', cid) elseif msgcontains(msg, 'bangalore') then doTeleportThing(cid, tab.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) selfSay('Boa viagem!', cid) elseif msgcontains(msg, 'tartarugas') and getPlayerStorageValue(cid, storage) == 0 and getPlayerItemCount(cid, tab.item[1]) < tab.item[2] then selfSay('Cade os 1000 olhos de Kruha que me prometeu? 0 nao e mil..', cid) elseif msgcontains(msg, 'tartarugas') and getPlayerStorageValue(cid, storage) == 0 and getPlayerItemCount(cid, tab.item[1]) >= tab.item[2] then doPlayerRemoveItem(cid, tab.item[1], tab.item[2]) setPlayerStorageValue(cid, storage, 1) selfSay('Como prometi, darei as minha tartaruga pra pode viaja por onde quiser.', cid) elseif msgcontains(msg, 'tartarugas') and getPlayerStorageValue(cid, storage) == 1 then selfSay('Voce ja me ajudou com essa missao, nao precisa fazer novamente.', cid) elseif msgcontains(msg, 'tartarugas') and getPlayerStorageValue(cid, storage) < 0 then selfSay(' Ah, entao mostrou interesse em minhas tartarugas e? Elas conseguem passar por lugares que meu barco nao passa. Mas nessa vida nada e de graca, se quiser viajar sobre minhas tartarugas, tera que fazer um {favor} pra mim.', cid) elseif msgcontains(msg, 'favor') then talkState[talkUser] = 2 selfSay('A muito tempo atras, quando eu ainda era uma crianca, meu pai estava descobrindo novas rotas para que pudesse dar um diferencial aos habitantes de FoxWorld. Em uma destasviagens, ele se deparou com uma criatura de nome Kruha, que dizem ter em abundancia em Bangalore. Meu pai foi morto por um filho da p.. desses.. quero que voce me ajude a extinguir esta especie, me trazendo 1000 olhos de Kruha, sendo que cada um tem 4 olhos. Voce aceita esta quest em troca de viajar com minhas tartarugas quando quiser?', cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then setPlayerStorageValue(cid, storage, 0) talkState[talkUser] = 3 selfSay('Ok foxworldiano, volte aqui com a mochila cheia, que lhe darei o que prometi.', cid) else return false end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) npc.xml
<npc name="Nome do NPC" script="data/npc/scripts/NOME DO ARQUIVO LUA.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="54" head="45" body="67" legs="79" feet="10" addons="1"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME|. Bem-vindo ao meu barco! Eu e minhas {tartarugas}, estamos fazendo {rota} por algumas ilhas tropicais." /> </parameters> </npc> Script Wise adaptado.
Aguardo um retorno.
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc Viagem e MissaoFaço o npc que teleporta inicialmente, em seguida, ele da um storage para o player se ele tiver com a quantidade de itens que ele pediu, a partir daí ele pode viajar quando quiser. Mas qualquer um pode pegar os olhos, se ja for no npc com os itens na mao e falar "favor" e depois falar em seguida ele ja vai recolher os olhos e da a storage de missao pronta pra ele ja que o player ja tem os itens. Serve assim?
-
Admnwso deu reputação a Kemmlly em (Resolvido)Npc Viagem e MissaoHoje a tarde te mando.
-
Admnwso deu reputação a xWhiteWolf em Gran Castle Event (8.54+)troca a linha do broadcast por isso aqui:
if getPlayerGuildId(killer) >= 1 and getPlayerGuildName(killer) then doBroadcastMessage("[Gran Tower] "..getCreatureName(killer).." just destroyed the Gran Tower in the name of the guild ".. getPlayerGuildName(killer) ..", run to destroy the Grand Tower and take it.") else doBroadcastMessage("[Gran Tower] The Gran Aura is with "..getCreatureName(killer)..", run to destroy the Grand Tower and take it.") end
-
Admnwso deu reputação a xWhiteWolf em Glacier Set dando conditions em áreatroca
if canEffect (cPos) and mob ~= 0 and isMonster(mob) then
por
if canEffect (cPos) and mob ~= 0 and isCreature(mob) then
-
Admnwso deu reputação a Vodkart em (Resolvido)Erro ao puxa a lavancar(Quest Anihi)local t = { lvl = 100, entrada = { {x = 710, y = 1420, z = 5}, -- pos players {x = 709, y = 1420, z = 5}, {x = 708, y = 1420, z = 5}, {x = 707, y = 1420, z = 5} }, saida = { {x = 710, y = 1420, z = 6}, -- pos para onde eles irão {x = 709, y = 1420, z = 6}, {x = 708, y = 1420, z = 6}, {x = 707, y = 1420, z = 6} }, monstros = { {{x = 707, y = 1418, z = 6}, "Demon"}, -- defina pos dos montros e nomes {{x = 709, y = 1418, z = 6}, "Demon"}, {{x = 708, y = 1422, z = 6}, "Demon"}, {{x = 710, y = 1422, z = 6}, "Demon"}, {{x = 712, y = 1420, z = 6}, "Hellfire Fighter"}, {{x = 713, y = 1420, z = 6}, "Hellfire Fighter"}, {{x = 711, y = 1420, z = 6}, "Ghazbaran"} } } function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end for _, summon in pairs(t.monstros) do local creature = getTopCreature(summon[1]).uid if(creature > 0 and not isPlayer(creature)) then doRemoveCreature(creature) end doCleanTile(summon[1]) doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada[i], CONST_ME_POFF) doTeleportThing(tid, t.saida[i], false) doSendMagicEffect(t.saida[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end