Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Um npc que só teleporta player vip exemplo

eu: hi

npc: pra que cidade deseja ir?

eu:cidade vip

npc: me desculpe mais você nao é um player vip.

agora com um player vip ele teleportaria normalmente.

"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

Que sistema de vip você usa ?

2z8t5ef.jpg

p7gkt.jpg

"Quem ri por último é retardado."

"Quem cedo madruga, fica com sono o dia todo."

"Família que reza unida, é religiosa pra caralho."

Link para o post
Compartilhar em outros sites

Use aquele sistema que eu te passei por msn, fiz um npc simplezinho aqui pra você.

Timral.xml

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Timral" script="travel.lua" walkinterval="0" floorchange="0">

	<health now="150" max="150"/>

	<look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/>

    <parameters>

		<parameter key="message_greet" value="Hello |PLAYERNAME|. If you don't know where to flow, say {travel}."/>

    </parameters>

</npc>
travel.lua
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())

È isso ?

OBS: Não testei

2z8t5ef.jpg

p7gkt.jpg

"Quem ri por último é retardado."

"Quem cedo madruga, fica com sono o dia todo."

"Família que reza unida, é religiosa pra caralho."

Link para o post
Compartilhar em outros sites

cara eu takei certim mais do /s Timral e não apareçe o npc :S

"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
  • 1 month later...

Se você pretende criar OT Sério para que só os VIP's possam ir para tal cidade aqui segue algumas dicas

Melhor sistema vip que existe é o de Premium Account do OTServ

1° - Remova a talkaction !buypremium do seu ot se ela tiver(pode esta na pasta mod se seu ot possuir)

2° - Libere as magias para os free account usarem, para isto vá até data/spells/spells.xml e procure as tags "premium"(ou algo parecido) e coloque todas elas para "0"

3° - Ultilize o npc tiral que vem com o server quando você baixa se não me engano

4° - Se você entende um pouqinho de lua você pode ultilizar a função isPremium(cid)

Eu ultilizo o servido da OpenTibia SVN

vou te mostrar um script ultilizando o premium da lib de npc sem usar isPremium(cid)


-- This is an example NPC script that can be used on Jiddo's NPC system

-- Coordinates are not real, same for the name of cities or other server-based things here


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


local travelNode = {}


-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!

travelNode = keywordHandler:addKeyword({'derelin'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Derelin for 119 gold coins?'})

	travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 119, destination = {x=1367, y=403, z=7} })

	travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'})


travelNode = keywordHandler:addKeyword({'drunia'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Drunia for 123 gold coins?'})

	travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 123, destination = {x=967, y=247, z=7} })

	travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'})


keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to Derelin or Drunia for just a small fee.'})


-- Makes sure the npc reacts when you say hi, bye etc.

npcHandler:addModule(FocusModule:new())

Espero que te ajude, qualquer coisa clica ali no joinha xD

Dá um rep++ ali>>>>

Flw

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

cara eu takei certim mais do /s Timral e não apareçe o npc :S

Ou mano não e /s não e /n

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo