Ir para conteúdo
  • Cadastre-se

PEDIDO : NPC PROMOTION


Posts Recomendados

o ot tem 2 promotion a primeira é para quem não é vip por exemplo um elite knight vira member knight, e a segunda é só pra quem é vip, então eu estava querendo um script de npc.lua para estas funções :

vender promotion só se tiver a 1ª promotion

vender só se tiver level

vender só se tiver money para comprar

falas :

player : hi

npc: Welcome, Usuario! I have been expecting you!

player : promotion / vip promotion

npc :

You want to be promoted vip for 80000000 gold coins?

ou

You are already promoted, good bye... (npc sai da conversa)

player : yes

npc :

you don't have 80000000 gold coins to be promoted vip, good bye... (npc sai da conversa)

ou

Sorry, you need to have the first promotion to be promoted vip, good bye... (npc sai da conversa)

ou

Congratulations! You were promoted vip! good bye! (npc sai da conversa)

+++REP pra quem ajudar ai galera ! valeu :D !

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

Assim?


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

local price = 80000000

if(msgcontains(msg, 'promotion') or msgcontains(msg, 'member promotion')) then

selfSay('Você quer ser promovido member por '..price..' moedas? {yes} ', cid)

talkState[talkUser] = 1

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

if doPlayerRemoveMoney(cid,price) then

if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 4 then

doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)

selfSay('Parabens! Você foi promovido member! ', cid)

talkState[talkUser] = 0

else

selfSay('Desculpe, você precisa ter a primeira promotion para ser promovido member.', cid)

talkState[talkUser] = 0

end

else

selfSay('Você não tem ' .. price .. ' moedas para ser promovido member...', cid)

talkState[talkUser] = 0

end

elseif msg == "no" and talkState[talkUser] >= 1 then

selfSay("Then not", cid)

talkState[talkUser] = 0

npcHandler:releaseFocus(cid)

end

return TRUE

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Link para o post
Compartilhar em outros sites

Entedi, não é tão dificil basta adicionar um tempo a promotion , igual isso..


local storage = xxxxx

setPlayerStorageValue(cid,storage,os.time())

Depois a verificação

time = 30 * 24 * 30 * 30

if (os.time() - getPlayerStorageValue(cid,storage)) => time then

doPlayerSetVocation(cid,getPlayerVocation(cid) - 4)

end

assim?

Link para o post
Compartilhar em outros sites

não... o bug da promotion sair quando o char loga novamente, tipo vc é member sorcerer, dai vc deslogar e loga dps e vai dar look ta master sorcerer, esse bug q é chatinho ;s, mas também achei legal esse sistema do tempo de promotion, posso botar limite ao vip promotion oque iria ser muito bom também, mas esse bug da promotion ta irritando :s

Editado por serj100 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 4 years later...

@serj100, pelo jeito que está dizendo, o char é Sorcerer e quando desloga e loga novamente e ganha a promotion.

Tem algum script que está promovendo os char's automaticamente, não precisando assim do char ir no NPC comprar promotion.

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