
Histórico de Curtidas
-
crisin38012 recebeu reputação de martimtiburcio em (Resolvido)[PEDIDO] Spell de buff em areaAssim que voce queria ?
Aqui o tempo q vai durar aqui no caso esta 15 minutos
local tempo = 15 * 60 * 1000 local tempo = 15 * 60 * 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 100) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN,300) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS,2000) setConditionParam(condition, CONDITION_PARAM_MANAGAIN,300) setConditionParam(condition, CONDITION_PARAM_MANATICKS,2000) setCombatCondition(combat, condition) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
crisin38012 deu reputação a Natanael Beckman em DEV C++ Compilando TFS no WindowsDEV C++, aprenda a compila uma source TFS!
Downloads(Baixe de acordo as configurações do seu windows):
DEV C++ CONFIGURADO PARA 32BITS
DEV C++ CONFIGURADO PARA 64BITS
REV 3884 TFS 0.4
Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos.
======================================
Abra o DEV C++:
======================================
======================================
Abra a Source:
======================================
======================================
Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev:
======================================
=============================================================
======================================
Aguarde carregar todos os arquivos:
======================================
======================================
Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK:
======================================
======================================
Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo:
======================================
======================================
Se der tudo certo em Log vai estar como mostra a imagem abaixo:
======================================
======================================
Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou!
======================================
===========================================
Só isso galera tutorial rápido resumido e útil!
Créditos Natanael Beckman!
===========================================
Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar:
Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone.
Abra o DEV-C++, clique em File> New> Project:
Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos:
Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp.
No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros:
-D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs:
-lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK. Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project: Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9: OpenSSL 0.9.8 1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa!
Clica aqui \/ -
crisin38012 deu reputação a Thiago Virtuoso em [Action#+#] Teleport que teleporta aleatoriamente.Seria isso?
http://www.tibiaking.com/forum/topic/25474-teleporte-random/ -
crisin38012 recebeu reputação de JonatasLucasf em NPC NATALAssim que voce quer ?
Script do presente vá em data/actions/scripts/crie um arquivo com nome presente.lua e cole isso dentro
function onUse(cid, item, fromPosition, itemEx, toPosition) local rand = math.random(0, 24) local lotteryid = 1990 if item.itemid == lotteryid then if rand == 0 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 1 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2506,1) doRemoveItem(cid, item.uid, 1) elseif rand == 2 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2469,1) doRemoveItem(cid, item.uid, 1) elseif rand == 3 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2492,1) doRemoveItem(cid, item.uid, 1) elseif rand == 4 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 5958,1) doRemoveItem(cid, item.uid, 1) elseif rand == 5 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2472,1) doRemoveItem(cid, item.uid, 1) elseif rand == 6 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2470,1) doRemoveItem(cid, item.uid, 1) elseif rand == 7 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 8 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 9 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 10 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 11 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 12 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 13 then end end return TRUE end Aqui vc coloca o id ea quantidade do item q vc quer q ganhe
doPlayerAddItem(cid, 2160,1) Aqui o id do presente mais n ira presisar pq ai ja ta
local lotteryid = 1990 Add isso no actions.xml
<action itemid="1990" event="script" value="present.lua"/> Agora o NPC vá em data/npcs/crie um arquivo chamado Papai noel.xml e cole isso dentro
<?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/natal.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="69" head="0" body="0" legs="0" feet="0" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. diga {presente} para receber seu presente." /> </parameters> </npc> agora em npcs/scripts/crie um arquivo chamado natal.lua e cole isso dentro
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local qua = 1 -- quantos item que vai precisa pra troca local troca = 6512 -------------- id do item que vai ser trocado local id = 1990 --- id do item que vai ganhar dps da troca 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 msgcontains(msg, 'presente') then if doPlayerRemoveItem(cid,troca,qua) then doPlayerAddItem(cid,id,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "aqui esta") -- edita aqui else doPlayerSendCancel(cid,"Você não possui o item santa doll.") -- edita aqui end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -
crisin38012 recebeu reputação de Thiago Virtuoso em (Resolvido)[PEDIDO] Spell de buff em areaAssim que voce queria ?
Aqui o tempo q vai durar aqui no caso esta 15 minutos
local tempo = 15 * 60 * 1000 local tempo = 15 * 60 * 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 100) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN,300) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS,2000) setConditionParam(condition, CONDITION_PARAM_MANAGAIN,300) setConditionParam(condition, CONDITION_PARAM_MANATICKS,2000) setCombatCondition(combat, condition) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
crisin38012 recebeu reputação de Thiago Virtuoso em NPC NATALAssim que voce quer ?
Script do presente vá em data/actions/scripts/crie um arquivo com nome presente.lua e cole isso dentro
function onUse(cid, item, fromPosition, itemEx, toPosition) local rand = math.random(0, 24) local lotteryid = 1990 if item.itemid == lotteryid then if rand == 0 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 1 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2506,1) doRemoveItem(cid, item.uid, 1) elseif rand == 2 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2469,1) doRemoveItem(cid, item.uid, 1) elseif rand == 3 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2492,1) doRemoveItem(cid, item.uid, 1) elseif rand == 4 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 5958,1) doRemoveItem(cid, item.uid, 1) elseif rand == 5 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2472,1) doRemoveItem(cid, item.uid, 1) elseif rand == 6 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2470,1) doRemoveItem(cid, item.uid, 1) elseif rand == 7 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 8 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 9 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 10 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 11 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 12 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 13 then end end return TRUE end Aqui vc coloca o id ea quantidade do item q vc quer q ganhe
doPlayerAddItem(cid, 2160,1) Aqui o id do presente mais n ira presisar pq ai ja ta
local lotteryid = 1990 Add isso no actions.xml
<action itemid="1990" event="script" value="present.lua"/> Agora o NPC vá em data/npcs/crie um arquivo chamado Papai noel.xml e cole isso dentro
<?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/natal.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="69" head="0" body="0" legs="0" feet="0" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. diga {presente} para receber seu presente." /> </parameters> </npc> agora em npcs/scripts/crie um arquivo chamado natal.lua e cole isso dentro
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local qua = 1 -- quantos item que vai precisa pra troca local troca = 6512 -------------- id do item que vai ser trocado local id = 1990 --- id do item que vai ganhar dps da troca 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 msgcontains(msg, 'presente') then if doPlayerRemoveItem(cid,troca,qua) then doPlayerAddItem(cid,id,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "aqui esta") -- edita aqui else doPlayerSendCancel(cid,"Você não possui o item santa doll.") -- edita aqui end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -
crisin38012 recebeu reputação de Sanieg em NPC NATALAssim que voce quer ?
Script do presente vá em data/actions/scripts/crie um arquivo com nome presente.lua e cole isso dentro
function onUse(cid, item, fromPosition, itemEx, toPosition) local rand = math.random(0, 24) local lotteryid = 1990 if item.itemid == lotteryid then if rand == 0 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 1 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2506,1) doRemoveItem(cid, item.uid, 1) elseif rand == 2 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2469,1) doRemoveItem(cid, item.uid, 1) elseif rand == 3 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2492,1) doRemoveItem(cid, item.uid, 1) elseif rand == 4 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 5958,1) doRemoveItem(cid, item.uid, 1) elseif rand == 5 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2472,1) doRemoveItem(cid, item.uid, 1) elseif rand == 6 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2470,1) doRemoveItem(cid, item.uid, 1) elseif rand == 7 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 8 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 9 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 10 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 11 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 12 then doCreatureSay(cid, "Present!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, 2160,1) doRemoveItem(cid, item.uid, 1) elseif rand == 13 then end end return TRUE end Aqui vc coloca o id ea quantidade do item q vc quer q ganhe
doPlayerAddItem(cid, 2160,1) Aqui o id do presente mais n ira presisar pq ai ja ta
local lotteryid = 1990 Add isso no actions.xml
<action itemid="1990" event="script" value="present.lua"/> Agora o NPC vá em data/npcs/crie um arquivo chamado Papai noel.xml e cole isso dentro
<?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/natal.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="69" head="0" body="0" legs="0" feet="0" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. diga {presente} para receber seu presente." /> </parameters> </npc> agora em npcs/scripts/crie um arquivo chamado natal.lua e cole isso dentro
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local qua = 1 -- quantos item que vai precisa pra troca local troca = 6512 -------------- id do item que vai ser trocado local id = 1990 --- id do item que vai ganhar dps da troca 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 msgcontains(msg, 'presente') then if doPlayerRemoveItem(cid,troca,qua) then doPlayerAddItem(cid,id,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "aqui esta") -- edita aqui else doPlayerSendCancel(cid,"Você não possui o item santa doll.") -- edita aqui end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -
crisin38012 recebeu reputação de igorppbr em (Resolvido)[PEDIDO] Spell de buff em areaAssim que voce queria ?
Aqui o tempo q vai durar aqui no caso esta 15 minutos
local tempo = 15 * 60 * 1000 local tempo = 15 * 60 * 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 100) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN,300) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS,2000) setConditionParam(condition, CONDITION_PARAM_MANAGAIN,300) setConditionParam(condition, CONDITION_PARAM_MANATICKS,2000) setCombatCondition(combat, condition) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
crisin38012 deu reputação a xWhiteWolf em (Resolvido)Clean em determinada posiçãotroca function onThink(cid, interval, lastExecution) pelo callback da talkaction, e depois troca o script de pasta e adiciona no talkactions.xml.
-
crisin38012 deu reputação a xWhiteWolf em Mining Systemdá ué..
terra = {65783} . . . isInArray(terra, itemEx.uid) agora só vai dar pra minerar nos pisos que tiverem unique id 65783.
A constante de level é o seguinte.. a fórmula da experiência necessária é level²/k (level ao quadrado dividido por k). Se vc quer upar nivel 70 vc precisa minerar 70*70/k que da 2450 vezes.