-
Total de itens
12 -
Registro em
-
Última visita
Tudo que Blazingfire postou
-
[Encerrado]Poketibia Perfect [RECRUTAMENTO]
tópico respondeu ao XxMaSTeRPoSTxX de Blazingfire em Formação de Equipes
Nome: Lucca Vinicius. Idade: 15 anos. Cargo: Scripter. Skype: soulofdeath8 Horas que podem ser dedicadas ao Projeto: 5h/dia ou mais (nas férias). Nível de Experiência: mais de 5 anos. Anexar algum trabalho 100% seu: [clica aqui] Já trabalhou em algum outro servidor: Já tive meus próprios servidores e já fiz vários scripts para outros servidores. Adicional: Andei meio inativo na comunidade e faz um bom tempo que não mexo com Poketibia, mas scripting é sempre scripting xD -
Eu particulamente não curto bots, começei fazendo o programa para uso próprio mas achei que pudesse ser útil e mais prático para alguns jogadores...
-
Fiz esse programa pra salvar minhas hotkeys e configurações de cada char e versão do jogo, já que muitos servers não tem client próprio e todas as versões do client do Tibia usam o mesmo arquivo CFG para armazenar as configurações do jogo. Tibia CM.rar Scan: clique aqui Senha para extrair: xtibia
-
Na pasta actions, abra o arquivo actions.xml e coloque junto com as outras: <action uniqueid="UNIQUEID" script="troca.lua" /> Aonde está "UNIQUEID" você deve colocar o número que desejar. Depois entre na pasta scripts, crie um arquivo .lua com o nome de troca e coloque isso dentro: function onUse(cid, item, frompos, item2, topos) -- criado por blazingfire. ------------------------------------------------ local itens = {item1,item2} -- id dos itens do jogador. local newitem = item -- id do item que ele irá ganhar. local success = "Troca efetuada com sucesso!" local fail = "Você não tem os itens necessários para realizar a troca." ------------------------------------------------ for _, playeritens in pairs(itens) do if doPlayerRemoveItem(cid,playeritens) then doPlayerAddItem(cid,newitem) doPlayerSendTextMessage(cid,22,success) else doPlayerSendTextMessage(cid,22,fail) end return TRUE end end Aí dentro do script você configura os itens.
-
[Talkaction] Usar Só Se Tiver Certa Storage
tópico respondeu ao CoLoRaDo de Blazingfire em Lixeira Pública
Caramba.. Agora, se não funcionar é porque o seu vip system é diferente do qual estou pensando, passa o script dele por pm pra eu ver. Tente esse: --50% kung lao %50 Vodkart function onSay(cid, words, param) local S = { [3] = {price = 1000000,cobrar = true,msg = "Você perdeu seu white skull e frags.", premium = true}, [4] = {price = 3000000,cobrar = true,msg = "Você perdeu seu red skull e frags", premium = true}, [5] = {price = 5000000,cobrar = true,msg = "Você perdeu seu black skull e frags", premium = true}, } local storage = 88888 local skull = S[getCreatureSkullType(cid)] if(not skull) then doPlayerSendCancel(cid,"Você nao está com nenhum tipo de skull.") return TRUE elseif skull.premium == true and not isPremium(cid) then doPlayerSendCancel(cid,"Apenas players premium podem remover skull.") return TRUE elseif skull.cobrar == true and doPlayerRemoveMoney(cid, skull.price) == FALSE then doPlayerSendCancel(cid,"Você não tem " .. skull.price .. " gps para remover sua skull.") doSendMagicEffect(getPlayerPosition(cid), 2) return TRUE elseif getPlayerStorageValue(cid,storage) - os.time() <= 0 then doPlayerSendCancel(cid,"Você precisa ser vip para remover sua skull.") return TRUE end db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid, 0) doRemoveCreature(cid) doPlayerSendTextMessage(cid, 22,skull.msg) doSendMagicEffect(getPlayerPosition(cid), 26) return TRUE end -
[Talkaction] Usar Só Se Tiver Certa Storage
tópico respondeu ao CoLoRaDo de Blazingfire em Lixeira Pública
--50% kung lao %50 Vodkart function onSay(cid, words, param) local S = { [3] = {price = 1000000,cobrar = true,msg = "Você perdeu seu white skull e frags.", premium = true}, [4] = {price = 3000000,cobrar = true,msg = "Você perdeu seu red skull e frags", premium = true}, [5] = {price = 5000000,cobrar = true,msg = "Você perdeu seu black skull e frags", premium = true}, } local storage = 88888 local skull = S[getCreatureSkullType(cid)] if(not skull) then doPlayerSendCancel(cid,"Você nao está com nenhum tipo de skull.") return TRUE elseif skull.premium == true and not isPremium(cid) then doPlayerSendCancel(cid,"Apenas players premium podem remover skull.") return TRUE elseif skull.cobrar == true and doPlayerRemoveMoney(cid, skull.price) == FALSE then doPlayerSendCancel(cid,"Você não tem " .. skull.price .. " gps para remover sua skull.") doSendMagicEffect(getPlayerPosition(cid), 2) return TRUE elseif getPlayerStorageValue(cid,storage) - os.time() <= 0 then doPlayerSendCancel(cid,"Você precisa ser vip para remover sua skull.") end db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid, 0) doRemoveCreature(cid) doPlayerSendTextMessage(cid, 22,skull.msg) doSendMagicEffect(getPlayerPosition(cid), 26) return TRUE end Ei, o outro que continua com problema, tente fazer isso: Substitua if (config.vip == "yes") and getPlayerStorageValue(cid,config.storage) - os.time() <= 0 then Por if getPlayerStorageValue(cid,config.storage) - os.time() <= 0 then -
[Talkaction] Usar Só Se Tiver Certa Storage
tópico respondeu ao CoLoRaDo de Blazingfire em Lixeira Pública
Entre na pasta lib e abra o arquivo 050-function, e coloque isso em qualquer lugar: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end Agora pode testar o script.. -
[Talkaction] Usar Só Se Tiver Certa Storage
tópico respondeu ao CoLoRaDo de Blazingfire em Lixeira Pública
@Mulizeu, não precisa disso tudo. @ADM_Forever, tente esse: local config = { vip = "yes", priceForEachMessage = 0, storage = 88888 } function onSay(cid, words) if not getHouseByPlayerGUID(getPlayerGUID(cid)) then if (config.vip == "yes") and getPlayerStorageValue(cid,config.storage) - os.time() <= 0 then doPlayerSendCancel(cid,"Você não possui vip.") return TRUE end function isWalkable(pos, creature, proj, pz) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end return doPlayerSendCancel(cid, "Voce nao tem casa.") end local pos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) if getCreatureCondition(cid, CONDITION_INFIGHT) then return doPlayerSendCancel(cid, "Voce tem que estar sem battle.") end if not getTilePzInfo({x=pos.x-1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x-1, y=pos.y, z=pos.z}) then pos = {x=pos.x-1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x+1, y=pos.y, z=pos.z}) and isWalkable({x=pos.x+1, y=pos.y, z=pos.z}) then pos = {x=pos.x+1, y=pos.y, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y+1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y+1, z=pos.z}) then pos = {x=pos.x, y=pos.y+1, z=pos.z} elseif not getTilePzInfo({x=pos.x, y=pos.y-1, z=pos.z}) and isWalkable({x=pos.x, y=pos.y-1, z=pos.z}) then pos = {x=pos.x, y=pos.y-1, z=pos.z} end doTeleportThing(cid, pos) end -
Nome: Lucca Vinicius. Idade: 13. Tempo De Experiência: 3 anos e 8 meses. Tempo dísponivel ao dia: 5 horas por dia, final de semana 8 horas. Area: Scripting. Mostre Algum trabalho: Tá na minha assinatura.
-
[Windows 7] Criando Um Servidor + Ip Fixo + Conta God.
tópico respondeu ao Blazingfire de Blazingfire em Lixeira Pública
Entra aqui: http://vapus.net/canihost Entra em www.meuip.com.br, vai aparecer o seu ip, pega esse ip, bota no outro site e clica em "Can I host?" Se ele mostrar que os jogadores não podem entrar no jogo você tem que desbloquear as portas 7171 e 7172 do seu roteador, aqui no forum tem tutorial ensinando a fazer isso. -
Não vi nenhuma função assim então fis . Essa função verifica a condição de battle do jogador: function isInBattle(cid) -- blazingfire return isPlayer(cid) and getCreatureCondition(cid, CONDITION_INFIGHT) end Exemplo de uso por talkaction: function onSay(cid, words, param) local speed = 100 if isInBattle(cid) == TRUE then doPlayerSendCancel(cid,"Você não pode fazer isso enquanto batalha.") else doPlayerSendCancel(cid,"Sua velocidade foi modificada!") doChangeSpeed(cid, speed) end return TRUE end
-
Aqui no fórum ja tem esse script basta pegar e configurá-lo.
-
Esse aqui é melhor, não precisa de baú, o jogador já começa com eles: Abra o arquivo creaturescripts.xml e coloque essa tag: <event type="login" name="FirstItems" event="script" value="firstitems.lua"/> Entre na pasta scripts, crie um novo arquivo .lua com o nome de firstitems e coloque isso dentro: local commonItems = { {itemid=2120, count=1}, -- rope {itemid=5710, count=1}, -- shovel {itemid=2160, count=1}, -- 10k {itemid=2173, count=1}, -- aol {itemid=2789, count=10}, -- brown mushrooms } local firstItems = { { -- SORC ITEMS {itemid=2323, count=1}, -- hat of the mad {itemid=8870, count=1}, -- spirit cloak {itemid=2647, count=1}, -- plate legs {itemid=3982, count=1}, -- crocodile boots {itemid=2175, count=1}, -- spellbook {itemid=2190, count=1}, -- wand of vortex {itemid=2268, count=1}, -- sd {itemid=2273, count=1}, -- uh {itemid=7620, count=1}, -- mapa potions }, { -- DRUID ITEMS {itemid=2323, count=1}, -- hat of the mad {itemid=8870, count=1}, -- spirit cloak {itemid=2647, count=1}, -- plate legs {itemid=3982, count=1}, -- crocodile boots {itemid=2175, count=1}, -- spellbook {itemid=2182, count=1}, -- snakebite rod {itemid=2268, count=1}, -- sd {itemid=2273, count=1}, -- uh {itemid=7620, count=1}, -- mana potion }, { -- PALADIN ITEMS {itemid=2457, count=1}, -- steel helmet {itemid=8872, count=1}, -- belted cape {itemid=2647, count=1}, -- plate legs {itemid=3982, count=1}, -- crocodile boots {itemid=2525, count=1}, -- dwarven shield {itemid=2389, count=1}, -- spear {itemid=2268, count=1}, -- sd {itemid=2273, count=1}, -- uh {itemid=7620, count=1}, -- mana potion }, { -- KNIGHT ITEMS {itemid=2457, count=1}, -- steel helmet {itemid=2463, count=1}, -- plate armor {itemid=2647, count=1}, -- plate legs {itemid=3982, count=1}, -- crocodile boots {itemid=2525, count=1}, -- dwarven shield {itemid=2409, count=1}, -- serpent sword {itemid=2428, count=1}, -- orcish Axe {itemid=2417, count=1}, -- battle hammer {itemid=7620, count=1}, -- mana potion {itemid=2273, count=1}, -- uh } } for _, items in ipairs(firstItems) do for _, item in ipairs(commonItems) do table.insert(items, item) end end function onLogin(cid) if getPlayerGroupId(cid) < 2 then local hasReceivedFirstItems = getPlayerStorageValue(cid, 67708) if hasReceivedFirstItems == -1 then --[[local backpack = ]]doPlayerAddItem(cid, 1988, 1) local giveItems = firstItems[getPlayerVocation(cid)] if giveItems ~= nil then for _, v in ipairs(giveItems) do --doAddContainerItem(backpack, v.itemid, v.count or 1) doPlayerAddItem(cid, v.itemid, v.count or 1) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem Vindo você acaba de receber seus primeiros equipamentos,e promotion automaticamente") setPlayerStorageValue(cid, 67708, 1) end end end return TRUE end
-
Ei, será que você pode fazer um tutorial de como usar a função os.time()? To precisando muito aprender ou então terei de pesquisar em outros lugares.
-
[Windows 7] Criando Um Servidor + Ip Fixo + Conta God.
tópico respondeu ao Blazingfire de Blazingfire em Lixeira Pública
Hm, eu não sabia disso não, obrigado por avisar, irei atualizar o tópico. Post atualizado, agora como criar uma conta GOD -
[Windows 7] Criando Um Servidor + Ip Fixo + Conta God.
um tópico no fórum postou Blazingfire Lixeira Pública
Bom, fis esse tutorial completo de como criar o seu servidor com ip fixo, especialmente para os usuários do windows 7, o tutorial é rápido e fácil de se entender, vamos lá: Caso a sua internet seja via-rádio ou compartilhada, pegue a marca do seu roteador, o número de série e procure um tutorial de como desbloquear as portas do seu roteador clicando aqui. 1º- Deve baixar um servidor que lhe agrade clicando aqui, e que também não seja muito antiga, eu recomendo as versões de 8.60 até 8.70. 2º- Deve ter um IP Changer com suporte á versão do seu servidor, um programa chamado Sqlite Studio para editar as contas do servidor e caso você queira fazer mudanças no Mapa do seu servidor deverá baixar o Remeres Map Editor com suporte a sua versão, para baixar tudo isso clique aqui e dê uma procurada. :smile_positivo: 3º- Depois de ter feito tudo isso, vamos começar a aprontar tudo para ligar o seu servidor, primeiro, vá até o Menu Iniciar e abra o Painel de Controle, como mostra a imagem abaixo: Depois, entre em Sistema e Segurança, Firewall do Windows, Configurações Avançadas e em Regras de Entrada, como mostram as próximas imagens: Agora clique em Nova Regra e faça exatamente oque as imagens mostram: Agora chegou a hora de criar o ip fixo do seu servidor, entre no site www.no-ip.com, cadastre-se e confirme a sua conta através do seu e-mail: Depois, entre na conta, aparecerá uma página com várias opções, clique em Add a Host, aparecerá a seguinte página: Em Hostname, coloque um nome para o seu ip fixo, ao lado, clique na setinha e escolha o final do ip fixo, depois clique em Create Host. Pronto, o ip fixo para o seu servidor está feito! Agora, vamos ligar o ip fixo para os outros poderem entrar no servidor por ele, para isso vamos precisar instalar um simples programa, volte até o site www.no-ip.com, clique na aba Download, clique em Windows e em Download, como mostram as figuras a seguir: Quando terminar de baixá-lo, instale-o, abra-o e faça o login, quando fizer o login automaticamente surgirá uma tela com o seu ip fixo, ótimo, marque a caixinha ao lado dele e clique em Save, pronto, o seu ip fixo está ligado! Entre na pasta do servidor, abra o arquivo config.lua Pressione CTRL + F e no espaço vazio digite ip =, depois clique em Localizar Próxima, substitua o ip entre as aspas por 127.0.0.1, vai ficar assim: Agora somente você conseguirá entrar no servidor para fazer os seus ajustes, pelo ip 127.0.0.1 Quando você quiser deixá-lo online para o público, substitua o 127.0.0.1 pelo ip fixo que você criou, deverá ficar assim: Agora vamos criar a sua conta GOD, abra o Sqlite Studio: Clique no botão Add Database e clique na pastinha ao lado: Apareceu uma tela, certo? Através dela, entre na pasta do seu servidor, selecione o arquivo .s3db e clique em Ok Uma aba apareceu no espaço vazio do lado esquerdo, certo? Abra ela, abra a aba Tables, a aba accounts e a aba players: Caso só tenha 1 conta na lista (1/1), você deve criar outra pelo seu servidor, voltar no Sqlite Studio e dar Refresh (O primeiro botão). Caso tenha uma segunda conta, em name você deve colocar a sua account name para entrar no jogo e em password a senha da conta, depois você clica no botão :button_ok: . Depois, na aba players, em name você deve colocar o nome do seu GOD, aí você pergunta: mas oquê bota em group_id? Fácil: 6 - GOD 5 - Comunity Manager (CM) 4 - Game Master (GM) 3 - Senior Tutor 2 - Tutor 1 - Player Então você deve colocar 6 em group_id, depois você clica no botão :button_ok: . Pronto, agora é só você entrar na sua conta GOD! Bom, isso é tudo pessoal! Boa sorte com o servidor, até mais! -
Muito bom, eu sempre me perguntava para quê servia o stackpos quando eu via uma tabela com positions.
-
Esse erro acontece quando o servidor não consegue encontrar a npc em seu respectivo diretório, verifique se não mudou o nome da npc ou algo do tipo.
-
[Globalevent] Cria Backpack Com Itens No Mapa.
um tópico no fórum postou Blazingfire Globalevents e Spells
Versão testada: 8.60 Script que, de tempo em tempo, cria uma backpack no lugar desejado com os itens que você quiser dentro, mas infelizmente só funciona com itens únicos: Na pasta globalevents, abra o arquivo globalevents.xml e coloque essa tag: <globalevent name="findtheitens" interval="3600" script="findtheitens.lua"/> Depois abra a pasta scripts, crie um arquivo .lua com o nome findtheitens e coloque isso dentro: function onThink(interval, lastExecution) -- Atenção! Não configure o intervalo do evento próximo ao intervalo do clean do servidor! -- Script feito por blazingfire. (xtibia.com) ------------------------------------------ local backpack = 2365 -- ID da backpack. (2365 = Backpack of Holding) local itemids = {2160, 2152, 2148} -- ID dos itens que você quer dentro da backpack. local position = {x = 1, y = 2, z = 3} -- Posição no mapa onde a backpack com os itens será criada. local message = "Uma backpack contendo itens apareceu em algum lugar." ------------------------------------------ local container = doCreateItem(backpack,1,position) for _, itens in pairs(itemids) do doAddContainerItem(container,itens,1) doBroadcastMessage(message) end return TRUE end As instruções para configurar estão no script. Mudando o intervalo do script: -
Cometi um erro, aí está: function onUse(cid, item, frompos, item2, topos) local pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,999) == 1 then doPlayerSendCancel(cid, 'Your flashlight is disabled.') doSetCreatureLight(cid, 0) setPlayerStorageValue(cid,999,0) else setPlayerStorageValue(cid,999,1) doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid, 'Your flashlight is enabled.') doSetCreatureLight(cid, 11, 205, (60*33+10)*1000) end return TRUE end
-
[Pedido] Talkaction Como Colocar Uma ?
tópico respondeu ao elitevini de Blazingfire em Lixeira Pública
Na pasta do seu ot, crie um arquivo .txt com o nome de infopet, e coloque oque você quer que apareça dentro. Entra na pasta talkactions e abra o arquivo talkactions.xml Adicione essa tag: <talkaction words="!infopet" event="script" value="infopet.lua"/> Depois entre na pasta scripts e crie um arquivo .lua com o nome infopet, coloque isso dentro: function onSay(cid, words, param) file = io.open('infopet.txt','r') infopet = file:read(-1) doShowTextDialog(cid,7528,infopet) file:close() return TRUE end Pronto. Se tiver como dar REP+ eu agradeço. -
Tente isso: function onUse(cid, item, frompos, item2, topos) local pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,999) == 1 then doPlayerSendCancel(cid, 'Your flashlight is disabled.') doSetCreatureLight(cid, 0) else setPlayerStorageValue(cid,999,1) doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid, 'Your flashlight is enabled.') doSetCreatureLight(cid, 11, 205, (60*33+10)*1000) end return TRUE end Se funcionar da REP+?
-
Retirado.
-
Me interessei no seu projeto, achei muito legal a idéia de vida virtual! Se precisar, sou ótimo Administrador e sou Scripter á quase 4 anos (além de ser novo no fórum), já tive um servidor e já fui tutor em um global (passei em um concurso), meu MSN é luccavinicius.steam@hotmail.com
-
Tente isso: function onDeath(cid, corpse, killer) registerCreatureEvent(cid, "bluelegs") ----------------------------------------------------------------------- local creaturename = getCreatureName(target) local battle_position = {x=33271, y=32407, z=12, stackpos=2} local reward_position = {x=33266, y=32446, z=12, stackpos=1} local time_to_pass = 180 local teleport = 5023 local doEffect = CONST_ME_ENERGYHIT local message = "You have only 3 minutes to enter the teleport!" ----------------------------------------------------------------------- if creaturename == 'Koshei The Deathless' then doCreateTeleport(teleport, reward_position, battle_position) doSendMagicEffect(battle_position, doEffect) doCreatureSay(cid,message,TALKTYPE_ORANGE_1) addEvent(removeteleport, (1000*time_to_pass)) end function removeteleport() if getThingfromPos({x=33271, y=32407, z=12, stackpos=1}).itemid == teleport then doRemoveItem(getThingfromPos({x=33271, y=32407, z=12, stackpos=1}).uid,1) doSendMagicEffect({x=33271, y=32407, z=12, stackpos=1}, CONST_ME_POFF) end return TRUE end end Se não funcionar avisa.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.