Ir para conteúdo

WhiteBubble

Membro
  • Registro em

  • Última visita

Tudo que WhiteBubble postou

  1. Sabe se aparece algum erro na distro ?
  2. Desculpa demora minha internet ta um pouco lenta mas enfim, vai em modules/client_entergame e abra o seu entergame.lua e substitua tudo la dentro por esse: EnterGame = { } -- private variables local loadBox local enterGame local motdWindow local motdButton local enterGameButton local clientBox local protocolLogin local motdEnabled = false local serverIP = 'SEUIP' function getServerIP() return serverIP end -- private functions local function onError(protocol, message, errorCode) if loadBox then loadBox:destroy() loadBox = nil end if not errorCode then EnterGame.clearAccountFields() end local errorBox = displayErrorBox(tr('Login Error'), message) connect(errorBox, { onOk = EnterGame.show }) end local function onMotd(protocol, motd) G.motdNumber = tonumber(motd:sub(0, motd:find("\n"))) G.motdMessage = motd:sub(motd:find("\n") + 1, #motd) if motdEnabled then motdButton:show() end end local function onCharacterList(protocol, characters, account, otui) -- Try add server to the server list ServerList.add(G.host, G.port, g_game.getProtocolVersion()) if enterGame:getChildById('rememberPasswordBox'):isChecked() then local account = g_crypt.encrypt(G.account) local password = g_crypt.encrypt(G.password) g_settings.set('account', account) g_settings.set('password', password) ServerList.setServerAccount(G.host, account) ServerList.setServerPassword(G.host, password) g_settings.set('autologin', enterGame:getChildById('autoLoginBox'):isChecked()) else -- reset server list account/password ServerList.setServerAccount(G.host, '') ServerList.setServerPassword(G.host, '') EnterGame.clearAccountFields() end loadBox:destroy() loadBox = nil CharacterList.create(characters, account, otui) CharacterList.show() if motdEnabled then local lastMotdNumber = g_settings.getNumber("motd") if G.motdNumber and G.motdNumber ~= lastMotdNumber then g_settings.set("motd", motdNumber) motdWindow = displayInfoBox(tr('Message of the day'), G.motdMessage) connect(motdWindow, { onOk = function() CharacterList.show() motdWindow = nil end }) CharacterList.hide() end end end local function onUpdateNeeded(protocol, signature) loadBox:destroy() loadBox = nil if EnterGame.updateFunc then local continueFunc = EnterGame.show local cancelFunc = EnterGame.show EnterGame.updateFunc(signature, continueFunc, cancelFunc) else local errorBox = displayErrorBox(tr('Update needed'), tr('Your client needs update, try redownloading it.')) connect(errorBox, { onOk = EnterGame.show }) end end -- public functions function EnterGame.init() enterGame = g_ui.displayUI('entergame') enterGameButton = modules.client_topmenu.addLeftButton('enterGameButton', tr('Login') .. ' (Ctrl + G)', '/images/topbuttons/login', EnterGame.openWindow) enterGameButton:setWidth(23) motdButton = modules.client_topmenu.addLeftButton('motdButton', tr('Message of the day'), '/images/topbuttons/motd', EnterGame.displayMotd) motdButton:setWidth(31) motdButton:hide() g_keyboard.bindKeyDown('Ctrl+G', EnterGame.openWindow) if motdEnabled and G.motdNumber then motdButton:show() end local account = g_settings.get('account') local password = g_settings.get('password') local host = g_settings.get('host') local port = g_settings.get('port') local autologin = g_settings.getBoolean('autologin') local clientVersion = g_settings.getInteger('client-version') if clientVersion == 0 then clientVersion = 1095 end if port == nil or port == 0 then port = 7171 end EnterGame.setAccountName(account) EnterGame.setPassword(password) enterGame:getChildById('serverHostTextEdit'):setText(host) enterGame:getChildById('serverPortTextEdit'):setText(port) enterGame:getChildById('autoLoginBox'):setChecked(autologin) clientBox = enterGame:getChildById('clientComboBox') for _, proto in pairs(g_game.getSupportedClients()) do clientBox:addOption(proto) end clientBox:setCurrentOption(clientVersion) enterGame:hide() if g_app.isRunning() and not g_game.isOnline() then enterGame:show() end EnterGame.setUniqueServer(serverIP, 7171, 1095) end function EnterGame.firstShow() EnterGame.show() local account = g_crypt.decrypt(g_settings.get('account')) local password = g_crypt.decrypt(g_settings.get('password')) local host = g_settings.get('host') local autologin = g_settings.getBoolean('autologin') if #host > 0 and #password > 0 and #account > 0 and autologin then addEvent(function() if not g_settings.getBoolean('autologin') then return end EnterGame.doLogin() end) end end function EnterGame.terminate() g_keyboard.unbindKeyDown('Ctrl+G') enterGame:destroy() enterGame = nil enterGameButton:destroy() enterGameButton = nil clientBox = nil if motdWindow then motdWindow:destroy() motdWindow = nil end if motdButton then motdButton:destroy() motdButton = nil end if loadBox then loadBox:destroy() loadBox = nil end if protocolLogin then protocolLogin:cancelLogin() protocolLogin = nil end EnterGame = nil end function EnterGame.show() if loadBox then return end enterGame:show() enterGame:raise() enterGame:focus() end function EnterGame.hide() enterGame:hide() end function EnterGame.openWindow() if g_game.isOnline() then CharacterList.show() elseif not g_game.isLogging() and not CharacterList.isVisible() then EnterGame.show() end end function EnterGame.setAccountName(account) local account = g_crypt.decrypt(account) enterGame:getChildById('accountNameTextEdit'):setText(account) enterGame:getChildById('accountNameTextEdit'):setCursorPos(-1) enterGame:getChildById('rememberPasswordBox'):setChecked(#account > 0) end function EnterGame.setPassword(password) local password = g_crypt.decrypt(password) enterGame:getChildById('accountPasswordTextEdit'):setText(password) end function EnterGame.clearAccountFields() enterGame:getChildById('accountNameTextEdit'):clearText() enterGame:getChildById('accountPasswordTextEdit'):clearText() enterGame:getChildById('accountNameTextEdit'):focus() g_settings.remove('account') g_settings.remove('password') end function EnterGame.doLogin() G.account = enterGame:getChildById('accountNameTextEdit'):getText() G.password = enterGame:getChildById('accountPasswordTextEdit'):getText() G.host = enterGame:getChildById('serverHostTextEdit'):getText() G.port = tonumber(enterGame:getChildById('serverPortTextEdit'):getText()) local clientVersion = tonumber(clientBox:getText()) EnterGame.hide() if g_game.isOnline() then local errorBox = displayErrorBox(tr('Login Error'), tr('Cannot login while already in game.')) connect(errorBox, { onOk = EnterGame.show }) return end g_settings.set('host', G.host) g_settings.set('port', G.port) g_settings.set('client-version', clientVersion) protocolLogin = ProtocolLogin.create() protocolLogin.onLoginError = onError protocolLogin.onMotd = onMotd protocolLogin.onCharacterList = onCharacterList protocolLogin.onUpdateNeeded = onUpdateNeeded loadBox = displayCancelBox(tr('Please wait'), tr('Connecting to login server...')) connect(loadBox, { onCancel = function(msgbox) loadBox = nil protocolLogin:cancelLogin() EnterGame.show() end }) g_game.chooseRsa(G.host) g_game.setClientVersion(clientVersion) g_game.setProtocolVersion(g_game.getProtocolVersionForClient(clientVersion)) if modules.game_things.isLoaded() then protocolLogin:login(G.host, G.port, G.account, G.password) else loadBox:destroy() loadBox = nil EnterGame.show() end end function EnterGame.displayMotd() if not motdWindow then motdWindow = displayInfoBox(tr('Message of the day'), G.motdMessage) motdWindow.onOk = function() motdWindow = nil end end end function EnterGame.setDefaultServer(host, port, protocol) local hostTextEdit = enterGame:getChildById('serverHostTextEdit') local portTextEdit = enterGame:getChildById('serverPortTextEdit') local clientLabel = enterGame:getChildById('clientLabel') local accountTextEdit = enterGame:getChildById('accountNameTextEdit') local passwordTextEdit = enterGame:getChildById('accountPasswordTextEdit') if hostTextEdit:getText() ~= host then hostTextEdit:setText(host) portTextEdit:setText(port) clientBox:setCurrentOption(protocol) accountTextEdit:setText('') passwordTextEdit:setText('') end end function EnterGame.setUniqueServer(host, port, protocol, windowWidth, windowHeight) local hostTextEdit = enterGame:getChildById('serverHostTextEdit') hostTextEdit:setText(host) hostTextEdit:setVisible(false) hostTextEdit:setHeight(0) local portTextEdit = enterGame:getChildById('serverPortTextEdit') portTextEdit:setText(port) portTextEdit:setVisible(false) portTextEdit:setHeight(0) clientBox:setCurrentOption(protocol) clientBox:setVisible(false) clientBox:setHeight(0) local serverLabel = enterGame:getChildById('serverLabel') serverLabel:setVisible(false) serverLabel:setHeight(0) local portLabel = enterGame:getChildById('portLabel') portLabel:setVisible(false) portLabel:setHeight(0) local clientLabel = enterGame:getChildById('clientLabel') clientLabel:setVisible(false) clientLabel:setHeight(0) local serverListButton = enterGame:getChildById('serverListButton') serverListButton:setVisible(false) serverListButton:setHeight(0) serverListButton:setWidth(0) local rememberPasswordBox = enterGame:getChildById('rememberPasswordBox') rememberPasswordBox:setMarginTop(-5) if not windowWidth then windowWidth = 236 end enterGame:setWidth(windowWidth) if not windowHeight then windowHeight = 200 end enterGame:setHeight(windowHeight) end function EnterGame.setServerInfo(message) local label = enterGame:getChildById('serverInfoLabel') label:setText(message) end function EnterGame.disableMotd() motdEnabled = false motdButton:hide() end Para mudar seu ip só ir ali no começo do script e alterar aonde ta escrito "SEUIP"
  3. @Adventure quer que aparessa só o login e senha e isso ?
  4. @Hastafaru não entendi muito bem, o player quando usa o item não altera a vocação e outfit ou quando compra no site não recebe o item/não troca a vocation e outfit
  5. Boa noite, baixe um servidor 8.60 qualquer e como vc vai criar outro mapa tem varios scripts que você não ira utilizar como actions, alguns creaturescripts, ou seja sera quase que impossivel bugar. Mas caso venha a aparecer algum bug ou precisar de ajuda em algo estou disposto a te ajudar, só mandar pm para mim falando o que precise.
  6. @diorgenes Boa noite, posso estar falando besteira mas o erro poder que seja na sua source, mas tente usar esse tutorial quem sabe funcione: Tutorial
  7. @Ronald warsks Mais que isso se não me engane precisaria mexer no cliente para aceitar mais que isso, e o limite esta aumentado para 255 sendo que o original do tibia é 70.
  8. @KotZletY Desculpa, é a primeira vez que faço scan, link arrumado.
  9. Olá pessoal, a uns 2 anos atras eu estava procurando source 8.54 com limite de efeitos aumentado e não achei e os tutorial que achei na época para aumentar os efeito não funcionava então passei a usar o server com o limite original do tibia que não me recordo qual é, enfim hoje em dia aprendi e como vi que tem gente com o mesmo problema que eu tinha resolvi compartilhar-las. Lembrando elas estão só com o limite de efeitos e distance effect aumentados para 255 e 81 respectivamente. Testei ambas compilando com o dev-cpp e esta compilando normal, e a source 0.4 também testei em linux e também esta compilando normal. Source, Tfs 0.3.6 (8.54): Download Scan Source, Tfs 0.4 (8.60): Download Scan Caso não saibam compilar usando o Dev-cpp vejam esse tutorial que usei quando eu não sabia: Tutorial
  10. @dissolima Desculpa a demora, é que estava compilando ela para ver se estava tudo certo, enfim aqui o link da source: Source e o scan, não sei se precisa do scan mas ta ai : Scan Caso não saiba compilar no windows use esse tutorial, que foi o que eu usei quando não sabia: Tutorial
  11. Configuration.lua e monsters.xml não fazem parte da source, são scripts do server. E deve estar dando erro por você ter feito algo errado.
  12. Bom, achar um server sem bugs acho que é praticamente impossivel, você pode pegar um server global que ao meu ver é o mais simples que tem e criar um novo mapa.
  13. Usa esse tutorial: Se não conseguir me manda seu tibia.exe que mudo para você.
  14. Testa essa ai: Source Ja aumentei o limite de efeitos e compilei aqui em casa usando o dev-cpp e não deu nenhum erro, só não testei por não ter um server 8.54. Scan da source
  15. Tenho um servidor de dbo e tenho as sources, vou fazer o upload dela e te passo
  16. @Ronald warsks Bom, você primeiro tenta achar uma source de tibia que você consiga compilar, se conseguir eu aumento o limite de efeitos para você. Caso não ache uma source 16:30 eu vou estar no computador e procuro pra você, mas qual derivado você precisa ?
  17. WhiteBubble postou uma resposta no tópico em Suporte Tibia OTServer
    Tem um bug que no caso a pessoa consegue logar varias vezes no msm char, mas o char fica com nome de account manager, tem o bug de clonar pela guild com comando !disband.
  18. @dissolima Ainda necessita das sources ??
  19. No caso teria que alterar o items.otb tambem, remover a opção stackable de la. Remover smt do client vai bugar e ficar dando debug acredito eu.
  20. Ai os efeito que você poder por, no caso os scripts das wands, rods fica em weapons/scripts.
  21. Provavelmente você não liberou as portas do firewall no vps.
  22. Bom se for ao atacar crie um arquivo em weapons/scripts com nome.lua e adicione dentro local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_RED) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) function onUseWeapon(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+0, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 71) return doCombat(cid, combat, var) end Depois em weapons.xml adicione: <melee id="iddoitem" event="script" value="nome.lua"/> Para configurar so mudar nessa parte : doSendMagicEffect(position1, 71) onde ta 71 você poe o id do efeito.
  23. @Ronald warsks o executavel vai ser criado na pasta dev-cpp. Aconselho você procurar outra source, pelo que vi ali você quer para servidor derivado, você pode pegar de tibia mesmo e aumentar o limite de efeitos que é facil de se fazer.

Informação Importante

Confirmação de Termo