Ir para conteúdo
  • Cadastre-se

Npc barco que leva apenas player vip


Posts Recomendados

Bom estou a procura de um npc barco que leve apenas player vip.

Exemplo:

hi -Player

travel - Player

Desculpe mais você não é vip - Npc

Caso o player seja vip

ele fala as 2 city e leva o player.

ja tentei alguns mais foi sem sucesso.

esse sistema vip é para gersior '*'

rep+ pra quem ajuda

function onSay(cid, words, param)

		 if param == "" then

			return  doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Real\n---------------\nDeletar vip:\n/vip del player\n/vip del Real\n---------------\nVer a vip:\n/vip see player\n/vip see Real\n---------------\n")

		 end

		 if param:lower():find('add') == 1 and 3 then

			local _,_,id,name = param:lower():find('add (%d+) (.+)')

			name = name or ""

			id = tonumber(id or 1) or 1

			if tonumber(id) == nil or getPlayerByName(name) == false then

			   return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Adicionar vip:\n/vip add days player\n/vip add 30 Real\n [Player: "..name.."]")

			end  

			if isPlayer(getPlayerByName(name)) == TRUE then

			vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id))


			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".")

			doPlayerSendTextMessage(getPlayerByName(name),MESSAGE_INFO_DESCR,"Você recebeu "..tonumber(id).." dias de vip.")

		 else

		   doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,name.." não esta online ou não existe.")

		 end

		 elseif param:lower():find('del') == 1 and 3 then

			local _,_,name = param:lower():find('del (.+)')

			if getPlayerByName(name) == false then

			   return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Deletar vip:\n/vip del player\n/vip del Real\n")

			end


			vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time())

			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"A vip de "..name.." foi apagada.")																																			  

		 elseif param:lower():find('see') == 1 and 3 then

			local _,_,name = param:lower():find('see (.+)')

			name = name or ""

			if getPlayerByName(name) == false then

			   return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Ver a vip:\n/vip see player\n/vip see Real\n")

			end

			local ret_ = vip.getVip(getPlayerByName(name))

			if ret_ == 0 then

			  return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,name.." Não tem vip, e nunca teve.")

			else

			  return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_))

			end

		 end

		 return TRUE

end

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

"Assinatura removida, aqui não é lugar de vendas e sim de compartilhamento de conteúdo, leia as regras!"

Matheus

Link para o post
Compartilhar em outros sites

Coloca

 em volta do script, assim fica mas organizado e evita bugs.

Edit:

Não esta dando para entender, porfavor de uma explicada.

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

Acho que tu tem que pegar a função que adiciona vip e por no npc do barco pra fazer a checagem se é ou não vip.

não sei mas acho que a função é

getVip(getPlayerByName(name)) so que tu tem que postar o npc de barco e não o script do vip system.

Donate

 

Link para o post
Compartilhar em outros sites

esse é o npc um cara me passo mais ele nao ta checando corretamente qualquer player pode ser vip ou não ele fala que nao é vip ;x


local price = 50

local config = {

pos1 = {x=976,y=924,z=7},

pos2 = {x=980,y=924,z=7},

}

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}																										   

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then

return false

end

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

if(msgcontains(msg, 'travel')) then

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

selfSay('Você não é VIP para viajar',cid)

return TRUE

end

talkState[talkUser] = 1

selfSay('Você deseja ir pra qual cidade? {city1},{city2}',cid)


elseif (msgcontains(msg, 'city1')) and talkState[talkUser] == 1  then

if doPlayerRemoveMoney(cid, price)==true then

doTeleportThing(cid, config.pos1)

else

return selfSay('Você não tem money para viajar',cid)

end


elseif (msgcontains(msg, 'city2')) and talkState[talkUser] == 1  then

if doPlayerRemoveMoney(cid, price)==true then

doTeleportThing(cid, config.pos2)

else

return selfSay('Você não tem money para viajar',cid)

end

end

return true

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

"Assinatura removida, aqui não é lugar de vendas e sim de compartilhamento de conteúdo, leia as regras!"

Matheus

Link para o post
Compartilhar em outros sites

Seguinte nesse script do barco tem essa parte:


if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

no nº 13540 você tem que por a sua storage vip que faz com que o player passe na area do map *tile vip*

eu acho que é 13500 o seu então tenta olhar qual é e mude no script.

Procure no movements ou no seu script todo de vip pra ver se ele Seta uma storage e ponha no script do barco.

Donate

 

Link para o post
Compartilhar em outros sites
  • 3 years later...

Olá pessoal , estou com o mesmo problema , no meu caso, tem o npc tem as cidades vip , porém qual quer players estar podendo ir a essas cidades vip , como que eu faço para que apenas os vip's possam ir la ? Segue meu Npc Barco :

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
 
        
        
-- OTServ event handling functions start
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
-- OTServ event handling functions end
   
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'dark forest'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Dark Forest em troca de 100 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 100, destination = {x=215, y=1016, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 100, destination = {x=215, y=1016, z=6} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'andorhal'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Andorhal em troca de 150 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=603, y=740, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=603, y=740, z=6} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'moonglade'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Moonglade em troca de 200 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 200, destination = {x=941, y=850, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 200, destination = {x=941, y=850, z=6} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'tanaris'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Tanaris em troca de 150 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=473, y=1344, z=7} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=473, y=1344, z=7} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'zanknore'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Zanknore em troca de 200 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 200, destination = {x=768, y=1088, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 200, destination = {x=768, y=1088, z=6} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'iceforge'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Iceforge em troca de 150 gps?'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=883, y=1214, z=7} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=883, y=1214, z=7} })
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'everfrost'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Everfrost[VIP] em troca de 170 gps? Mas atenção, esta cidade é apenas para jogadores VIP.'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, vip = true, level = 0, cost = 170, destination = {x=937, y=1716, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 170, destination = {x=937, y=1716, z=6} })
 
 
-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
local travelNode = keywordHandler:addKeyword({'nighthaven'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você deseja ir para Nighthaven[VIP] em troca de 200 gps? Mas atenção, esta cidade é apenas para jogadores VIP.'})
travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 200, destination = {x=1238, y=1743, z=6} })
travelNode:addChildKeyword({'sim'}, StdModule.travel, {npcHandler = npcHandler, premium = true, vip = true, level = 0, cost = 200, destination = {x=1238, y=1743, z=6} })
 
-- Makes sure the npc reacts when you say hi, bye etc.
npcHandler:addModule(FocusModule:new())
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

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo