Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Preview

95XDc4x.gif

 

Script

data/spells/spells.xml

<instant name="Deviglation" words="deviglation" lvl="160" maglv="6" mana="1200" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Deviglation.lua">
	<vocation id="2"/> --- Druid
	<vocation id="6"/> --- Elder Druid
</instant>

data/spells/scripts/Deviglation.lua

-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{2}}))
function getDmg_Brush(cid, level, maglevel)
	return (80)*-1,(180)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_SMALLICE}local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{2}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (80)*-1,(180)*-1 
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")local combat0_Brush_3 = createCombatObject()
setCombatParam(combat0_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN)
setCombatParam(combat0_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_3,createCombatArea({{1, 0, 0, 0, 1},
{0, 1, 2, 1, 0},
{1, 0, 0, 0, 1}}))
function getDmg_Brush_3(cid, level, maglevel)
	return (86)*-1,(200)*-1 
end
setCombatCallback(combat0_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDCLUB)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{2}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (80)*-1,(200)*-1 
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat0_Brush_2 = {CONST_ANI_WHIRLWINDCLUB}local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_THROWINGKNIFE)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{2}}))
function getDmg_Brush(cid, level, maglevel)
	return (95)*-1,(210)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_SMALLEARTH}local combat0_Brush_6 = createCombatObject()
setCombatParam(combat0_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat0_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_6,createCombatArea({{0, 1, 1, 1, 0},
{1, 0, 2, 0, 1},
{0, 1, 1, 1, 0}}))
function getDmg_Brush_6(cid, level, maglevel)
	return (90)*-1,(280)*-1 
end
setCombatCallback(combat0_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6")

-- Areas/Combat for 900ms
local combat9_Brush_6 = createCombatObject()
setCombatParam(combat9_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat9_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat9_Brush_6,createCombatArea({{1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 2, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush_6(cid, level, maglevel)
	return (90)*-1,(280)*-1 
end
setCombatCallback(combat9_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6")local combat9_Brush_3 = createCombatObject()
setCombatParam(combat9_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN)
setCombatParam(combat9_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat9_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 2, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush_3(cid, level, maglevel)
	return (86)*-1,(200)*-1 
end
setCombatCallback(combat9_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")

-- Areas/Combat for 400ms
local combat4_Brush_6 = createCombatObject()
setCombatParam(combat4_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
setCombatParam(combat4_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat4_Brush_6,createCombatArea({{0, 1, 1, 1, 1, 1, 0},
{1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 2, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1},
{0, 1, 1, 1, 1, 1, 0}}))
function getDmg_Brush_6(cid, level, maglevel)
	return (90)*-1,(280)*-1 
end
setCombatCallback(combat4_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6")local combat4_Brush_3 = createCombatObject()
setCombatParam(combat4_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN)
setCombatParam(combat4_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat4_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush_3(cid, level, maglevel)
	return (86)*-1,(200)*-1 
end
setCombatCallback(combat4_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
	if (isCreature(cid)) then
		doCombat(cid, c, var)
		if (dirList ~= nil) then -- Emit distance effects
			local i = 2;
			while (i < #dirList) do
				doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
				i = i + 2
			end		
		end
	end
end

function onCastSpell(cid, var)
	local startPos = getCreaturePosition(cid)
	RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
	RunPart(combat0_Brush_2,cid,var)
	RunPart(combat0_Brush_3,cid,var)
	RunPart(combat0_Brush_2,cid,var,dfcombat0_Brush_2,startPos)
	RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
	RunPart(combat0_Brush_6,cid,var)
	addEvent(RunPart,900,combat9_Brush_6,cid,var)
	addEvent(RunPart,900,combat9_Brush_3,cid,var)
	addEvent(RunPart,400,combat4_Brush_6,cid,var)
	addEvent(RunPart,400,combat4_Brush_3,cid,var)
	return true
end

Créditos: Azhaurn

Editado por Azhaurn (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
34 minutos atrás, Pifafa disse:

acabei de testa é bem bonita mesmo, porem não tem dano? como coloca algum dano?

Não está hitando? Eu configurei pra hitar 290 no máximo, se eu não me engano.

Link para o post
Compartilhar em outros sites

 

6 horas atrás, Azhaurn disse:

Não está hitando? Eu configurei pra hitar 290 no máximo, se eu não me engano.

A ele hita mas não no mostro selecionado, mesma coisa com algumas outras spells que senhor fez.

Estou tentando coloca para que apenas player com reset pode-se usa as spells, mas parece impossível pois meu sistema não usa storage!
 

--[[ <(Advanced Reset System 2.0)>

           Autor: MarcelloMkez. Contato: ([email protected])
           Versão: 2.0
           Testado em: 8.50 e 8.60
           TFS: 0.3.6 and 0.4.0
           Fórum: http://www.xtibia.com/forum/topic/142463-advanced-reset-system-20/

       -=[Características]=-
        ~( Versão 2.0 )~

       - Resets agora Armazenados na DataBase; (Sem Valor de Storage)
       - Instala o System e cria a Tabela de Resets com o comando "/installreset";
       - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.;
       - [STAGES] para "Premium Account" e "Free Account";  ]] 

--=[Functions]=--

-- installReset()'                    [Instala o Sistema.]
-- tableResetInstall()'               [Verifica Se o Sistema ja foi instaladao.]
-- nowReseting()'                     [Verifica, retorna o erro ou reseta.]
-- getPlayerReset(cid)'               [Pega numero de resets do player.]
-- checLevelStageReset(cid)'          [Verifica o Level para Resetar.]
-- newReset(cid)'                     [Verifica todas as Condições de Reset.]
-- addValue(value)'                   [Adiciona numero de resets.]

--=[Comandos de Jogadores]=--
--  "/installreset"   -- Só será usado uma vez, para instalar o sistema.
--  "!resetar"        -- Para Resetar.

function onSay(cid, words, param)

            if words =="!resetar" then

--[ Condições de Reset ] --
local coNdConf = {

needPz = true,                  -- Precisa estar em Pz pra resetar?               [true, false]
needPa = false,                 -- Precisa ser Premium Account Pra resetar?       [true, false]
withe = false,                  -- Players com Pk Withe podem resetar?            [true, false]
red = false,                    -- Players com Pk Red pode resetar?               [true, false]
battle = false,                 -- Players precisão estar sem battle pra resetar? [true, false]
teleport = true,                -- Teleportar Player para o templo após resetar?  [true, false]
look = true,                   -- Aparecer Resets no Look do Player?             [true, false]
pid = getPlayerGUID(cid),       -- Não Mexer.


--[ Configurações do Reset ] --
resetConf = {

Level = 700,                    -- Level Necessário para Resetar.                         [Valor]
backLvl = 8,                    -- Level que voltará após o Reset.                        [Valor]
time = 5,                       -- Tempo para o Player deslogar ao resetar, em segundos.  [Valor]

  },
}
          --[[>> STAGES <<]]--
x=true;X=true -- Não Mexer.
local stage = {Abilitar = {}, Desabilitar = {x},     --<< Abilitar Stages?? >>--            [{x};{}]

--      [RESETS]    |  [PREMMY]  |   [FREE]
 stage1= {resets= 4,  premmy= 330, free= 350},
 stage2= {resets= 9,  premmy= 340, free= 355},     -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}])
 stage3= {resets= 14, premmy= 355, free= 360},     -- resets = Número de resets para o Stage;
 stage4= {resets= 19, premmy= 360, free= 365},     -- premmy = Level necessário para Premium Accounts;
 stage5= {resets= 24, premmy= 370, free= 380},     -- free    = Level necessário para Free Accounts;
 stage6= {resets= 29, premmy= 380, free= 390},       -- Coloque em Ordem...
 stage7= {resets= 35, premmy= 400, free= 410},     -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES]
 stage8= {resets= 40, premmy= 410, free= 440},     -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x}
 stage9= {resets= 45, premmy= 450, free= 450},
 stage10={resets= 50, premmy= 465, free= 465},

}
        --[[>> FIM STAGES <<]]--

--=[Pega Valor de Resets]=--
function getPlayerReset(cid)
local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";")
rss = qr:getDataInt("reset", coNdConf.pid)
if rss < 0 then
rss = 0
end
return rss
end

local success = "                   ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage
local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid)
local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";"
local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";"
local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";"
local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";"

--=[Reseta]=--
function addValue(value)
if coNdConf.look == false then
  doRemoveCreature(cid)
 db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query)
else
  doRemoveCreature(cid)
   db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query)
  return LUA_NO_ERROR
 end
end

function nowReseting()
if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
  return true
end
if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then
      doPlayerPopupFYI(cid, success)
      addEvent(addValue, coNdConf.resetConf.time*1000, value)
    else
      doPlayerPopupFYI(cid, success)
      addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid)))
      addEvent(addValue, coNdConf.resetConf.time*1000, value)
  return true
 end
end

--[STAGES Nao mexer em nada.]--
function checkLevelStageReset(cid)

local stages = {
    {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free},
    {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free},
    {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free},
    {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free},
    {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free},
    {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free},
    {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free},
    {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free},
    {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free},
    {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free},
}
    local resets = getPlayerReset(cid)
        for i, tab in ipairs(stages) do
            if resets <= tab.resets then
                coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free
                break
            end
        end
if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then
err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -")
return TRUE
end

  if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then
     doPlayerPopupFYI(cid, success)
     addEvent(addValue, coNdConf.resetConf.time*1000, value)
   else
   doPlayerPopupFYI(cid, success)
   addEvent(addValue, coNdConf.resetConf.time*1000, value)
   addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid)))
    return true
  end
end
    function newReset(cid)
    if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then
     err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end
    if(coNdConf.needPa == true) and not isPremium(cid) then
     err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end
    if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then
     err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end
    if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then
     err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end
    if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
     err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end

local xy = {true,false}
table.insert(stage.Abilitar, false)
table.insert(stage.Desabilitar, false)
if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then
checkLevelStageReset(cid)
elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then
nowReseting()
else
doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!")
end
return true
end
    function tableResetInstall()
     print(not rss_db  and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ")
     addEvent(newReset, 1000, cid)
     return false
     end
    if tableResetInstall() then
  end
end
    --=[Install System]=--
       function installReset()
        if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then
                print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!")
                return TRUE
        end
        print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.')
        return FALSE
     end
        local tt = {
           "Preparando Instalação...",
           "Instalando: TableReset Db...",
           "Instalando: getPlayerReset()...",
           "Instalando: addValue()...",
           "Instalando: checkLevelStageReset()...",
           "Instalando: newReset() and nowReseting()...",
           "Finalizando Instalação...",
           "...",
           success = {
           "Iniciando...",
           "function: TableReset Db...    [success]",
           "function: getPlayerReset()...    [success]",
           "function: addValue(value)...       [success]",
           "function: checkLevelStageReset()... [success]",
           "function: newReset() and nowReseting()...     [success]",
           "Fim da Instalação.  ",
           "by: ~~ MarcelloMkez ~~              \nContato: [email protected]",
           inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase"

           },

         },

        }
     if words == "/installreset" and getPlayerAccess(cid) >= 3 then
            function install()
            if installReset() then
                print(""..tt.success[7].."")
                   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."")
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!")
           else
                print("["..tt.success.inst[1].."]  FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].")
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].")
            end
            return 1
        end
          function concl(cid)
            local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[7].."")
                 print(""..tt[8].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[8].."")
                addEvent(install, 1000,cid)
            end
            function finall(cid)
                local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[6].."")
                print(""..tt[7].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[7].."")
                addEvent(concl, 3000,cid)
            end
             function installDd(cid)
               local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[5].."")
                print(""..tt[6].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[6].."")
                addEvent(finall, 1000,cid)
            end
            function installCc(cid)
               local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[4].."")
                print(""..tt[5].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[5].."")
              addEvent(installDd, 1000,cid)
            end
            function installBb(cid)
               local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[3].."")
                print(""..tt[4].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."")
              doPlayerSendTextMessage(cid, typetx,""..tt[4].."")
            addEvent(installCc, 1000,cid)
            end
            function installAa(cid)
              local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[2].."")
                print(""..tt[3].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[3].."")
                addEvent(installBb, 1000,cid)
            end
            function toInstall()
              local typetx = MESSAGE_STATUS_CONSOLE_BLUE
                print(""..tt.success[1].."")
                print(""..tt[2].."")
                doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."")
                doPlayerSendTextMessage(cid, typetx,""..tt[2].."")
               addEvent(installAa, 1000,cid)
              end
            function preparation()
              local typetx = MESSAGE_STATUS_CONSOLE_BLUE
               print(""..tt[1].."")
             doPlayerSendTextMessage(cid, typetx,""..tt[1].."")
            addEvent(toInstall, 3000,cid)
        end
            if preparation() then
            end
        end
return 1
end
--=[By: MarcelloMkez]=--

 

Link para o post
Compartilhar em outros sites

 

Azhaurn

Ei Mano Manda Um Server no tibia e client Por favor Melhor !!!!!

1° Add Skype : Victorgamestutorias

2° Add Skype : Dbko.gabriel

Vou Me Dor +REP !!!

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por Tyren
      Fala galera, tranquilos?
      Recentemente comecei a desenvolver um servidor de Pokémon (famoso poketibia) porém ai me veio a duvida, ainda existe "players" interessados nisso?
      Pois eu vejo vários projetos bons morrerem na praia ou nem saírem do papel e isso meio que da uma desanimada.
      Na concepção de vocês, o que falta para um bom poketibia? Mapa? Sistemas? Voltar as antigas e lançar um servidor Old School?
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo