Ir para conteúdo

psychonaut

Membro
  • Registro em

  • Última visita

Tudo que psychonaut postou

  1. Muita pouca RAM.
  2. Opa vlw, é que peguei como base de um que ja tinha no meu mas parece que era antigo, e veio junto com meu tfs 1.0
  3. Ah pera, ve no /system/load.compat.php linha 20
  4. Sim, com o nome que ta pedindo na index.php na linha 33, talvez la tem a pasta também.
  5. Server 64bits compilado ja: http://www.mediafire.com/download/56qws9wps12x41z/TFS_1.0.7z(https://otland.net/threads/the-forgotten-server-1-0-protocol-10-21-64bit-compiled.202984/) Clientes: http://www.tibia.sx/ O que seria um "zerado"?
  6. Tenta usar esse https://code.google.com/p/gesior-aac/source/browse/trunk/AAC/shopsystem.php?r=162
  7. Ah, tem que por depois do end, muda doSummonCreature("Prince Drazzak", {x = 33523, y = 32334, z = 12}) end Pra: end doSummonCreature("Prince Drazzak", {x = 33523, y = 32334, z = 12})
  8. Você não tem a pagina do buypoints
  9. function onLogin(player, cid) if (getPlayerPremiumDays(cid) < 1 and getPlayerStorageValue(cid, 64555) > 0) then setPlayerStorageValue(cid, 64560, 0) doTeleportThing(cid, getPlayerMasterPos(cid), false) doPlayerSendTextMessage(cid,MESSAGE_FIRST,'Sua premium acabou, voce foi pro templo') doSendMagicEffect(getCreaturePosition(cid),CONST_ME_TELEPORT) end Ai no talkactions/scripts/buyprem.lua: local config = { days = 90, maxDays = 365, price = 10000 } function onSay(player, words, param) if configManager.getBoolean(configKeys.FREE_PREMIUM) then return true end if player:getPremiumDays() <= config.maxDays then if player:removeMoney(config.price) then player:addPremiumDays(config.days) setPlayerStorageValue(cid, 64555, 1) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have bought " .. config.days .." days of premium account.") else player:sendCancelMessage("You don't have enough money, " .. config.days .. " days premium account costs " .. config.price .. " gold coins.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end else player:sendCancelMessage("You can not buy more than " .. config.maxDays .. " days of premium account.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return false end return true end
  10. #edit, comentei no errado. O melhor resposta bugou aki
  11. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Teria que usar formula function onGetFormulaValues(cid, level, maglevel) min = (maglevel) *(level/3) +50 max = (maglevel) *(level/2) +50 return -min, -max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") Ai na função principal fica assim function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  12. No seu login.lua, depende de como ele for, tem uns que é assim player:registerEvent("Sempremium") Outros ja é -- ordered as in creaturescripts.xml local events = { 'Sempremium', 'TutorialCockroach', 'ElementalSpheresOverlords', 'BigfootBurdenVersperoth', 'BigfootBurdenWarzone', 'BigfootBurdenWeeper', 'BigfootBurdenWiggler', 'SvargrondArenaKill', 'NewFrontierShardOfCorruption', 'NewFrontierTirecz', 'ServiceOfYalaharDiseasedTrio', 'ServiceOfYalaharAzerus', 'ServiceOfYalaharQuaraLeaders', 'InquisitionBosses', 'InquisitionUngreez', 'KillingInTheNameOfKills', 'MastersVoiceServants', 'SecretServiceBlackKnight', 'ThievesGuildNomad', 'WotELizardMagistratus', 'WotELizardNoble', 'WotEKeeper', 'WotEBosses', 'WotEZalamon', 'PlayerDeath', 'AdvanceSave', 'AdvanceRookgaard', 'PythiusTheRotten', 'DropLoot' } Ve no criature scripts onde ta o login.lua que ta sendo usado, é um desses 2 tipos, ai tu põe la
  13. Vai na creaturescripts/scripts sempremium.lua function onLogin(player, cid) if getPlayerPremiumDays(cid) == 0 then doTeleportThing(cid, getPlayerMasterPos(cid), false) doPlayerSendTextMessage(cid,MESSAGE_FIRST,'Sua premium acabou, voce foi pro templo') doSendMagicEffect(getCreaturePosition(cid),CONST_ME_TELEPORT) end return true end creaturescripts/others/login.lua: 'Sempremium' No localevents. Ai no creaturescripts.xml: <event type="login" name="Sempremium" script="sempremium.lua" /> Qualquer coisa me avisa que arrumo. Não deu pra testar porque no meu servidor PA é grátis, então não cai no templo.
  14. Deu um trabalho do cão arrumar o banco de dados, mas enfim: local seconds = 4 -- tempo pra ler a msg de mudanca de nome local maxTextLenght = 15 -- limite de caracteres do nome local blacklistParam = {"account manager", "god", "cm", "gm", "tutor", "tester"} -- nomes proibidos pra usar local minWordLenght = 3 -- min de caracteres local qtd = 1 -- quantidade do item necessario local item = 1984 -- id do item necessario local function changeName(param) local guid = getPlayerGUID(param.pid) doRemoveCreature(param.pid) db.query("UPDATE `players` SET `name` = '"..param.params.."' WHERE `id` = " .. guid .. ";") doRemoveCreature(guid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Jogador com nome: '..param.nome..' Mudou para: '..param.params..'.') return true end function onSay(cid, words, param) dofile("./config.lua") nome = getCreatureName(cid) params = param pid = cid if param ~= "" then local resultx = db.storeQuery("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(param)) if not resultx then end local value = result.getDataString(resultx, 'name') result.free(resultx) print("chegou aki a") if (value == param) then print("chegou aki b") doPlayerSendCancel(cid, "Nome ja em uso.") return false end if (getPlayerItemCount(cid, item) < qtd) then doPlayerSendCancel(cid, "Voce nao possui o item.") elseif(not getTilePzInfo(getCreaturePosition(cid))) then doPlayerSendCancel(cid, "Voce precisa estar em pz para usar.") else if(string.len(tostring(params)) >= maxTextLenght) then doPlayerSendCancel(cid, "Ha um limite de " .. maxTextLenght .. "caracteres.") elseif(string.find(params:lower(), "[^%l%s]") ~= nil) then doPlayerSendCancel(cid, "Voce nao pode usar simbolos.") else for blacklist = 1, table.maxn(blacklistParam) do if(string.find(params:lower(), blacklistParam[blacklist]) ~= nil) then doPlayerSendCancel(cid, "Nome proibido.") return false end end local paramTemp, space, oldName = '', '', getCreatureName(cid) for word in string.gmatch(params, "%a+") do if(string.len(word) < minWordLenght) then doPlayerSendCancel(cid, "Cada palavra tem um minimo de " .. minWordLenght .. " caracteres.") return true end paramTemp = "" .. paramTemp .. "" .. space .. "" .. word .. "" if(space == '') then space = " " end end local guid = getPlayerGUID(cid) params = paramTemp if(pcall(doPlayerChangeName, guid, oldName, params) == false) then doPlayerRemoveItem(cid, item, qtd) doPlayerPopupFYI(cid, " Voce mudou o nome para "..params..".\nEntre denovo para aplicar as mudancas.") addEvent(changeName, seconds * 1000, {cid = cid, pid = pid, params = params, nome = nome}) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Mudara o nome para "..params.." em "..seconds.." segundos.") end end end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Use: /changename Novonome') end return true end talkactions.xml: <talkaction words="!changename" separator=" " script="NomedoScript.lua"/>
  15. No ultimo script ali que tu citou antes do meu Muda addEvent(doSummonCreature, 45*1, "Prince Drazzak", {x = 33523, y = 32334, z = 12}) Pra doSummonCreature("Prince Drazzak", {x = 33523, y = 32334, z = 12})
  16. Vo ver se arrumo É o god que muda o nome, ou o próprio jogador, acho que to fazendo o errado
  17. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Vai no stage, e coloca o level max no último stage e muda pra 0 o multiplicador. Se tu quiser compilar: player.h: [cpp]static uint64_t getExpForLevel(uint32_t lv) {[/cpp] Coloca isso depois disso ai [cpp]if(lv > 150000) return 0;[/cpp]
  18. Você quer que não summona? local paradinha_id = 22641 local itemX, quantidadeX = 22607, 1 local tb_players = { [1] = {pos = {x=33607,y=32362,z=11, stackpos=253},topos = {x=33534,y=32333,z=12}}, [2] = {pos = {x=33608,y=32362,z=11, stackpos=253},topos = {x=33534,y=32333,z=12}}, [3] = {pos = {x=33609,y=32362,z=11, stackpos=253},topos = {x=33534,y=32333,z=12}}, [4] = {pos = {x=33610,y=32362,z=11, stackpos=253},topos = {x=33534,y=32333,z=12}}, [5] = {pos = {x=33611,y=32362,z=11, stackpos=253},topos = {x=33534,y=32333,z=12}}, } function onUse(cid, item, fromPosition, itemEx, toPosition) local plataforma = 0 if itemEx.itemid == paradinha_id then for k,valor in pairs(tb_players) do all = getThingfromPos(valor.pos) if all.itemid > 0 and isPlayer(all.uid) then plataforma = plataforma+ all.itemid end end if plataforma == #tb_players then for k,valor in pairs(tb_players) do all = getThingfromPos(valor.pos) doTeleportThing(all.uid,valor.topos) doPlayerRemoveItem(cid, itemX, quantidadeX) end else doPlayerSendCancel(cid,"You need "..#tb_players.." players.") end end return true end
  19. Muda doRemoveItem(cid, itemX, quantidadeX) Pra doPlayerRemoveItem(cid, itemX, quantidadeX) E apaga essa linha: doRemoveItem(cid, item.itemid)
  20. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Se a rate for muito alta, coloca muitos leveis antes uma rate bem baixa, pra não pular de um stage pro outro.
  21. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Deve ser porque não tem como invocar criatura em PZ e nem invocar uma criatura que não existe, mas se não ta alterando nada nem crashando, isso ai não interfere em nada. Ele só ta avisando no console, que isto ocorreu.

Informação Importante

Confirmação de Termo