Ir para conteúdo

drakylucas

Visconde
  • Total de itens

    416
  • Registro em

  • Última visita

  • Dias Ganhos

    5

Tudo que drakylucas postou

  1. n é.. o config, nesse caso, é só uma tabela da config principal.. abre o buy premium pra voce ver.. <config name="buypremium_config"><![CDATA[ <-- esse é o nome real.. é como se fosse o nome da lib a ja desisti de fazer em mods.. vo só arruma um bug do sistema que deu no creaturescript agr e ja vou posta-lo..
  2. assim nao tem nem sentido funcionar... nao ta pegando a tabela ¬¬ kk cara namoral mods ta um cú kkk.. se eu copiar tudo, a parte de config criar uma lib, adicionar uma talk e o creaturescript separados do mod (no topico nao está ele inteiro), funciona ¬¬.. só q qria fazer tudo em 1 arquivo só =x kk
  3. nao é a palavra, ja tentei mudar =/
  4. acho que é algum bug... alguma solução? <?xml version="1.0" encoding="iso-8859-1"?> <mod name="Atributos System" version="1.0" author="Draky Lucas" contact="XTibia" enabled="yes"> <config name="draky_attributes"><![CDATA[ local storages = { storageLevelJaPego = 12448, storagePontos = 12449, } ]]></config> <event type="login" name="loginAttributes" event="buffer"><![CDATA[ domodlib("draky_attributes") print(storages.storageLevelJaPego) ]]></event> </mod> attempt to index global 'storages' (a nil value) PS: se eu fizer o mesmo fora do mod funciona oO.. e ja tentei tirar a palavra "local".. nao era ela.
  5. ultra top.. parabens aos desenvolvedores
  6. Roksas, um errinho.. arruma a storage.. vc verificou uma e setou outra, o player pode fazer 1000x a quest ^^
  7. aparentemente vai ser bem legal o servidor... pretendem usar o OTClient para o sistema de atributos? ficaria bem legal.. melhor q janela popup ^^ algum sistema ja feito?
  8. acho que isso era no topico de premium especifico, nao no de invasão kk adiciona a tag access="5" (acho q é assim q escreve) no talkactions.xml
  9. Slicer, é verdade, nao tinha reparado nisso kkk ee Skymagnum, o que tem contra o otscript live? o debugger dele quebra um puta galho, fora que ja tem a maioria das funções com parametros adicionados, assim se vc só lembrar parte do nome ja da pra achar a funçao. a identação dele até zoa um pouco, mas não é grande coisa, só zoa se você misturar espaços com tab
  10. acho q está na area errada.. é na area de servidores derivados que vc tem q postar esse script ^^ e PS: tente explicar aos usuarios como fazer nas spells que for usar o pouch (é facil explicar, se quiser pode copiar o do pedido la q eu deixei em vermelho)
  11. geralmente vejo seus scripts e a maioria não são bem feitos (estruturamente falando) em lua, mas esse ficou legal cara.. parabens.. ta certinha a estrutura do script, nada no lugar errado ^^ só uma dica, esse if (if(words == "/buypremium") then) é desnecessario, pois você tem que adicionar no talkactions.xml e ele só irá funcionar caso digite isso, ou seja, nao precisa verificar no script ^^ vou dar rep+ pq a ideia foi legalzinha, simples de ser feito porem muito util PS: eu te critico pra vc melhorar, se todo mundo sempre falar que seus scripts são excelentes, você vai sempre continuar fazendo errado.. recebendo dicas, talvez, faça que quando você for fazer algo parecido dinovo, saia menos erros e com qualidade superior
  12. vc sabe ler? http://www.xtibia.co...22#entry1500822 na sua screenshot: "sqlite3" edit: caso queira utilizar o sistema com sqlite, crie manualmente as tabelas e faça os alter tables manualmente também (pelo sqlite studios).. o update acho que funciona normal.
  13. pera é algo no for entao.. vou arrumar e ja edito kk function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid, var) local pos = getThingPosition(getCreatureTarget(cid)) for x = -1,1 do for y = -1,1 do posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} if isWalkable(posicao) and posicao ~= {x = pos.x,y = pos.y,z = pos.z} then doCreateItem(5750,1,posicao) end end end addEvent(function() for x = -1,1 do for y = -1,1 do posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} if getTileItemById(posicao, 5750).uid > 0 then doRemoveItem(getTileItemById(posicao, 5750).uid) end end end end,5*1000) return true end teste agora
  14. não tem sentido não estar sumindo oO posso refazer a magia com a mesma funcionalidade, só que do meu jeito? teste: function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid, var) local pos = getThingPosition(getCreatureTarget(cid)) for x = -1,1 do for y = -1,1 do if x ~= 0 and y ~= 0 then posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} if isWalkable(posicao) then doCreateItem(5750,1,posicao) end end end end addEvent(function() for x = -1,1 do for y = -1,1 do if x ~= 0 and y ~= 0 then posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} if getTileItemById(posicao, 5750).uid > 0 then doRemoveItem(getTileItemById(posicao, 5750).uid) end end end end end,5*1000) return true end
  15. local remove_time = 5 -- tempo em segundos para remover as magic wall local item_id = 5750 -- id da magic wall function onCastSpell(cid, var) local pos = getThingPosition(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end addEvent(removeItem, remove_time*1000, posAll) return true end function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function removeItem(posAll) local item = 0 for i=1, #posAll do item = getTileItemById(posAll[i], item_id).uid if item > 0 then doRemoveItem(item) end end end testa ae e posta o resultado
  16. local combatn = createCombatObject() setCombatParam(combatn, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatn, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combatn, COMBAT_FORMULA_LEVELMAGIC, -0, -0, -0, -0, -0, -0, -0, -0) local combats = createCombatObject() setCombatParam(combats, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats, COMBAT_PARAM_EFFECT, 19) setCombatFormula(combats, COMBAT_FORMULA_LEVELMAGIC, -0, -0, -0, -0, -0, -0, -0, -0) local combate = createCombatObject() setCombatParam(combate, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combate, COMBAT_PARAM_EFFECT, 18) setCombatFormula(combate, COMBAT_FORMULA_LEVELMAGIC, -0, -0, -0, -0, -0, -0, -0, -0) local combatw = createCombatObject() setCombatParam(combatw, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatw, COMBAT_PARAM_EFFECT, 20) setCombatFormula(combatw, COMBAT_FORMULA_LEVELMAGIC, -0, -0, -0, -0, -0, -0, -0, -0) local combatds = createCombatObject() setCombatParam(combatds, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combatds, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) local combatdn = createCombatObject() setCombatParam(combatdn, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combatdn, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) local combatde = createCombatObject() setCombatParam(combatde, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combatde, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) local combatdw = createCombatObject() setCombatParam(combatdw, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combatdw, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) north = { {0, 0, 0}, {0, 0, 0}, {0, 2, 1}, {0, 0, 0} } south = { {1, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0} } east = { {0, 1, 0}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0} } west = { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 2, 1}, {0, 0, 0, 0}, {0, 0, 0, 0} } damages = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 1, 0}, {0, 3, 0} } damagen = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 1, 0}, {0, 3, 0} } damagee = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 1, 0}, {0, 3, 0} } damagew = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 1, 0}, {0, 3, 0} } local arean = createCombatArea(north) local areas = createCombatArea(south) local areae = createCombatArea(east) local areaw = createCombatArea(west) local areadn = createCombatArea(damagen) local areads = createCombatArea(damages) local areade = createCombatArea(damagee) local areadw = createCombatArea(damagew) setCombatArea(combatn, arean) setCombatArea(combatw, areaw) setCombatArea(combats, areas) setCombatArea(combate, areae) setCombatArea(combatdn, areadn) setCombatArea(combatds, areads) setCombatArea(combatde, areade) setCombatArea(combatdw, areadw) function onCastSpell(cid, var) doSendAnimatedText(getThingPos(cid), "30", 5) local outfit = getCreatureOutfit(cid) outfit.lookType = 385 doSetCreatureOutfit(cid, outfit, 3) -- nao sei se é 3 ou se é 3000 addEvent(function() outfit.lookType = 386 doSetCreatureOutfit(cid, outfit, 3) -- nao entendi direito quanto tempo vai ter que ficar com essa roupa, -1 é infinitamente, e a cada 1 acho q é um segundo, ou 1000 = um segundo if getCreatureLookDir(cid) == 0 then doCombat(cid, combatn, var) doCombat(cid, combatdn, var) elseif getCreatureLookDir(cid) == 1 then doCombat(cid, combate, var) doCombat(cid, combatde, var) elseif getCreatureLookDir(cid) == 2 then doCombat(cid, combats, var) doCombat(cid, combatds, var) elseif getCreatureLookDir(cid) == 3 then doCombat(cid, combatw, var) doCombat(cid, combatdw, var) end end,3000) return TRUE end teste... se não der certo, mude doSetCreatureOutfit(cid, outfit, 3) pra "3000" ou pra "-1" e teste dinovo (sem aspas em)
  17. mods são scripts comuns... é só remover tudo onde tem -- ¬¬ vou remover aqui e posto.. CASO ALGUEM MAIS TENHA ERRO, COLOQUE ESSE SCRIPT: (testa ai psy) <?xml version="1.0" encoding="iso-8859-1"?> <mod name="Reinos" version="1.0" author="Draky Lucas" contact="xtibia.com" enabled="yes"> <config name="configuracao"><![CDATA[ storages = { invitation = 24545, } patentes = { [1] = {nivel = "Membro"}, [2] = {nivel = "Vice lider"}, [3] = {nivel = "Lider"}, } patenteMinima = 2 reinoSeAtaca = false reinoMataOutrosReinos = true pz = true anunciarSistema = true function setReino(guid,id,nivel) return db.executeQuery("UPDATE `players` SET reino = " .. id .. ", nivelreino = ".. nivel .." where id = ".. guid ..";") end function getReino(guid) local qr = db.getResult("SELECT `reino`,`nivelreino` FROM `players` WHERE `id`= ".. guid ..";") reinoid = qr:getDataInt("reino") nivelreino = qr:getDataInt("nivelreino") return {reino = reinoid, nivel = nivelreino} end function getNameReino(id) if id == 0 then return "Sem Reino" end local qr = db.getResult("SELECT `name` FROM `reinos` WHERE `id`= ".. id ..";") name = qr:getDataString("name") return name end function getMembersReino(id) local result = db.getResult('SELECT `name`, `nivelreino` FROM `players` WHERE `reino`='..id..' ORDER BY `nivelreino` DESC;') local table = {} local i = 1 while TRUE do table[i] = {result:getDataString("name"), patentes[result:getDataInt("nivelreino")].nivel} if not(result:next()) then break end i = i + 1 end return table end function getIdReino(name) local qr = db.getResult("SELECT `id` FROM `reinos` WHERE `name`= '".. name .."';") if qr:getID() == -1 then return -1 end return qr:getDataInt("id") end function installReinos() if db.executeQuery("ALTER TABLE `players` ADD reino INT(4) NOT NULL DEFAULT 0;") and db.executeQuery("ALTER TABLE `players` ADD nivelreino INT(4) NOT NULL DEFAULT 0;") and db.executeQuery("CREATE TABLE `reinos` (`id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `ownerid` INT NOT NULL, PRIMARY KEY (`id`), UNIQUE (`name`) ) ENGINE = InnoDB;") then print("O Banco de dados foi criado com sucesso! [by Draky Lucas]") print("O Sistema ja pode ser utilizado!") return TRUE end print("[Reinos - Draky Lucas] Não foi possível instalar o Sistema. Algum erro ocorreu no banco de dados") return FALSE end function getInvitation(cid) local invites = getPlayerStorageValue(cid,storages.invitation) if invites == -1 or invites == nil then return -1 end return {reino = string.match(invites, "{reino = (.-),"),nivel = string.match(invites, "nivel = (.-)}")} end function invitar(cid,name,reinoid,reinonivel) if getReino(getPlayerGUID(cid)).reino <= 0 then return "Você não pertence a reino algum!" end if getReino(getPlayerGUID(cid)).nivel < patenteMinima then return "Você precisa ser ao menos ".. patentes[patenteMinima].." para poder convidar pessoas!" end if not isPlayer(getPlayerByNameWildcard(name)) then return "ERROR:\nDigite o nome do jogador corretamente!\nEle tem que estar online\n\nDigite !reinos invitar, nick do player!\nexemplo:\n!reinos invitar,Draky Lucas" end if getReino(getPlayerGUID(getPlayerByNameWildcard(name))).reino ~= 0 then return "O jogador "..name.." ja esta em outro reino! \nDesculpe" end if type(getInvitation(getPlayerByNameWildcard(name))) == "number" then setPlayerStorageValue(getPlayerByNameWildcard(name), storages.invitation, "{reino = " ..reinoid..", nivel = "..reinonivel.."}") doShowTextDialog(getPlayerByNameWildcard(name),1976,"O Reino " ..getNameReino(reinoid).." quer que voce se torne " .. patentes[reinonivel].nivel .. "\n\nDigite \"!reinos aceitar\" para entrar no reino, \"!reinos recusar\" para recusar o convite!") doPlayerSendTextMessage(getPlayerByNameWildcard(name),19,"O Reino " ..getNameReino(reinoid).." quer que voce se torne " .. patentes[reinonivel].nivel) doPlayerSendTextMessage(getPlayerByNameWildcard(name),19,"Digite \"!reinos aceitar\" para entrar no reino, \"!reinos recusar\" para recusar o convite!") return "Voce acabou de invitar o jogador "..name.." para o seu reino!" else return "O jogador "..name.." ja foi convidado para outro reino! Desculpe" end return true end function expulsar(cid,name) if getReino(getPlayerGUID(cid)).reino <= 0 then return "Você não pertence a reino algum!" end if not isPlayer(getPlayerByNameWildcard(name)) then return "ERROR:\nDigite o nome do jogador corretamente!\nEle tem que estar online\n\nDigite !reinos expulsar, nick do player!\nexemplo:\n!reinos expulsar,Draky Lucas" end if getReino(getPlayerGUID(cid)).nivel <= getReino(getPlayerByNameWildcard(name)).nivel then return "Você precisa ser ao menos uma patente maior que a pessoa na qual voce deseja expulsar do reino!" end if getReino(getPlayerGUID(getPlayerByNameWildcard(name))).reino ~= 0 and getReino(getPlayerGUID(getPlayerByNameWildcard(name))).reino == getReino(getPlayerGUID(cid)).reino then doShowTextDialog(getPlayerByNameWildcard(name),1976,"O Jogador " .. getCreatureName(cid) .. " lhe expulsou do reino "..getNameReino(getReino(getPlayerGUID(cid)).reino).."!") doPlayerSendTextMessage(getPlayerByNameWildcard(name),19,"O Jogador " .. getCreatureName(cid) .. " lhe expulsou do reino "..getNameReino(getReino(getPlayerGUID(cid)).reino).."!") setReino(getPlayerGUIDByName(name),0,0) return "Voce acabou de expulsar o jogador "..name.." do seu reino!" else return "O jogador "..name.." não é do seu reino!" end return true end function recuseInvitation(cid) local invites = getInvitation(cid) if getReino(getPlayerGUID(cid)).reino ~= 0 then return "Você ja pertence a algum reino!\n\nCaso queira sair, digite:\n!reinos sair" end if type(invites) == "number" then return "Nenhum reino te invitou até agora!" end setPlayerStorageValue(cid, storages.invitation, -1) return "Voce recusou o convite do reino " .. getNameReino(invites.reino) .. "! Agora você pode ser convidado para outros reinos!" end function acceptInvitation(cid) local invites = getInvitation(cid) if type(invites) == "number" then return "Nenhum reino te invitou até agora!" end if pz == true and getCreatureCondition(cid, CONDITION_INFIGHT) == true then return "Voce nao pode aceitar convites em quanto estiver em battle!" end setReino(getPlayerGUID(cid),tonumber(invites.reino),tonumber(invites.nivel)) setPlayerStorageValue(cid, storages.invitation, -1) return "Voce entrou no reino " .. getNameReino(tonumber(invites.reino)) .. "!" end function sairReino(cid) if getReino(getPlayerGUID(cid)).reino <= 0 then return "Voce nao esta em nenhum reino!" end if pz == true and getCreatureCondition(cid, CONDITION_INFIGHT) == true then return "Voce nao pode aceitar convites em quanto estiver em battle!" end setReino(getPlayerGUID(cid),0,0) return "Voce acaba de deixar o reino!" end function criarReino(ownerName, nomeReino) if getReino(getPlayerGUIDByName(ownerName)).reino > 0 then return "Voce ja esta em um reino. Deixe-o para criar o seu!" end if pz == true and getCreatureCondition(getPlayerByNameWildcard(ownerName), CONDITION_INFIGHT) == true then return "Voce nao pode aceitar convites em quanto estiver em battle!" end if getIdReino(nomeReino) > 0 then return "Um reino com esse nome ja existe!\n\nTente outro nome!" end db.executeQuery("INSERT INTO reinos(name,ownerid) VALUES ('"..nomeReino.."',".. getPlayerGUIDByName(ownerName)..");") setReino(getPlayerGUIDByName(ownerName),getIdReino(nomeReino),#patentes) doPlayerSendTextMessage(getPlayerByNameWildcard(ownerName),22,"Voce criou o reino ".. nomeReino.. "!") doPlayerSendTextMessage(getPlayerByNameWildcard(ownerName),22,"Digite \"!reinos invitar,NOME\" para convidar o NOME para o seu reino!") return "Voce criou o reino ".. nomeReino.. "!\n\nDigite \"!reinos invitar,NOME\" para convidar o NOME para o seu reino!" end function excluirReino(ID) db.executeQuery("UPDATE `players` SET reino = 0, nivelreino = 0 where reino = ".. ID ..";") db.executeQuery("DELETE from `reinos` where id = ".. ID ..";") db.executeQuery("DELETE from `player_storage` where value like '{reino = ".. ID ..",%';") return true end ]]></config> <event type="login" name="registerEvents" event="buffer"><![CDATA[ domodlib('configuracao') if reinoSeAtaca == false then registerCreatureEvent(cid,"naoAtacarProprioReino") end if reinoMataOutrosReinos == true then registerCreatureEvent(cid,"reinoMataOutrosReinos") end registerCreatureEvent(cid,"lookReino") ]]></event> <talkaction words="!reinos" event="buffer"><![CDATA[ domodlib('configuracao') if param == "instalar" and getPlayerGroupId(cid) > 4 then doPlayerSendTextMessage(cid,19,"Veja no console se o sistema foi instalado!") return installReinos() end local reinos = getReino(getPlayerGUID(cid)) local invites = getInvitation(cid) local string = "" if param == "creditos" then doShowTextDialog(cid, 1976,"Draky Lucas - XTibia\n\nEnjoy it!") return true end if param == "" or param == nil or param == false then if type(invites) == "number" and reinos.reino == 0 then string = "Voce nao pertence a nenhum reino e ainda nao foi convidado para pertencer a algum!\n\nDigite \"!reinos criar,NOME\" para criar um reino!" end if type(invites) == "table" then string = string .. "Voce foi invitado para ser " .. patentes[tonumber(invites.nivel)].nivel .. " do reino " .. getNameReino(tonumber(invites.reino)) .."!\n" string = string .. "Digite uma das opções:\n" string = string .. "!reinos aceitar\n" string = string .. "!reinos recusar\n" end if reinos.reino > 0 then string = string .. "Voce é ".. patentes[reinos.nivel].nivel .." do reino " .. getNameReino(reinos.reino) .."!\n" string = string .. "Digite uma das opções:\n" string = string .. "!reinos membros\n" string = string .. "!reinos sair\n" end if reinos.reino > 0 and reinos.nivel >= patenteMinima then string = string .. "!reinos invitar,NOME\n" string = string .. "!reinos expulsar,NOME\n" end if reinos.nivel == #patentes then string = string .. "\n----\nAtenção: Sendo a mais alta patente, ao sair do reino, ele será desfeito!\n----" end return doShowTextDialog(cid, 1976, string) end if param == "membros" then if reinos.reino == 0 then string = string .. "Você não pertence a reino algum!" else local table = getMembersReino(reinos.reino) string = string .. "Membros do reino " .. getNameReino(reinos.reino) ..":\n" for i = 1,#table do string = string .. table[i][1] .. " - " .. table[i][2] .. "\n" end end return doShowTextDialog(cid, 1976, string) end if param == "sair" then if reinos.nivel == #patentes then excluirReino(reinos.reino) doShowTextDialog(cid, 1976, "Seu reino foi desfeito!") return true end string = sairReino(cid) return doShowTextDialog(cid, 1976, string) end if param == "recusar" then string = recuseInvitation(cid) return doShowTextDialog(cid, 1976, string) end if param == "aceitar" then string = acceptInvitation(cid) return doShowTextDialog(cid, 1976, string) end local t = string.explode(param, ",") if t[1] == "invitar" then if not t[2] then return doShowTextDialog(cid, 1976, "Digite !reinos invitar, nick do player!\nexemplo:\n!reinos invitar,Draky Lucas") end string = invitar(cid,t[2],reinos.reino,1) return doShowTextDialog(cid, 1976,string) end if t[1] == "criar" then if not t[2] then return doShowTextDialog(cid, 1976, "Digite !reinos criar, Nome do Reino!\nexemplo:\n!reinos criar,Imperio Draky") end recuseInvitation(cid) string = criarReino(getCreatureName(cid), tostring(t[2])) return doShowTextDialog(cid, 1976,string) end if t[1] == "expulsar" then if not t[2] then return doShowTextDialog(cid, 1976, "Digite !reinos expulsar,NOME!\nexemplo:\n!reinos expulsar,Draky Lucas") end string = expulsar(cid,t[2]) return doShowTextDialog(cid, 1976,string) end ]]></talkaction> <globalevent name="anunciarReinos" interval="1800000" event="script"><![CDATA[ domodlib('configuracao') if anunciarSistema == true then return doBroadcastMessage("O Servidor conta com um sistema de reinos! digite !reinos e saiba a respeito!") end return true ]]></globalevent> </mod>
  18. cara, seu script está com problemas serios. primeiro, se eu fizer invazão de demon, será sumonado só 1 demon.. a solução sua seria adicionar mais demons ao scripts com outras posições? okay, entao mandaria 100 mensagens de broadcast..... reveja suas ideias. PS: Ripping é crime.. ontem um usuario levou ban de 7 dias e 10% de alerta por ripar scripts do vodkart.. fica o alerta.
  19. http://www.xtibia.com/forum/topic/189633-travel-100-by-drakylucas/ parecido, não? ^^
  20. ter tem, mas nao vou fazer isso agora... quando eu tiver paciencia eu monto uma v2 e arrumo os erros (tipo patentes funcionarem..) etc
  21. Aqui ja nao da nenhum erro oO sua distro não está lendo comentarios feitos nos mods... PS: nunca teve nada em talkactions.xml... só creaturescripts que foram feitos fora do mods. No seu caso especifico, tente tirar todos os comentarios do script (tudo que estiver -- você deleta.. vc entende um pouco de scripting).... olha algumas screenshots (vou atualizar o topico com elas.. pra provar q funciona) http://img716.imageshack.us/img716/7127/imagem1ta.jpg http://img96.imageshack.us/img96/6951/imagem2te.jpg http://img593.imageshack.us/img593/5536/imagem3dx.jpg http://img833.imageshack.us/img833/376/imagem4md.jpg http://img705.imageshack.us/img705/1297/imagem5fu.jpg http://img823.imageshack.us/img823/5379/imagem6dc.jpg http://img705.imageshack.us/img705/6476/imagem7z.jpg http://img703.imageshack.us/img703/223/imagem8p.jpg http://img199.imageshack.us/img199/4434/imagem9.JPG http://img195.imageshack.us/img195/4889/imagem10r.jpg http://img96.imageshack.us/img96/6255/imagem11fu.jpg http://img28.imageshack.us/img28/2418/imagem12fk.jpg http://img844.imageshack.us/img844/7480/imagem13w.jpg PS: sem erros no console.
  22. testado com TFS 0.4 rev 3884 (8.60) qualquer servidor acima dele funcionará.. o TFS 0.3.6 provavelmente não funcionará (nao existe unregisterCreatureEvent em 0.3.6)
  23. algum script em onLogin pode estar bugando o Firewall do HOST VPS pode estar em conflito o Anti DDOS do HOST VPS pode estar em conflito também.. só essas 3 causas possiveis. edit: um outro possivel problema que lembrei agora é o IP no config.lua estar errado oO ou o no-ip estar com a caixinha desmarcada
  24. use com MYSQL.. talvez esteja dando erro pois você deve estar utiizando com sqlite.. os erros provavelmente são de banco de dados, certo? eu nao faço nada em sqlite.. nenhum servidor famoso vai usar sqlite ¬¬.. na teoria o db.executeQuery deveria funcionar com sqlite mas na pratica eu nao sei... digite !reinos instalar e tire a ss do erro.
  25. ja está para clonar 1 só ^^
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...