
mini45
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
mini45 deu reputação a Wend II em (Resolvido)error globaleventsTroque seu script por esse
local config = { positions = { ["Welcome"] = { x = 563, y = 269, z = 7 }, } } function onThink(cid, interval, lastExecution) for text, pos in pairs(config.positions) do doSendAnimatedText(pos, text, 140) doSendMagicEffect(config.positions, 65) end return TRUE end feito isso adicione essa tag no golbalevents.xml
<globalevent name="Welcome" interval="1" script="Welcome.lua"/> ali na tag onde está Welcome.lua é o nome do arquivo.lua no caso coloquei welcome.lua
-
mini45 deu reputação a NoturnoBRN em (Resolvido)[PEDIDO] ItemUm item que heala/mana toda vez que der use nele?
Já que tú não postou o script do item, fiz 2 aqui aqui pra ver como exemplos:
Item de Heal...
Item de Mana...
funções:
getCreatureHealth(cid) //retorna o valor hitpoints do player ou monstro doPlayerAddHealth //Adiciona Vida pro player getCreatureMana(cid) //retorna o valor manapoints do player doPlayerAddMana //Adiciona Mana pro player -
mini45 deu reputação a Wise em (Resolvido)[Pedido] Spelllocal t = {time = 3, stor = 30303, stats = {30, 30}} -- time in minutes to cast again / storage / {health%, mana%} local hm = {} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, t.time*60000) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTH, hm[1]) setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANA, hm[2]) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getPlayerStorageValue(cid, t.stor) - os.time() > 0 then doPlayerSendCancel(cid, 'This spell can only be cast every '..t.time..' minutes.') return false end table.insert(hm, t.stats[1]*(getCreatureMaxHealth(cid)/100)) table.insert(hm, t.stats[2]*(getCreatureMaxMana(cid)/100)) return doCombat(cid, combat, var) and setPlayerStorageValue(cid, t.stor, os.time() + t.time*60) end
-
mini45 deu reputação a Augusto em Scroll de LevelEsse script funciona da seguinte maneira, é um scroll, que ao usa-lo você recebe avança um lvl, você pode coloca-lo como recompensa de uma quest ou sei lá, basta usar a imaginação.
Scroll de experiência
Vá até data > actions > actions.xml e adicione a tag:
<action itemid="6119" event="script" value="Exp_Scroll.lua"/> crie um arquivo "Exp_Scroll.lua" e coloque na pasta data > actions > scripts
-- Scripted By Perfection -- local itemID = 6119 local lvl = 1 function onUse(cid, item, frompos, item2, topos) if item.itemid == itemID then doPlayerAddLevel(cid, lvl) doPlayerSendTextMessage(cid,22,"You Recieved 1 Level !") doRemoveItem(cid, item.uid, 1) end return 1 end Crétidos: perfection.
-
mini45 deu reputação a leonardobo em [Talkaction] PrenderA pedido de um carinha do fórum no PM eu decidi fazer o script.
Como Funciona:
http://youtu.be/08o9uoM6bQA
Em data/talkactions/scripts crie um arquivo chamado prisiontp.lua e adicione o seguinte código:
--[[ By leonardobo Diretamente para o Tibia King. http://www.tibiaking.com/forum/index ]]-- function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !prender Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end pos = {x=1017, y=1034, z=7} -- POSIÇÃO AONDE SERA TELEPORTADO. if(doTeleportThing(tid, pos, true) and not isPlayerGhost(tid)) then doSendMagicEffect(pos, CONST_ME_TELEPORT) if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_WARNING, "Voce foi preso !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce prendeu ".. getPlayerName(tid) ..". ") end end return true end Em data/talkactions/scripts crie um arquivo chamado liberartp.lua e adicione o seguinte código:
--[[ By Enself = leonardobo Diretamente para o Tibia King. http://www.tibiaking.com/forum/index ]]-- function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !liberar Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end local pos = getPlayerTown(tid) if(doTeleportThing(tid, getTownTemplePosition(pos), true) and not isPlayerGhost(tid)) then if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce foi liberado !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce liberou ".. getPlayerName(tid) ..". ") end end return true end Em data/talkactions em talkactions.xml adicione as seguintes tags:
<talkaction log="yes" words="/prender" access="5" event="script" value="prisiontp.lua"/> <talkaction log="yes" words="/liberar" access="5" event="script" value="liberartp.lua.lua"/>
Para configurar a posição, é no script prisiontp.lua, que no caso seria a sua prisão, o centro dela ou sei la.
{x=1017, y=1034, z=7}
Bom galera é o meu primeiro script, postado evidentemente e o meu primeiro vídeo, aceito criticas construtivas, Abraços.
-
mini45 deu reputação a leonardobo em (Resolvido)[PEDIDO] SCRIPT !Em data/actions/scripts crie um arquivo chamado itemlevel.lua e adicione o seguinte código:
function onUse(cid, item) local config = { leveladd = 300, -- Quantidade de level ao clicar no item. item = 11389, -- ID do item Usado. tempo = 10, -- Tempo para usar novamente caso não queira deixa um zero storage = 241123 } if os.time() - getPlayerStorageValue(cid, config.storage) >= config.tempo then doPlayerSetStorageValue(cid, config.storage, os.time()) else doPlayerSendCancel(cid, "Voce so pode usar apos "..(config.tempo - (os.time() - getPlayerStorageValue(cid, config.storage))).." segundos.") return true end doPlayerAddLevel(cid, config.leveladd) doRemoveItem(item.uid, 1) return true end em data/actions no arquivo actions.xml adicione a seguinte tag:
<action itemid="1138" script="itemlevel.lua"/> ItemID é o ID do item que você vai usar para executar a função.
Função do Script:
Ao usar sera acrescentado +300 leveis no player que utilizou o item, o item sera removido, e se o player tentar usar novamente terá um Tempo de 10 segundos.
OBS: Eu testei e funciono perfeitamente aqui.
Abraços,
Se quiser o script de outra forma, diga que eu faço, se ajudei deixa aquele gostei e melhor resposta ai .
-
mini45 deu reputação a Smart Maxx em (Resolvido)BUG DE CAPEu adicionei capsystem = "no" , no config.lua , que ai seu serve não possuirá mais cap system(pelo menos eu acho), ai vai resolver o problema por enquanto, pois nunca ví nenhum problema do tipo, se possível me fale qual a base do seu servidor pra dps eu baixar e dar uma olhada quando não tiver nada pra fazer;
-
mini45 deu reputação a Caronte em (Resolvido)[Pedido] ScriptEra só procurar no google ou no pesquisador do tibiaking, localizado na parte superior direita da página.
Em movements>scripts Crie um arquivo.lua com nome swimming
local outfit = {lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0} local BORDERS = { [7943] = {x = 0, y = -2, back = SOUTH}, [7944] = {x = -2, y = 0, back = EAST}, [7945] = {x = 0, y = 2, back = NORTH}, [7946] = {x = 2, y = 0, back = WEST}, [7947] = {x = 2, y = 1, back = WEST}, [7948] = {x = -2, y = 1, back = NORTH}, [7949] = {x = 2, y = -1, back = WEST}, [7950] = {x = -2, y = -1, back = EAST}, [7951] = {x = 2, y = 2, back = WEST}, [7952] = {x = -2, y = 2, back = NORTH}, [7953] = {x = 2, y = -2, back = WEST}, [7954] = {x = -2, y = -2, back = SOUTH} } BORDERS[4828] = BORDERS[7943] BORDERS[4829] = BORDERS[7946] BORDERS[4830] = BORDERS[7945] BORDERS[4831] = BORDERS[7944] function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end local border = BORDERS[item.itemid] if(not border) then return false end local pos, newPos = getCreaturePosition(cid), {} newPos = pos newPos.x = pos.x + border.x newPos.y = pos.y + border.y if(hasCondition(cid, CONDITION_OUTFIT) and getCreatureOutfit(cid).lookType == outfit.lookType) then doMoveCreature(cid, border.back) doRemoveCondition(cid, CONDITION_OUTFIT) else if(doTileQueryAdd(cid, pos, 4) ~= RETURNVALUE_NOERROR) then return false end local tmp = getCreaturePosition(cid) doTeleportThing(cid, newPos) if(not isPlayerGhost(cid)) then doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(newPos, CONST_ME_WATERSPLASH) end doRemoveConditions(cid, true) doSetCreatureOutfit(cid, outfit, -1) end return true end Em movements.xml adicione:
<!-- Swimming --> <movevent type="StepIn" itemid="4828-4831" event="script" value="swimming.lua"/> <movevent type="StepIn" itemid="7943-7954" event="script" value="swimming.lua"/> Créditos: Não sei, não foi especificado quem o fez.
mini45, clique na melhor resposta para o tópico ser dado como resolvido.
-
mini45 deu reputação a Vodkart em [Sistema] Battlefield Event! V.1Mapa BattleField Feito Por AnneMotta :
Mapa Battlefield.rar
Scan: https://www.virustot...sis/1346548669/
Imagens do mapa
Descrição:
- O evento é automático e acontece em determinado dia e hora da semana
- Logo após é aberto um teleport então apenar um número limitado de players entra no evento
- São formados por dois times, os "Black Assassins" e os "Red Barbarians"
- Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque.
- O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio.
Bônus:
- Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times.
- Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo.
- Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo.
Lembre-se:
- De colocar Pvp Tool na área
- De colocar área NoLogout
Imagens:
Instalação:
Data > Lib Data > CreatureScript > Script Data > GlobalEvents > Scripts Data > Movements > Script Configurações do evento -
function onUse(cid, item, fromPosition, itemEx, toPosition) local t = {} for i = 0, getPlayerInstantSpellCount(cid) - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if(spell.level ~= 0) then if(spell.manapercent > 0) then spell.mana = spell.manapercent .. "%" end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local text, prevLevel = "", -1 for i, spell in ipairs(t) do local line = "" if(prevLevel ~= spell.level) then if(i ~= 1) then line = "\n" end line = line .. "Spells for Level " .. spell.level .. "\n" prevLevel = spell.level end text = text .. line .. " " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n" end doShowTextDialog(cid, item.itemid, text) return true end
-
mini45 deu reputação a VictorFT em • Guia de Cidades(Imagem feita pela AnneMotta)
• Eai pessoal, Tudo Bom? Hoje estava com vontade de fazer um Tutorial , mas não sabia de que.Praticamente não é um Tutorial ,é um Guia que irá te ajudar a como Criar sua Própria city. Você quer criar um mapa próprio?Primeiramente , tenha 'Segurança' saiba oque agradará e oque não agradaria os jogadores.Os Jogadores querem se sentir 'confortáveis' , então você precisa fazer algo Bacana.
• Templos
O Templo é definitivo, você pode fazer um Templo Medieval, mas realmente não precisa ser só de um estilo.Victor Como Assim, não precisa ser só de um Estilo?O Templo pode ter Nature, você pode por o templo no meio do Nada, para dar impressão que ele chegou perdido e não sabe (mais para mapas próprios).
Agora voltando no Templo com nature , não importa o Lugar.
• O templo pode ser em cima de uma Montanha , pode ser no 'Inferno', local de gelo, Pode ser em um Oasis.É com você o templo. Agora vou dar um Exemplo de Templo com Nature.
Feito por Alissow.
Vital900
Exemplo AnneMotta
Sinceramente eu adoro esse Templo, acho legal o mais legal é porque ele é variado.É raro você encontrar um Templo assim. O Templo também pode ter Cachoeira, pode estar embaixo de uma cachoeira e esta cachoeira chegue até ele, se for fazer isto faça algo Coerente. Não algo sem Sentido,porque tudo que precisamos é de um Templo.Mas tenha criatividade no seu Templo pois é uma Rotina, quando o Player nascer ele vai nascer neste lugar.
A Importância do Templo é muito Grande, sempre veja se está legal ou não está.Pergunte para Amigos se eles Gostam ou não,o mais legal de um Templo são seus Detalhes.Então faça algo confortável.
• Ruas
Ruas são locais onde o Jogador fará seu comércio, então ele sempre irá dar uma passada por lá depois de voltar da sua Aventura, passará para comprar coisas, vender também.Faça uma coisa agradável não precisa ser tão grande, pode ser pequeno mas tem que ser detalhado.City pequena,rua pequena,City grande rua grande.Então você primeiramente faça algo Agradável, primeiro com o Ground ,depois fazendo detalhes e depois faça as Casas de comércio.Não precisa ser diferente.Mas cade cidade tem um 'tema'.
Exemplo de Rua
Feita pelo Left.
Uma rua bem simples ,mais é bem detalhada como podem ver ,é agradável em duas partes.Na Construção e na Nature.
Para fazer uma Rua , você tem que fazer oque está na sua cabeça para deixa-la agradável, Uma rua pode ter até cachoeira se você quiser , pode ter oque você quiser contanto que seja Agradável e bonita.Como eu disse está rua não está grande mas está muito bem Detalhada e agradável.Então faça mais o menos desse estilo ou como desejar.
• Depot
Muito importante na parte de Seu mapa onde os players , irão guardar sues pertences e quando estiverem com Cap totalmente ocupada vão guardar seus itens, Depot precisa de Npc's que vendam Parcel, se quiser adicione O Banker nele.O Depot seguirá sempre o Estilo de sua City, se sua City for estilo Desert o Depot obviamente será estilo Desert, Sua City for perdida o seu Depot vai ter estilo de local abandonado,sujo e destruído.Depot é legal fazer desde que tenha um estilo bom , um formato agradável.
Exemplo LordZezim
Depot é um local bonito como vocês podem ver este está excelente variado na montanha , cachoeira logo em seguida detalhamento incrível.
Está lindo este Depot , formato perfeito.
• Fortaleza
Forteza é um local onde protege a Cidade, a fortaleza é um local onde será uma defesa contra ataques na sua cidade, ela também irá seguir o Rumo de sua cidade , sua cidade é no estilo Stone sua Fortaleza vai ser feita de Stone, se sua cidade for no Estilo de Deserto ela vai ser estilo deserto , faça uma fortaleza onde os jogadores possam sair da Cidade, para ir até suas Hunt's .Faça uma Fortaleza legal variando no formato não deixe muito reta. Faça algo coerente, um telhado bonito etc.
Exemplo VictorFT
A Fortaleza está realmente agradável variada nos detalhes , está bonita e bem jogável.Se perceberem logo em seguida tem uma hunt pode ser uma 'Hunt Principal'.
Dica: Adicione Stone's no chão e sangue, para mostrar que guerreiros passaram por ai, água para mostrar que é suor pois deserto é um local muito quente.
• Loja
Loja é um local onde o jogador fará a sua rotina,ele irá comprar itens,venderá itens.Se lembram quando eu falei sobre as Ruas? Então bote as Lojas nas ruas, as lojas podem ser de Knight, Paladin, Mago, para vender itens.Você pode fazer do estilo que quiser , Um dia o Vital900 me explicou que cada cidade pode ter o Padrão de telhado se você usa um estilo de telhado, você usará nas outras construções da mesma cidade.Loja pode ser um local agradável.Pode ter nature, etc. É igual Depot ,se sua city é abandonada sua loja será abandonada, e por ai vai.
Exemplos de Lojas (VictorFT,TecBreakerByLipe/Kyoran)
VictorFT
TecBreakerByLipe/Kyoran
• Caves And Nature
Nesta etapa final irei explicar cave primeiro.
Primeiramente , cave é quase oque defini um Mapa cave tem que ser algo agradável , não algo que os players não gostem , não quero desrespeitar quem gosta de Baiak, Mas pelo amor de Deus as caves de Baiak são mal feitas. Cave é um local onde o player fará uma Rotina até um certo level.Então você fala assim "Bobagem pra mim cave o importante é que upa", Certamente você está certo, mas e ai a questão é , o seu mapa é próprio você vai querer fazer uma cave que tem intenção 'só de upar' ou quer uma cave legal e ao mesmo tempo com a mesma intenção (de upar)?Você que escolhe , se você quiser que só upe, cara... esse tópico não vai te ajudar mas da uma olhada pra eu te converter e se você quer uma Cave que seja legal e agradável continue lendo.Muitas pessoas tem Mania de usar Auto B. em cave isso é Ruim , pois estraga sua Hunt, Raw é como se você tivesse mais liberdade mas demora, no Raw você pode por Objetos onde quiser , e com AB você não tem a mesma Liberdade.
Exemplo VictorFT:
Agora irei explicar sobre Nature é um local bonito , onde possui várias plantas, cachoeira e etc. A Nature é denominada de Natureza tem que ter bastante vida pode estar em qualquer lugar do seu mapa , como no templo (expliquei isto no início do tópico) nature é um local perfeito.Onde animais vivem nature é importante porque lá vai ter Hunt's que o jogador passará pela nature até chegar as Hunts.
Exemplo VictorFT
Exemplo GuuhMaster
Exemplo Laug
Exemplo Left4dead
Então é isso galera, Obrigado por verem o tópico ,espero ter dado uma noção a todos.Quero ajudar vocês a Mappear ,Obrigado, para contatos adicione:[email protected] skype:victor.fernandes.t
Att.
VictorFT
-
mini45 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 \/ -
Provavelmente sua máquina está desligada ou sob ataques nullada, pinguei o IP da 100% de perda, comunique a empresa e diga que está sem conexão.
Qual a empresa?
--- PING 177.40.81.64 (177.40.81.64) 56(84) bytes of data. --- --- 177.40.81.64 ping statistics --- packets transmitted 9 received 0 packet loss 100 % time 8011 ms -
mini45 deu reputação a Smart Maxx em OT/Error no distro!Esse problema não irá atrapalhar em nada no funcionamento do serve, é apenas uma verificação que ocorre em alguns tfs bem antigo...
Mas se quiser tirar basta ir na sources do seu tfs Otserver.cpp e remove :
std::clog << ">> Checking software version..."; if(xmlDocPtr doc = xmlParseFile(VERSION_CHECK)) { xmlNodePtr p, root = xmlDocGetRootElement(doc); if(!xmlStrcmp(root->name, (const xmlChar*)"versions")) { p = root->children->next; if(!xmlStrcmp(p->name, (const xmlChar*)"entry")) { std::string version; int32_t patch, build, timestamp; bool tmp = false; if(readXMLString(p, "version", version) && version != SOFTWARE_VERSION) tmp = true; if(readXMLInteger(p, "patch", patch) && patch > VERSION_PATCH) tmp = true; if(readXMLInteger(p, "build", build) && build > VERSION_BUILD) tmp = true; if(readXMLInteger(p, "timestamp", timestamp) && timestamp > VERSION_TIMESTAMP) tmp = true; if(tmp) { std::clog << " "; if(version.find("_SVN") == std::string::npos) std::clog << "running sub version, please mind it's unstable and only for testing purposes!"; else std::clog << "outdated, please consider upgrading!"; std::clog << std::endl << "> Current version information - version: " << SOFTWARE_VERSION << ", patch: " << VERSION_PATCH << ", build: " << VERSION_BUILD << ", timestamp: " << VERSION_TIMESTAMP << "." << std::endl << "> Latest version information - version: " << version << ", patch: " << patch << ", build: " << build << ", timestamp: " << timestamp << "." << std::endl; if(g_config.getBool(ConfigManager::CONFIRM_OUTDATED_VERSION) && asLowerCaseString(version).find("_svn") == std::string::npos) { std::clog << "Continue? (y/N)" << std::endl; char buffer = getch(); if(buffer != 121 && buffer != 89) startupErrorMessage("Aborted."); } } else std::clog << "up to date!" << std::endl; } else std::clog << "failed checking - malformed entry." << std::endl; } else std::clog << "failed checking - malformed file." << std::endl; xmlFreeDoc(doc); } else std::clog << "failed - could not parse remote file (are you connected to any network?)" << std::endl; Abrçs...
-
mini45 deu reputação a BeluciGamer em Oracle 100% EditavelSeguinte, Este Script Sera Postado Somente Aqui No Tibia King.
Até Agora Nenhum Script Foi Criado Do Genero, Pelomenos Eu Nao Achei.
Bom, Se Voce Tem Algum Conhecimento Em Scripting Fique Avontade Para Fazer Alterações ;P
Ja Se Voce Nao Tiver Simplesmente Altere Oque Eu Ensinar Aqui!
Vamos Ao Que Intereça
Download Dos Scripts Para Os Preguiçosos
Creditos: 100% Beluci Gamer / EU
-
Coloque isto em xml/vocations
<?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="10" gainmanaticks="6" gainmanaamount="10" manamultiplier="4.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="1" name="Magnum Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="15" gainmanaticks="2.5" gainmanaamount="45" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="2" name="Magnum Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="15" gainmanaticks="2.5" gainmanaamount="45" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="3" name="Magnum Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2.5" gainhpamount="35" gainmanaticks="3" gainmanaamount="35" manamultiplier="1.4" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="4" name="Magnum Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="50" gainmanaticks="3" gainmanaamount="25" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="3" gainhpamount="30" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="3" gainhpamount="30" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2.5" gainhpamount="40" gainmanaticks="2.5" gainmanaamount="50" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="50" gainmanaticks="3" gainmanaamount="40" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> Vá em data/npc copie qualquer arquivo .xml renomei para classes
<?xml version="1.0" encoding="UTF-8"?> <npc name="Dayglow" script="data/npc/scripts/classes.lua" walkinterval="2000" floorchange="0"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="114" body="119" legs="132" feet="114"/> </npc> Vá em data/npc/script copie qualqer arquivo lua e renomeie para classes.lua
local 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 2, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) --[[ local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 0 gold coins. Do you want me to epicize you?'}) node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 1, promotion = 1, text = 'Congratulations! You are now class.'}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) ]]-- npcHandler:addModule(FocusModule:new()) 80% Dos créditos para Slaake
Se ajudei da rep+
-
mini45 deu reputação a gpedro em Como criar um site para seu servidor!Bom, o tutorial está bom, mais creio que você limitou o xampp, pode ser qualquer versão, é só saber corrigir os erros no php.ini.
Alguns erros cometidos, como FileZilla, porque você irá ativar e deixar com senha padrão, entram no ftp e pegam seu site inteiro, foda né. E o webdav que você acessar e já coloca uma shell e invade o dedicado, servidor, pega tudo. GG filhão.
Não precisa remover todas as linhas com "dois tracinhos", é só remover alguns caracteres nas linhas que tem "dois tracinhos" no começo, nem o TAB no começo das configurações. é questão de organização.
sqlFile não precisa ser editado, pode deixar do jeito que está que não vai afetar nada.
Tutorial bem de leve, mais faltou muitos pontos na parte de segurança. Tutorial raso mesmo.