Tudo que Flavio S postou
- 
	
		
		ADICIONAR NOVO SEXO
		
		Cara aprenda c++ que tu vai saber, ninguém vai ficar fazendo tutorial de como adicionar x coisas na sources, algumas raras exceções.
- 
	
		
		(Resolvido)Spell sumon por level
		
		mas é isso que meu script faz LOL
- 
	
		
		(Resolvido)Spell sumon por level
		
		Assim ? function onCastSpell(cid, var) local config = { max_summons = 1, -- Max de summons pode ser criado... monster_summon = {"Rat", "Dragon", "Dragon Lord", "Demon"}, -- Nome do summon } if #getCreatureSummons(cid) < config.max_summons then if getPlayerLevel(cid) >= 25 and getPlayerLevel(cid) <= 49 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[1], getThingPos(cid))) doCreatureSay(cid, "Cheguei", TALKTYPE_ORANGE_1) elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) <= 74 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[2], getThingPos(cid))) doCreatureSay(cid, "Cheguei", TALKTYPE_ORANGE_1) elseif getPlayerLevel(cid) >= 75 and getPlayerLevel(cid) <= 99 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[3], getThingPos(cid))) doCreatureSay(cid, "Cheguei", TALKTYPE_ORANGE_1) elseif getPlayerLevel(cid) >= 100 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[4], getThingPos(cid))) doCreatureSay(cid, "Cheguei", TALKTYPE_ORANGE_1) end else doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 19, "Voce so pode invocar ".. config.max_summons .. " summons.") end return true end Se o monstro que tu sumonou está te atacando vai no XML do monster e em : <flag convinceable="1"/> coloca 1, vai estar em 0 se ele está te atacando.
- 
	
		
		(Resolvido)Tile muda x item por segundos
		
		local config = { time = 10 -- segundos pos = {x= xxx, y= xxx, z= x}, -- Local onde está a estatua id1 = 1182, -- estatua 1 id2 = 1183, -- estatua 2 storage = 45644 -- storage } function onStepIn(player) if not isPlayer(player) then return false end if getGlobalStorageValue(config.storage) < 1 then doTransformItem(getTileItemById(config.pos, config.id1).uid, config.id2) setGlobalStorageValue(config.storage, 1) addEvent(function() doTransformItem(getTileItemById(config.pos, config.id2).uid, config.id1) setGlobalStorageValue(config.storage, -1) -- body end, time*1000) end setPlayerStorageValue(player, config.storage, 2) return true end function onStepOut(player) if not isPlayer(player) then return false end setPlayerStorageValue(player, config.storage, -1) return true end <movevent type="StepIn" actionid="7777" event="script" value="arquivo.lua"/> <movevent type="StepOut" actionid="7777" event="script" value="arquivo.lua"/> Coloque o actiond 7777 no piso pelo rme.
- 
	
		
		(Resolvido)Spell sumon por level
		
		Ou seja trocar o nome da criatura ? se sim só adicionando essa função na source e fazendo uns POG no script(algo que deixo claro, que eu não farei). https://otland.net/threads/change-existing-monster-name-in-game.131643/
- 
	
		
		Faça sua Zoeira
		
		VIM SÓ PRA FLOODAR ESSE TÓPICO, COM ESSE MEU COMENTÁRIO INÚTIL.
- 
	
		
		(Resolvido)Spell sumon por level
		
		function onCastSpell(cid, var) local config = { max_summons = 1, -- Max de summons pode ser criado... monster_summon = {"Rat", "Dragon", "Dragon Lord", "Demon"}, -- Nome do summon } if #getCreatureSummons(cid) < config.max_summons then if getPlayerLevel(cid) >= 25 and getPlayerLevel(cid) <= 49 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[1], getThingPos(cid))) elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) <= 74 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[2], getThingPos(cid))) elseif getPlayerLevel(cid) >= 75 and getPlayerLevel(cid) <= 99 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[3], getThingPos(cid))) elseif getPlayerLevel(cid) >= 100 then doConvinceCreature(cid, doSummonCreature(config.monster_summon[4], getThingPos(cid))) end else doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 19, "Voce so pode invocar ".. config.max_summons .. " summons.") end return true end
- 
	
		
		[AJUDA] Erro nesse script
		
		Troca : local tile = toPosition:getTile() por : local tile = Player(cid):getTile()
- 
	
		
		(Resolvido)[Pedido] Rank reset
		
		Na verdade o próprio wolf já fez o rank no próprio tópico : http://www.tibiaking.com/forum/topic/33179-sistema-de-reset-100/page-4
- Sublime Text TFS 1.X Auto-Completion
- 
	
		
		Sublime Text TFS 1.X Auto-Completion
		
		Eu estava afim de fazer isso já à algum tempo, mas por conta da preguiça não fiz, ai vasculhando em outro fórum, vi que um membro fez o auto-complete de funções no Sublime Text, uma dos melhores editores de texto para programadores(disponível em todos os OS), e pensei em compartilhar com vocês, todos os créditos fica a merci de Jetro. Para instalar : - Abra o sublime, vá em Preferences, dps em Browse Packages. - Abra a pasta User, e cole o arquivo tfs.sublime-completions no local. - Depois só fechar e abrir o sublime, que estará com o auto-complete. Link tfs.sublime-completions : https://github.com/jangeldevelopment/Sublime-Text-TFS-Autocompletion/archive/master.zip Link do Sublime(pra quem se interessar) : http://www.sublimetext.com/2 GitHub : https://github.com/jangeldevelopment/Sublime-Text-TFS-Autocompletion
- 
	
		
		[VOTAÇÃO] Melhores Classes
		
		seria legal tb, uma classe tipo o avatar, onde a classe em questão dominasse os 4 elementos, fogo, água, terra e ar ...
- 
	
		
		comando talkactions helpme
		
		Fiz minha versão mais simples e fiz outro !stamina pois o do caronte não vai fazer o que o tu pede : local items = { ["!machete"] = {32301, 2420}, ["!shovel"] = {32302, 2554}, ["!rope"] = {32303, 2120}, } function onSay(player, words) for i, v in pairs(items) do if words == i then if getCreatureStorage(player, v[1]) <= os.time() then doCreatureSetStorage(player, v[1], os.time() + (60 * 60 * 24)) doPlayerAddItem(player, v[2], 1) break else doPlayerSendCancel(player, "You need wait " .. math.floor((getCreatureStorage(player, v[1]) - os.time() ) / 60 / 60) .. " hours, to get another ".. string.sub(words, 2) .."." ) return false end end end return false end <talkaction words="!machete;!shovel;!rope" event="script" value="ARQUIVO.lua"/> !stamina : local time = 10 -- 10 Horas function onSay(player, words) if getPlayerStamina(player) <= (60*time) then -- 600 Stamina = 10 Hours doPlayerAddStamina(player, (60*42)) -- 2520 Stamina = 42 Hours doSendMagicEffect(getThingPos(player), CONST_ME_GIFT_WRAPS) else doPlayerSendCancel(player, "Sua stamina deve estar abaixo de " .. time .." horas para o comando ser usado.") end return false end <talkaction words="!stamina" event="script" value="ARQUIVO.lua"/> abrçs
- 
	
		
		(Resolvido)[Ajuda] com sistem vip valendo rep+
		
		local price = 10 -- Diamond's local diamond = 2160 -- ID do diamond. -- Script System Vip 2.2 -- function onSay(cid, words, param) if(words == "!buyvip") then if doPlayerRemoveItem(cid, diamond, price) == TRUE then local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." diamonds para colocar vip.") end elseif(words == "!buyvip60") then if doPlayerRemoveItem(cid, diamond, 18) == TRUE then local days = 60 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." diamonds para colocar vip.") end elseif(words == "!buyvip90") then if doPlayerRemoveItem(cid, diamond, 25) == TRUE then local days = 90 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." diamonds para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return false end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local name = getCreatureName(player) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return false end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") else setPlayerStorageValue(player, 13540, time) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";") doRemoveCreature(player) end end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return false end !buyvip = 30 dias... 10 diamonds !buyvip60 = 60 dias... 18 diamonds !buyvip90 = 90 dias... 25 diamonds
- 
	
		
		Usar Alavanca e Aparecer "X" monstro.
		
		local config = { monster = "Demon", -- Nome do monstro storage = 45644, -- Não mexer pos = {x= xxx, y= xxx, z= xxx}, -- Posição que o monstro vai nascer seconds = 20, -- 20 Segundos } function onUse(player) -- body if getPlayerStorageValue(player, config.storage) <= os.time() then doCreatureSay(player, "A criatura irá aparecer em 10 segundos.", TALKTYPE_ORANGE_1) addEvent(doCreateMonster, 10000, config.monster, config.pos) setPlayerStorageValue(player, config.storage, os.time() + config.seconds) else doCreatureSay(player, "Você só pode sumonar outra criatura após " .. (getPlayerStorageValue(player, config.storage) - os.time()) .. " seconds...", TALKTYPE_ORANGE_1) end return true end
- 
	
		
		tempo no scrpit
		
		60 * 1000 = 1 Minuto. 5 * 60 * 1000 = 5 Minutos.
- 
	
		
		A EQUIPE SOFT GLOBAL PRECISA DE SCRIPTER
		
		Umas tretas meia louca ai rsrsrs, adiciona no skype que te explico dps... eu acho que vou entrar no projeto sim, primeiro conversar com o softglobal pra ver como funciona néh, seria muito bom se tu entra-se tb
- 
	
		
		A EQUIPE SOFT GLOBAL PRECISA DE SCRIPTER
		
		Eu aqui, skype : linus.1759 (sou o summ/linus(ambos banned))...
- 
	
		
		Teu 1° Beijo
		
		Foi quando comecei jogar LOL em meados da season 1, quando conheci um mlk bacana, ai a gente saiu se beijou
- 
	
		
		[VOTAÇÃO] Melhores Classes
		
		- Parabéns Lobo
- (Resolvido)[Pedido/Ajuda] Passar Script Para 8.60local tabela = { -- [level] = type = "item", id = ITEM_ID, id2 = QUANTIDADE, msg = "MENSAGEM"}, -- [level] = type = "addon", id = ID_ADDON_FEMALE, id2 = ID_ADDON_MALE, msg = "MENSAGEM"}, [20] = {type = "item", id = 2160, id2 = 2, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"}, [40] = {type = "addon", id = 136, id2 = 128, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"}, } local storage = 15000 function onAdvance(cid, skill, oldLevel, newLevel) if skill == 8 then for level, value in pairs(tabela) do if newLevel == level and getPlayerStorageValue(cid, storage) < level then if value.type == "item" then doPlayerAddItem(cid, value.id, value.id2) elseif value.type == "addon" then doPlayerAddOutfit(cid, value.id, 3) doPlayerAddOutfit(cid, value.id2, 3) end doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, value.msg) setPlayerStorageValue(cid, storage, level) end end end return true end function onLogin(player) registerCreatureEvent(player, "Rewards") -- body return true end <event type="advance" name="Rewards" event="script" value="rewards.lua"/> <event type="login" name="VerfRewards" event="script" value="rewards.lua"/>
- Parabéns Lobo@xWhiteWolf
- Fatos Desconhecidose quem não garante que eu to pior que o mlk ? e.e to zuando n e pra mim não muda nada tibia é mais importante vlws flws ps: nem ligo pra tibia tb HUEHEUH
- Fatos DesconhecidosFODA-SE tibia é mais importante HUEHEUHEH
Informação Importante
Confirmação de Termo
 
     
     
     
     
			
				 
				