Ir para conteúdo
  • Cadastre-se

Posts Recomendados

fala galera boa noite, gostaria de saber se é possivel quando eu der vip pro cara ele virar outra vocação e ficar com o nome exemplo ele for kina ele vira Vip Knight e depois de quantidade de dias o vip for removido sozinho e ele teleportado pro templo, obrigado

 

function onSay(cid, words, param, channel)
	local t = param:explode(",")
	local name, days = t[1], tonumber(t[2])
	if words == "/installvip" then
		if installVip() then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip System instalado com sucesso!")
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível instalar o Vip System!")
		end
	elseif words == "/addvip" then
		if name then
			if days then
				local acc = getAccountIdByName(name)
				if acc ~= 0 then
					addVipDaysByAccount(acc, days)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip ao "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
				end
			else
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de vip.")
			end
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar dia(s) de vip a este player.")
		end
	elseif words == "/removevip" then
		if name then
			if days then
				local acc = getAccountIdByName(name)
				if acc ~= 0 then
					doRemoveVipDaysByAccount(acc, days)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você retirou "..days.." dia(s) de vip do "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
				else
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
				end
			else
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar essa quantidade de dia(s) de vip.")
			end
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar dia(s) de vip a este player.")
		end
	elseif words == "/checkvip" then
		if name then
			local acc = getAccountIdByName(name)
			if acc ~= 0 then
				local duration = getVipDateByAccount(acc)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O "..name.." possui "..getVipDaysByAccount(acc).." dias de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
			else
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
			end
		else
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode visualizar os dias de vip a este player.")
		end
	end
	return TRUE
end

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites

Primeiramente você deve criar as vocações em data/xml/vocations.xml

Assim que tiver as vocações criadas eu posso editar esse script da vip ai para adicionar uma promotion na pessoa, e criar outro que cheque quando a vip acaba para tirar a promotion.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

aí 

<vocation id="9" name="Vip Sorcerer" description="a meteor sorcerer" needpremium="1" gaincap="15" gainhp="7" gainmana="38" gainhpticks="3" gainhpamount="180" gainmanaticks="2" gainmanaamount="295" manamultiplier="1.2" attackspeed="245" soulmax="210" gainsoulticks="18" fromvoc="5" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
 <skill fist="1.5" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

 </vocation>

 <vocation id="10" name="Vip Druid" description="an ultimate druid" needpremium="1" gaincap="15" gainhp="7" gainmana="38" gainhpticks="3" gainhpamount="180" gainmanaticks="2" gainmanaamount="295" manamultiplier="1.2" attackspeed="245" soulmax="210" gainsoulticks="18" fromvoc="6" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
 <skill fist="1.5" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

 </vocation>

 <vocation id="11" name="Vip Paladin" description="an omega paladin" needpremium="1" gaincap="30" gainhp="20" gainmana="20" gainhpticks="2" gainhpamount="270" gainmanaticks="2" gainmanaamount="265" manamultiplier="1.4" attackspeed="200" soulmax="210" gainsoulticks="18" fromvoc="7" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
 <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.2" shielding="1.2" fishing="1.1" experience="1.0"/>

 </vocation>

 <vocation id="12" name="Vip Knight" description="a blood knight" needpremium="1" gaincap="30" gainhp="22" gainmana="8" gainhpticks="2" gainhpamount="260" gainmanaticks="2" gainmanaamount="210" manamultiplier="3.0" attackspeed="200" soulmax="210" gainsoulticks="18" fromvoc="8" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
 <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>

 </vocation>
 </vocations>

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites

o vip system q usei foi esse aí tem tudo, ta dando esse erro quando abre mc

 

https://otland.net/threads/the-best-vip-system-ever-action-movevent-globalevent.71638/

 

Editado por CDM (veja o histórico de edições)

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites

data/creaturescripts/globalevents.xml

<event type="login" name="VipPromo" event="script" value="vippromo.lua"/>

data/creaturescripts/scripts/login.lua

Lá no final, junto com os outros.

registerCreatureEvent(cid, "VipPromo")

 

 

data/creaturescripts/scripts/vippromo.lua

function onLogin(cid)
	if getPlayerVipDays(cid) > 0 then
		setPlayerStorageValue(cid, 20500, 1)
		setPlayerPromotionLevel(cid, 2)
	elseif getPlayerVipDays(cid) == 0 and getPlayerStorageValue(cid, 20500) == 1 then
		doTeleportThing(cid, getPlayerMasterPos(cid))		
		setPlayerStorageValue(cid, 20500, -1)
		setPlayerPromotionLevel(cid, 1)
	end
	return true
end

 

Vai dar promotion quando o cara entrar e tiver mais de 0 dias de vip, vai tirar a promotion e mandar pro templo quando o cara era vip e ela acabou.

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

baseado naquele scrip do vip aonde eu altero ali pra pegar um dia só de vip pra ver se a promoção de classe ta funcionando e se o script de vip ta funcionando sair automático tbm ??

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites
9 horas atrás, CDM disse:

baseado naquele scrip do vip aonde eu altero ali pra pegar um dia só de vip pra ver se a promoção de classe ta funcionando e se o script de vip ta funcionando sair automático tbm ??

Como assim? Não entendi o pedido.

O que adiciona a vip é a talkaction que mandou la no topico acredito que é só você dar: /addvip nome, 1 para adicionar um dia, ai reloga o char que ganhou a vip para ver se ele ganha a promotion, então dê /removevip nome, 1 para remover o dia de vip e relogue para ver se ele vai pro templo e perde a promotion.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
2 horas atrás, DukeeH disse:

Como assim? Não entendi o pedido.

O que adiciona a vip é a talkaction que mandou la no topico acredito que é só você dar: /addvip nome, 1 para adicionar um dia, ai reloga o char que ganhou a vip para ver se ele ganha a promotion, então dê /removevip nome, 1 para remover o dia de vip e relogue para ver se ele vai pro templo e perde a promotion.

eu usei assim e não deu vip pro cara ai usei ao contrario dias depois o nome deu vip só q da um erro no console [18/03/2016 11:47:28] [Error - TalkAction Interface] 
[18/03/2016 11:47:28] data/talkactions/scripts/adddays.lua:onSay
[18/03/2016 11:47:29] Description: 
[18/03/2016 11:47:29] data/talkactions/scripts/adddays.lua:32: attempt to concatenate global 'sender' (a nil value)
[18/03/2016 11:47:29] stack traceback:
[18/03/2016 11:47:29]     data/talkactions/scripts/adddays.lua:32: in function <data/talkactions/scripts/adddays.lua:1>

Editado por CDM (veja o histórico de edições)

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites

eu retirei a vip o cara não foi teleportado ta bugado  ovip system oseguinte quando vou logar duas conta com mc da esse erro, por isso a parte de teleporta o vip deve ta bugado tbm

[18/03/2016 12:28:33] [Error - CreatureScript Interface] 
[18/03/2016 12:28:33] buffer:onLogin
[18/03/2016 12:28:33] Description: 
[18/03/2016 12:28:33] (luaRegisterCreatureEvent) Creature not found

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

Link para o post
Compartilhar em outros sites

Tenta ae:

em creaturescripts/scripts cria um arquivo chamado: vocVIP.lua

local config = {
[1] = { 9, 10},
[2] = { 10, 10},
[3] = { 11, 10},
[4] = { 12, 10},
[5] = { 9, 10},
[6] = { 10, 10},
[7] = { 11, 10},
[8] = { 12, 10},
}

local config2 = {
[9] = { 5, 10},
[10] = { 6, 10},
[11] = { 7, 10},
[12] = { 8, 10},
}

function onLogin(cid)

if getPlayerVipDays(cid) >= 1 then
	setPlayerStorageValue(cid, 43215, 1)
elseif getPlayerStorageValue(cid, 43215) == 1 and getPlayerVipDays(cid) <= 0 then
	doTeleportThing(cid, getTownTemplePosition(1))
	doPlayerSendTextMessage(cid, 27, "Sua VIP expirou, e voce perdeu os privilegios e a vocacao VIP.")
	setPlayerStorageValue(cid, 43215, -1)
end

local voc = config[getPlayerVocation(cid)]
if getPlayerVipDays(cid) >= 1 then
	if voc then
		doPlayerSetVocation(cid, voc[1])
		doSendMagicEffect(getCreaturePosition(cid), voc[2])
	end
end

local voc2 = config2[getPlayerVocation(cid)]
if getPlayerVipDays(cid) <= 0 then
	if voc2 then
		doPlayerSetVocation(cid, voc2[1])
		doSendMagicEffect(getCreaturePosition(cid), voc2[2])
	end
end

return true
end

tag em creaturescripts.xml:

<event type="login" name="vocVIP" event="script" value="vocVIP.lua"/>

registra em login.lua

registerCreatureEvent(cid, "vocVIP")

me dá um retorno, se funcionou ou não.

OBS: com esse script você não vai precisar alterar nada no script do comando, vai ficar automatico se verificar que o player é VIP, vai adicionar a vocação VIP, e quando acaba a VIP o player volta a ser a vocação free. (exemplo: se ele é VIP knight quando acabar a VIP, vai virar Elite Knight).

Editado por janmix (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

mano agora q vi removi o vip deixei  oservidor do zero ta dando esse erro aqui me ajuda a conserta aí primeiro o erro

[18/03/2016 13:09:13] [Error - CreatureScript Interface] 
[18/03/2016 13:09:13] buffer:onLogin
[18/03/2016 13:09:13] Description: 
[18/03/2016 13:09:13] (luaRegisterCreatureEvent) Creature not found

 

ao meu login.lua

 

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 19
-- time (in seconds) between connections to SQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
SQL_COMUNICATION_INTERVAL = SQL_interval * 1000
function onLogin(cid)
if(InitShopComunication == 0) then
        local eventServ = addEvent(sql_communication, SQL_COMUNICATION_INTERVAL, {})
        InitShopComunication = eventServ
    end
                 registerCreatureEvent(cid, 'advance')
    registerCreatureEvent(cid, "PlayerDeath")
    registerCreatureEvent(cid, "Ushuriel")
    registerCreatureEvent(cid, "Zugurosh")
    registerCreatureEvent(cid, "Madareth")
    registerCreatureEvent(cid, "Golgordan")
    registerCreatureEvent(cid, "Annihilon")
    registerCreatureEvent(cid, "Hellgorak")
    return TRUE
end

function sql_communication(parameters)
    local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';")
    if(result_plr:getID() ~= -1) then
        while(true) do
            id = tonumber(result_plr:getDataInt("id"))
            action = tostring(result_plr:getDataString("action"))
            delete = tonumber(result_plr:getDataInt("delete_it"))
            cid = getPlayerByName(tostring(result_plr:getDataString("name")))
            if isPlayer(cid) == TRUE then
                local itemtogive_id = tonumber(result_plr:getDataInt("param1"))
                local itemtogive_count = tonumber(result_plr:getDataInt("param2"))
                local container_id = tonumber(result_plr:getDataInt("param3"))
                local container_count = tonumber(result_plr:getDataInt("param4"))
                local add_item_type = tostring(result_plr:getDataString("param5"))
                local add_item_name = tostring(result_plr:getDataString("param6"))
                local received_item = 0
                local full_weight = 0
                if add_item_type == 'container' then
                    container_weight = getItemWeightById(container_id, 1)
                    if isItemRune(itemtogive_id) == TRUE then
                        items_weight = container_count * getItemWeightById(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    if isItemRune(itemtogive_id) == TRUE then
                        full_weight = getItemWeightById(itemtogive_id, 1)
                    else
                        full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                end
                local free_cap = getPlayerFreeCap(cid)
                if full_weight <= free_cap then
                    if add_item_type == 'container' then
                        local new_container = doCreateItemEx(container_id, 1)
                        local iter = 0
                        while iter ~= container_count do
                            doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
                            iter = iter + 1
                        end
                        received_item = doPlayerAddItemEx(cid, new_container)
                    else
                        local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
                        received_item = doPlayerAddItemEx(cid, new_item)
                    end
                    if received_item == RETURNVALUE_NOERROR then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')
                        db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')
                end
            end
            if not(result_plr:next()) then
                break
            end
        end
        result_plr:free()
    end
    local eventServ = addEvent(sql_communication, SQL_COMUNICATION_INTERVAL, parameters)
end
function checkRecord()
   local onlinePlayers = getWorldCreatures(0)
   if(onlinePlayers > getMaxPlayers()) then
      broadcastMessageEx(MESSAGE_EVENT_ADVANCE, 'New record: ' .. onlinePlayers .. (onlinePlayers > 1 and ' players' or ' player')..  ' are logged in.')
      local save = assert(io.open('record.ini', "wb"))
      local data = save:read("*number")
      save:write(onlinePlayers)
      save:close()
   end
end
    
function getMaxPlayers()
    
    local file = assert(io.open('record.ini', "rb"))
    local t = file:read("*number")
    file:close()
    
    return (t == nil and 0 or t)
end

Firmão igual um prego na areia,
Prego, jogou o ego, dentro de um buraco,
Um Bon vivant, jamais mostra o ponto fraco,
Pergunte a Sansão quem foi Dalila...

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo