Histórico de Curtidas
-
rngomes 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 \/ -
rngomes deu reputação a vankk em [EVENT 0.4] MASSIVE TEAM BATTLEEu tinha esse evento muito tempo aqui no meu Pen Drive (para ser mais específico 4 anos), eu vou mudar ele para 1.2 amanha, entao nao me interessa a versao 0.4 mais. Nao sei se esta funcionando, nao tenho mapa. E nao vou explicar configuracoes, se voce nao souber configurar esse evento, voce nao merece te-lo em seu servidor!! Entao esta ai o code:
login.luaregisterCreatureEvent(cid, "TBEventC") registerCreatureEvent(cid, "TBEventS") registerCreatureEvent(cid, "TBEventO") tb.lualocal config = { base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}}, -- team1 base, team2 base teamStorage = 49595, fragStorage = {49596, 49597} } function addFrag(id) return setGlobalStorageValue(config.fragStorage[id], math.max(1, (getGlobalStorageValue(config.fragStorage[id])+1))) end function getFragsTB(id) return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id]) end function getTeam(cid) return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage) end function onCombat(cid, target, lastHit, flags) if not(isPlayer(cid)) or not(isPlayer(target)) then return true end if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(target) then return doPlayerSendCancel(cid, "You may not attack teammates.") and false end return true end function onStatsChange(cid, attacker, type, combat, value) if combat == COMBAT_HEALING then return true end if not(isPlayer(cid)) or not(isPlayer(attacker)) then return true end if isMonster(attacker) and getTeam(cid) ~= 0 then return false end if isMonster(attacker) then return true end if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(attacker) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You may not attack teammates.") and false elseif getTeam(cid) == 0 then return true end if type ~= STATSCHANGE_HEALTHLOSS then return true end if value >= getCreatureHealth(cid) then doTeleportThing(cid, config.base[getTeam(cid)]) doSendMagicEffect(getThingPos(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) addFrag(getTeam(attacker)) doPlayerSendTextMessage(attacker, MESSAGE_INFO_DESCR, "You killed ".. getPlayerName(cid) .." and earned a frag for your team. Your team now has ".. getFragsTB(getTeam(attacker)) .. " frags.") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You were owned by ".. getPlayerName(attacker) ..".") return false end return true end function onOutfit(cid, old, current) if getTeam(cid) ~= 0 then return doPlayerSendCancel(cid, "You cannot change your outfit here.") and false end return true end globalevents
tbevent.lualocal config = { tpPos = {x=92,y=118,z=7}, -- where tp happends tpToPos = {x=130,y=130,z=7}, -- tp p onde minutes = 1, -- minute area = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of fight area waiting = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of waiting arena needed = 2, -- minimum players timeToEnd = 30*1000, -- time to end base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}}, -- team1 base, team2 base names = {"Alliance", "Horde"}, -- team names outfit = {{132, 136, 40},{132, 136, 160}}, -- outfits teamStorage = 49595, fragStorage = {49596, 49597}, fragsToWin = 3, -- frags to win outfitStorage = 49598 } function getFragsTB(id) return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id]) end function getTeam(cid) return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage) end function setTeam(cid, team) local o = getCreatureOutfit(cid) setPlayerStorageValue(cid, config.outfitStorage, "{lookType=" .. o.lookType .. ", lookHead=" .. o.lookHead .. ", lookAddons=" .. o.lookAddons .. ", lookLegs=" .. o.lookLegs .. ", lookBody="..o.lookBody .. ", lookFeet=".. o.lookFeet.."}") doCreatureChangeOutfit(cid, {lookType = config.outfit[team][getPlayerSex(cid)+1], lookHead = config.outfit[team][3], lookAddons = 3, lookLegs = config.outfit[team][3], lookBody = config.outfit[team][3], lookFeet = config.outfit[team][3]}) return setPlayerStorageValue(cid, config.teamStorage, team) end function winner(id) if isInArray({1,2}, id) then doBroadcastMessage(config.names[id] .. " has won the Team Battle event.") for _, cid in pairs(getPlayersOnline()) do if getTeam(cid) == id then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has won the Team Battle event.") local rand = math.random(1,3) if rand == 1 then doPlayerAddItem(cid, SOFTBOOTS_ID, 1) elseif rand == 2 then doPlayerAddItem(cid, 2160, 10) else doAddPoints(cid, 5) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has lost the Team Battle event.") end end else doBroadcastMessage("No one won the Team Battle event. DRAW") end for _, cid in pairs(getPlayersOnline()) do if getTeam(cid) ~= 0 then doTeleportThing(cid, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(cid), 10) setPlayerStorageValue(cid, config.teamStorage, -1) setGlobalStorageValue(5474578, -1) doCreatureChangeOutfit(cid, loadstring("return " .. getPlayerStorageValue(cid, config.outfitStorage))()) end end end function areaPlayers(c) local t = {} for x = c[1].x, c[2].x do for y = c[1].y, c[2].y do for z = c[1].z, c[2].z do local tmp = getThingFromPos({x=x,y=y,z=z,stackpos=253}) if tmp.uid > 0 and (isPlayer(tmp.uid)) then table.insert(t, tmp.uid) end end end end return t end function endTB(z) if z >= config.timeToEnd then local w = getFragsTB(1) == getFragsTB(2) and 3 or getFragsTB(1) > getFragsTB(2) and 1 or 2 return winner(w) elseif getFragsTB(1) ~= getFragsTB(2) then if getFragsTB(1) >= config.fragsToWin then return winner(1) elseif getFragsTB(2) >= config.fragsToWin then return winner(2) end end addEvent(endTB, 25, z+25) end function setTeams(cid, team) local pos = config.base[team] if not(isPlayer(cid)) then return true end doTeleportThing(cid, pos) doSendMagicEffect(pos, 10) setTeam(cid, team) end function startTB() doRemoveItem(getTileItemById(config.tpPos, 1387).uid) local ppl = areaPlayers(config.waiting) for i = 1, #ppl do local level = getPlayerLevel(ppl[i]) if not(level >= 150) then -- LEVEL HERE doTeleportThing(ppl[i], getTownTemplePosition(1)) doSendMagicEffect(getThingPos(ppl[i]), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "To fight here must be level 150.") end end ppl = areaPlayers(config.waiting) if #ppl%2 == 1 then local r = ppl[math.random(#ppl)] doTeleportThing(r, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(r), 10) doPlayerSendTextMessage(r, MESSAGE_INFO_DESCR, "Sorry, but you were kicked from the event for balancement.") end ppl = areaPlayers(config.waiting) if #ppl >= config.needed then for p = 1, #ppl/2 do addEvent(setTeams, 10*1000, ppl[p], 1) for i = 10, 1, -1 do addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.") end end for p = #ppl/2+1, #ppl do addEvent(setTeams, 10*1000, ppl[p], 2) for i = 10, 1, -1 do addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.") end end addEvent(endTB, 10*1000, 0) return doBroadcastMessage("Team Battle event started.") end for i = 1, #ppl do doTeleportThing(ppl[i], getTownTemplePosition(1)) doSendMagicEffect(getTownTemplePosition(1), 10) doPlayerSendTextMessage(ppl[i], MESSAGE_INFO_DESCR, "There were not enough players") end doBroadcastMessage("Team Battle failed to start, because there were not enough players.") setGlobalStorageValue(5474578, -1) end function onTime() setGlobalStorageValue(config.fragStorage[1], -1) setGlobalStorageValue(5474578, 1) setGlobalStorageValue(config.fragStorage[2], -1) doBroadcastMessage("Team Battle event will start in " .. config.minutes .. " minutes. The teleporter is open now. ") doCreateTeleport(1387, config.tpToPos, config.tpPos) for m = config.minutes-1, 0, -1 do if m == 0 then addEvent(startTB, config.minutes*60*1000) else addEvent(doBroadcastMessage, (config.minutes-m)*60*1000, "Team Battle event will start in " .. m .. " minutes.") end end return true end Créditos: Desconhecido.
Yours VANKK; -
rngomes deu reputação a xWhiteWolf em [EVENT 0.4] MASSIVE TEAM BATTLEglobalevents.xml:
creaturescripts.xml:
-
rngomes deu reputação a Faelzdanil em Mapa para FireStorm EventDahora, ponte de madeira em lava
-
rngomes deu reputação a Wakon em [TFS 0.4/0.3.6] Aviso de bless ao sair da zona de proteção.Fiz esse script a bastante tempo a pedido de um membro e resolvi postar para vocês .
Versão testada: 8.60
TFS: 0.4 / 0.3.6
Função: Ao sair de uma zona de proteção, caso o player esteja sem bless, ele manda uma mensagem na tela avisando que está sem bless.
Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para checkBless.lua, apague tudo e cole:
function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione:
<event type="think" name="checkBless" event="script" value="checkBless.lua"/> Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione:
registerCreatureEvent(cid, "checkBless") Espero que gostem , caso dê algum erro, me avise!
Créditos: Wakon - Script ScythePanthom -- Pela idéia. -
rngomes deu reputação a ViitinG em [Creaturescript] Icones no minimap com descriçãoBom para quem não sabe como funciona o script,é uma marcação que fica no minimap(in-game) que ao deixar o ponteiro do mouse em cima aparece uma descrição,pode ser mudado tanto a descrição quanto o icone que aparece no minimap.
• Adicionando o script •
Em "data/creaturescripts/creaturescripts.xml" adicione está tag :
<event type="think" name="IconMap" event="script" value="iconmap.lua"/> Em "data/creaturescripts/scripts" crie um arquivo lua chamado "iconmap" e cole isso dentro :
local config = { storage = 030220122041, version = 1, marks = { {mark = 5, pos = {x = 1095, y = 1062, z = 7}, desc = "Temple."}, {mark = 4, pos = {x = 895, y = 996, z = 7}, desc = "Depot."} } } local f_addMark = doPlayerAddMapMark if(not f_addMark) then f_addMark = doAddMapMark end function onThink(cid, interval) if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then return end for _, m in pairs(config.marks) do f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "") end setPlayerStorageValue(cid, config.storage, config.version) return TRUE end Em "data/creaturescripts/scripts/login.lua" adicione está tag no fim do script :
registerCreatureEvent(cid, "IconMap") Caso use TFS 1.0 use este register no login.lua :
player:registerEvent(cid, "IconMap") Creditos : Comedinhas. - ViitinG pelo tutorial.
• Configurando •
• Icones •
-
rngomes deu reputação a azzouks em {Pedido} Ringscara, faz o anel, como qualquer outro.. no itens.xml voce adiciona os attributos ao anel ..
Magic Level = <attribute key="increaseMagicPercent" value="105"/> --> adiciona 5% de dano magico, se voce colocar apenas value="5" vai diminuir os danos, e o player hitara apenas 5% do total que ele hitaria sem o ring.
meele = nao sei quais funções vc tem no seu servidor, mas pode ser :
attribute key="hitChance" value="130"
ou
attribute key="increasePhysicalPercent" value="130"
NÃO ESTOU AFIRMANDO QUE NO SEU SERVIDOR SEJA ESSAS FUNÇÕES.. se voce tiver suas sources, procure nos itens la os attributos que vc tenha..
no meu servidor tem todos esses tres.. e eu os uso perfeitamente.
no terceiro ring, coloque os dois attributos no ring, que nao tem conflito.
Ajudei? deixa um Rep+ ai
meu blessed so da skills e magic
<item id="13688" name="blessed ring"> <attribute key="description" value="It's a blessed ring. [Inc.Magic 10%,Abs.all 10% Regen.Life 150/1, Regen.Mana 50/1, Skills +15]"/> <attribute key="decayTo" value="0"/> <attribute key="weight" value="100"/> <attribute key="transformDeEquipTo" value="13689"/> <attribute key="healthGain" value="150"/> <attribute key="healthTicks" value="1"/> <attribute key="manaGain" value="50"/> <attribute key="manaTicks" value="1"/> <attribute key="skillClub" value="15"/> <attribute key="skillAxe" value="15"/> <attribute key="skillShield" value="15"/> <attribute key="skillSword" value="15"/> <attribute key="skillFist" value="1"/> <attribute key="skillDist" value="15"/> <attribute key="skillFish" value="15"/> <attribute key="skillShield" value="15"/> <attribute key="speed" value="400"/> <attribute key="increaseMagicPercent" value="10"/> <attribute keu="absorbPercentAll" value="10"/> <attribute key="slotType" value="ring"/> <attribute key="showduration" value="1"/> <attribute key="duration" value="1800"/> -
rngomes deu reputação a luanluciano93 em (Resolvido)NPC de quest para Ot 8.60local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 FUNCAO_NOME(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local storage = 50001 if getPlayerStorageValue(cid, storage) ~= 1 then if getPlayerItemCount(cid,2516) >= 1 then -- SE TIVER 1 OU MAIS ITEM COM ID 2516 if doPlayerRemoveItem(cid,2516,1) then -- remove 1 ITEM DO ITEM COM ID 2516 npcHandler:say('Here is your item!', cid) -- MENSAGEM AO REMOVER O ITEM doPlayerAddItem(cid,5908,1) -- ADD 1 ITEM COM ID 5908 setPlayerStorageValue(cid, storage, 1) end else npcHandler:say('Você não tem o item!', cid) end else npcHandler:say('Você já fez a quest!', cid) end end local node2 = keywordHandler:addKeyword({'teste'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'vocÊ quer testar a função desse script?'}) node2:addChildKeyword({'yes'}, FUNCAO_NOME, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Até mais.', reset = true}) npcHandler:addModule(FocusModule:new())
-
rngomes deu reputação a Gustavo Ferreira em [Global] Original Sem BugsCidades!
Spoiler
Ankrahmun
Ab'Dendriel
Carlin
Cormaya
Darashia
Edron
Farmine
Fibula
Greenshore
Kazordoon
Liberty Bay
Meluna Mintwallin
Northport
Orc Land (Orc Fortress)
Outlaw Camp
Port Hope
Plains of Havoc
Rookgaard
Shadowthorn (Elven Village)
Svargrond
Thais
Venore
Zao (With North)
2 Cidades VIP's (Ethno e Gengia)
Quests!
Spoiler
Arena Quest
Demon Oak
Demon Helmet
Inquisition Quest
Anihileator Quest
Pits of Infernum (POI)
HOTA Quest
Crown Quest
Behemonth Quest
Blue Legs
BK
Bright Sword
Naginata
Vamp Shield
Fire Axe
Mermaid Comb
Orc Fortress
Medusa Shield
Dark Shield
Noble Armor
Desert Quest
Stealth Ring
Mad Mage Room
Entre varias outras...
Informações do Server:
War System (Escudos)
Distro DEV_0.4
Spells 8.6 100%
Npc's Igual RL
Sem bugs (dinheiro, entre outros).
Server pronto para por Online.
Outros:
Kiwi Guard DDOS Protect!
War Of Emperium!
Zombie Event!
Website
http://www.4shared.com/rar/nYSDhqKT/Gesior_Acc_860_By_ADM_DaNgeR_2.html
Downloads
Server: Download
Dlls e Distro: Download
Scan
Dlls e Distro: Scan
Créditos:
- Gustavo
- XLac
- Doidin
- Comedinhas
- TFS Team
- Alissow Team
-
rngomes deu reputação a Ghcm em Hotkey BUG MAP !Ae galera vou passar a hotkey de Bug Map, essa hotkey anda 5 Sqm quando apertada, é usada com NumLock ON, ela desvia de tudo que está na frente, desce bueiro sobe escada...
Façam bom uso!!!
auto 10 listas 'BugMap By GhCm' | if [$key.100] {usegroundxyz [$posx-7] $posy $posz | end} if [$key.102] {usegroundxyz [$posx+7] $posy $posz | end} if [$key.98] {usegroundxyz $posx [$posy+6] $posz | end} if [$key.104] {usegroundxyz $posx [$posy-6] $posz | end} if [$key.99] {usegroundxyz [$posx+6] [$posy+5] $posz | end} if [$key.97] {usegroundxyz [$posx-6] [$posy+5] $posz | end} if [$key.103] {usegroundxyz [$posx-6] [$posy-5] $posz | end} if [$key.105] {usegroundxyz [$posx+6] [$posy-5] $posz | end}
E se gostou, da um REP+ ae.!
-
rngomes deu reputação a Victor Fasano Raful em [2015] Gesior 1.0 - VictorWEBMasterSalve TK!
Após a morte subta de um ... bom vocês estão aparte do acontecido... Bom, resolvi disponibilizar minhas versões dos meus websites compatível com o mais novo e complexo TFS 1.0 (The Forgotten Server 10.20 ~10.3x).
Bom, este website está em uma versão BETA, ou seja. Há erros, não há falhas de invasão e algo relacionado a intervenções in game ou no site. NÃO tem a possibilidade de clonar points, não garanto itens pois isto é um processo ingame... Não há possibilidade de fazer falsos pagamentos e ter pontos sendo creditados.
Bom, esta versão estava sendo disponibilizada por minha pessoa por um preço de R$200, resolvi postar pois estou sem mais cabeça de ficar fazendo negociações com iniciantes. Então resolvi postar aqui e deixar com que vocês quebrem as suas próprias cabeças.
Com certeza esta não é minha melhor versão do site, pois tenho que lucrar algo com isto né..
Bom, apreciem com moderação!
Website foi testado com uma base desconhecida do TFS 1.0 na versão 10.37. Obteve funcionabilidade de 97% de sucesso.
Download Website VictorWEBMaster 1.0 Scan Website VictorWEBMaster 1.0
>> Quais quer que sejam os bugs, por favor reportem no tópico ou eventualmente na sessão correta de dúvidas de websites. <<