[Duvida] Como Colocar para fazer acc no site e no ot ?
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por xWhiteWolf
Fala pessoal do TK, hoje vim trazer uma spell bem bonita que veio na minha cabeça.
em 14:06 desse vídeo dá pra ver oque eu tentei criar
http://tvuol.uol.com.br/video/avatar--livro-3-fogo--ep-48--a-manipuladora-de-fantoches-04028C98306ED8A90326/
mas por conta dos efeitos precários que o Tibia possui não ficou tão legal qnt eu imaginei mas em todo caso eu decidi compartilhar o código com vocês.
O resultado final foi esse daqui:
Se vocês se interessaram é só criar um arquivo em spells/scripts e colocar isso daqui dentro dele:
function onCastSpell(cid, var) local config = { spins = 1, delay = 120 } local k = checkGroundInArray(getPositionsByDirection(cid), grass) if #k < 1 then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, "You need to be around grass to cast this spell.") return false end for i = 1, #k do addEvent(function() if isPlayer(cid) then local pos = k[i] local grama = getThingFromPos(pos) doTransformItem(grama.uid, driedgrass[math.random(1, #driedgrass)]) a = (i < 9) and doSendMagicEffect(pos, 1) or doSendMagicEffect(pos, 53) doSendDistanceShoot(pos, getThingPos(cid), 36) end end, (config.delay/2) * i) end range = #k > 4 and 7 or 5 addEvent(function() if isPlayer(cid) then local pos = k[i] local lastPos = false for i = 1, range do local position = getPositionByDirection(getCreaturePosition(cid), getCreatureLookDirection(cid), i) if isWalkable(position, false, true, true) then local creature = getTopCreature(position) if (creature.uid > 0) then doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(creature.uid), 36) doTargetCombatHealth(cid, creature.uid, COMBAT_PHYSICALDAMAGE, -142 * (#k - 1), -150 * (#k - 1), CONST_ME_NONE) break end lastPos = position end if lastPos then doSendDistanceShoot(getCreaturePosition(cid), lastPos, 36) end end end end, (config.delay + (4 * config.delay * config.spins)) ) addEvent(function() for j = 1, #k do addEvent(function() local pos = k[j] local grama = getThingFromPos(pos) if isInArray(driedgrass, grama.itemid) then doTransformItem(grama.uid, grass[math.random(1, #grass)]) end end, (config.delay/2) * j) end end, config.delay * 100) spinRotate(cid, config.spins, config.delay) return true end e em spells.xml vc adiciona:
<instant name="TK" words="kataras sense" lvl="8" mana="35" prem="0" casterTargetOrDirection="1" exhaustion="1500" needlearn="0" event="script" value="nomedoarquivo.lua"> </instant> OBS: Note que esse script usa funções da new library. Você pode conseguir essas funções aqui: http://www.tibiaking.com/forum/topic/46015-new-library-v-10/
Espero que tenham curtido, esse é só o começo! Testada em TFS 0.3.6 Tibia 8.54.
-
Por xWhiteWolf
Fala galera do TK, criei esse anelzinho pra servers que procuram inovar..
bom, oque ele faz??
Simples, ele torna o usuário invisível.
aff, mas já existe o stealth ring que faz isso!
Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver.
que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server
Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha
O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk
Vou chamar aqui de versão 1 e 2 respectivamente.
OBS: ISSO É EM MOVEMENTS!
1ª versão (sem sangue mas que tira 3% de vida por segundo):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito:
<item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas:
<movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando:
Na primeira versão vc pode alterar as seguintes coisas que estão em colorido:
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
local percent = 3
local tempo = 1 -- em segundos
em vermelho é o tempo que dura a invisibilidade... -1 é infinito
em azul é a porcentagem de vida que perde por tempo
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3%
Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition:
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE)
addDamageCondition(condition, -1, 1500, -500)
em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel)
em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida)
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida
Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha
-
Por Cat
Download do OtservBR Global Client 12.60:
Tutorial explicando como editar o Cliente Tibia 12.60 e configurar para localhost com HexEditorXVI32.
Tibia 12.60 Login Webservice funciona com GesiorAAC.
Tibia 12.60 Login Webservice funciona com MyAAC.
Tibia 12.60 Login Webservice funciona com ZnoteAAC 1.5.
- Antes de editar, lembre-se de fazer um backup do client.exe!
1 - Download:
HexEditorXVI32: https://www.mediafire.com/file/el1lizih5z0qa0m/HexEditorXVI32.rar/file
Scan HexEditorXVI: https://www.virustotal.com/gui/file/f1078e838022babc394434fb0f9c9d2df7578ed8a1a2a6c7f1b3ac3b58c7bfc0/detection
2 - Como trocar chave RSA:
- Abra a pasta do Tibia 12.60 (..\..\Tibia\bin) e abra o client.exe com o HexEditorXVI32.
- Procure por:
BC27F992A96B8E2A43F4DFBE1CEF8FD51CF43D2803EE34FBBD8634D8B4FA32F7D9D9E159978DD29156D62F4153E9C5914263FC4986797E12245C1A6C4531EFE48A6F7C2EFFFFF18F2C9E1C504031F3E4A2C788EE96618FFFCEC2C3E5BFAFAF743B3FC7A872EE60A52C29AA688BDAF8692305312882F1F66EE9D8AEB7F84B1949 - Substitua por:
9B646903B45B07AC956568D87353BD7165139DD7940703B03E6DD079399661B4A837AA60561D7CCB9452FA0080594909882AB5BCA58A1A1B35F8B1059B72B1212611C6152AD3DBB3CFBEE7ADC142A75D3D75971509C321C5C24A5BD51FD460F01B4E15BEB0DE1930528A5D3F15C1E3CBF5C401D6777E10ACAAB33DBE8D5B7FF5
3 - Como trocar o IP:
- Procure por:
loginWebService=https://www.tibia.com/clientservices/loginservice.php - Substitua por:
loginWebService=http://127.0.0.1/login.php - Procure por:
clientWebService=https://www.tibia.com/clientservices/clientservices.php - Substitua por:
clientWebService=http://127.0.0.1/login.php
- Os caracteres que sobrarem após o .php substitua no quadro a esquerda por 0D e 0A até chegar a sequência que já contém 0D 0A. Obs: se for necessário, ajuste a sequência de 0D 0A.
- Salve e feche.
4 - Como desabilitar o Battleye:
- Procure a sequência hexadecimal:
C6 45 D7 00 C6 45 CF 00 - Substitua por:
C6 45 D7 00 C6 45 CF 01
5 - Créditos:
Majesty
jo3bingham (desativação battleye)
-
Por Cat
Download do OtservBR Client 12.60:
Notepad++: https://notepad-plus-plus.org/downloads/
2 - Como trocar chave RSA:
- Abra a pasta do Tibia 12.60 (..\..\Tibia\bin) e abra o client.exe com o Notepad++.
- Procure por:
BC27F992A96B8E2A43F4DFBE1CEF8FD51CF43D2803EE34FBBD8634D8B4FA32F7D9D9E159978DD29156D62F4153E9C5914263FC4986797E12245C1A6C4531EFE48A6F7C2EFFFFF18F2C9E1C504031F3E4A2C788EE96618FFFCEC2C3E5BFAFAF743B3FC7A872EE60A52C29AA688BDAF8692305312882F1F66EE9D8AEB7F84B1949 - Substitua por:
9B646903B45B07AC956568D87353BD7165139DD7940703B03E6DD079399661B4A837AA60561D7CCB9452FA0080594909882AB5BCA58A1A1B35F8B1059B72B1212611C6152AD3DBB3CFBEE7ADC142A75D3D75971509C321C5C24A5BD51FD460F01B4E15BEB0DE1930528A5D3F15C1E3CBF5C401D6777E10ACAAB33DBE8D5B7FF5
3 - Como trocar o IP:
- Procure por:
loginWebService=https://www.tibia.com/clientservices/loginservice.php - Substitua por:
loginWebService=http://127.0.0.1/login.php - Procure por:
clientWebService=https://www.tibia.com/clientservices/clientservices.php - Substitua por:
clientWebService=http://127.0.0.1/login.php
Lembre-se de adicionar "NUL" (Notepad++ > Plugins > Converter >Conversion Panel > ASCll > Insert) no texto do .ini se a URL do seu webservice tiver um comprimento de texto diferente do original. ("loginWebService=https://www.tibia.com/clientservices/loginservice.php") (col: 70) e ("clientWebService=https://www.tibia.com/clientservices/clientservices.php") (col: 73).
Neste caso, para "loginWebService=http://127.0.0.1/login.php" (col:43) (+27 "NUL") e "clientWebService=http://127.0.0.1/login.php" (col: 44) (+29 "NUL") deve-se adicionar 56 "NUL".
Procure pela linha:
maxChatInputHistoryLength=1000 Abaixo desta linha, no início da próxima (col:1) é onde você deve adicionar os "NUL".
-
Por Cat
1 - Downloads Necessários:
- Visual Studio 2019 Community:
https://visualstudio.microsoft.com/pt-br/thank-you-downloading-visual-studio/?sku=Community&rel=16
- Microsoft Visual C++ 2015-2019 Redistributable:
(32-bit download, 64-bit download)
- Git:
https://git-scm.com/download/win
2 - Visual Studio 2019:
- Na tela inicial do Visual Studio, no produto Visual Studio Community 2019 clique no botão Instalar.
- Na próxima tela, selecione Desenvolvimento para Desktop com C++.
- Na mesma tela em Detalhes da Instalação, selecione:
- Depois em Pacotes de Idiomas, selecione:
3 - Instale os softwares necessários:
- Instale o Git:
4 - VCPKG:
- Utilize o Prompt de Comando ou Windows Powershell no diretório C:
Prompt de Comando: cd C:\
Windows Powershell: cd C:\
- Para fazer a instalação completa do VCPKG, execute os comandos abaixo no Prompt de Comando ou Windows Powershell:
5 - Sources OTServBR-Global:
- Faça o download das sources do OTServBR-Global com o comando abaixo no Prompt de Comando ou Windows Powershell.
6 - Instalação das bibliotecas VCPKG:
- Escolha um dos conjuntos de bibliotecas abaixo de acordo com o seu sistema operacional.
- Execute o comando com o Prompt de Comando ou Windows Powershell.
- Para compilação em 64-bit:
.\vcpkg install --triplet x64-windows boost-asio boost-filesystem boost-iostreams boost-lockfree boost-system boost-variant cryptopp libmariadb luajit mpir pugixml - Para compilação em 32-bit:
.\vcpkg install boost-asio boost-filesystem boost-iostreams boost-lockfree boost-system boost-variant cryptopp libmariadb luajit mpir pugixml
- Após a escolha e a instalação de um dos conjuntos de bibliotecas, utilize o comando abaixo para integrar a instalação ao Visual Studio:
.\vcpkg integrate install
7 - Compilando as Sources do OTServBR-Global:
- Encontre o diretório vc14 do OTServBR-Global (C:\vcpkg\otservbr-global\vc14) e abra o arquivo otservbr-global.vcxproj. Isso irá abrir o Visual Studio e você estará apto a compilar as sources.
- No Visual Studio, escolha a opção Release e a solução "Win32" ou "x64".
- Para compilar as sources, clica em Build no menu e depois em Build Solution.
- As sources serão compiladas com sucesso.
7.1 - Observação:
- Se o seu processador é antigo para melhor otimização, compile o servidor com a instrução abaixo:
- No Visual Studio, edite as propriedades do projeto e troque 'Enhanced Instruction Set' para 'SSE2'.
8 - DLL's Necessárias:
Para compilação em 64-bit:
- Copie as DLLs da pasta (C:\vcpkg\otservbr-global\vc14\x64\Release).
- Copie o executável da pasta (C:\vcpkg\otservbr-global\vc14\x64\Release).
- E cole na pasta raiz do servidor.
Obs: a pasta do servidor pode ser salva em outro diretório de sua preferência e que tenha permissão para os arquivos.
Para compilação em 32-bit:
- Copie as DLLs da pasta (C:\vcpkg\otservbr-global\vc14\Release).
- Copie o executável da pasta (C:\vcpkg\otservbr-global\vc14\Release). - E cole na pasta raiz do servidor. Obs: a pasta do servidor pode ser salva em outro diretório de sua preferência e que tenha permissão para os arquivos. 9 - Abrindo o Servidor:
- Para abrir o servidor OTServBR-Global, siga 1 (uma) das opções abaixo:
[MySQL] OTServBR-Global + XAMPP + MyAAC:
[MySQL] OTServBR-Global + Uniform Server + MyAAC:
[MySQL] OTServBR-Global + Uniform Server + GesiorAAC2012:
[MySQL] OTServBR-Global + Uniform Server + ZnoteAAC:
10 - Créditos:
Desenvolvedores TFS: https://github.com/otland/forgottenserver/wiki/Compiling-on-Windows-(vcpkg)
Majesty (Tutorial de compilação do OTServBR-Global no VS2019)
Microsoft - VCPKG: https://github.com/Microsoft/vcpkg
-
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.