Ir para conteúdo
  • 0

NPC QUE VENDE 3º PROMOTION


rhastafary

Pergunta

Bom olá a todos.
Gostaria de pedir a ajuda de vocês do forum para criar o dialago de um npc que venda terceira promotion. No forum tem alguns posts com algo relacionado a isso porem essa terceira promotion tem 2 ou 3 opções para cada classe então preciso de um dialogo um pouco diferente. Segue a baixo o exemplo de como distribui a classe do knight. (Obs. Gostaria que esse npc vendesse a promotion do lv 20 tbm porem editada para lv 100)
Classe Normal
Knight
Primeira Promotion
Elite Knight
Terceira Promotion
Templar - Colossus ou Barbarian
Bom com isso a interassao com o npc é simples o jogador da "hi"  fala "promotion" ele da a opção de vender a promotion do LV 20. E quando o jogador fala "Awekin" ele identifica que classe o jogador é nesse exemplo elite knight e da as 3 opções de promotion "templar", "colussus" e "barbarian" e verificando se o jogador cumpre o requisito de lv que seria LV 500. Aqui nessa parte de requisitos para a terceira promotion eu gostaria de que o "custo" dessa promo seja dar ao npc 3 itens.
Lv para primeira promotion 
100
custo para primeira promotion
1kk
Lv para terceira promotion
500
Custo para terceira promotion
ID = xx ID = yy ID = zz
Espero que possam me ajudar pois estou iniciando um projeto novo e estou reaprendendo a mecher em ot server. Deade já agradeço.

"caso precise de mais info sobre minha ideia eu respondo"

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
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
local PRO = {
	[0] = {lvl=20,gold=20000}, -- Ex: promo 0 zero kina > elite kina
	[1] = {lvl=50,gold=50000} -- Ex: promo 1 elite kina > new kina
}

function creatureSayCallback(cid, _, msg)
if(not npcHandler:isFocused(cid)) then return false end
local msg,pro = string.lower(msg),getPlayerPromotionLevel(cid)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	if(msgcontains(msg, 'promot'))then
		if(getPlayerLevel(cid) >= PRO[pro].lvl)then
			if(isPlayerPremiumCallback(cid) or not getBooleanFromString(getConfigValue('premiumForPromotion'))) then
				npcHandler:say('Gostaria de ser promovido por '..PRO[pro].gold..' Gps?', cid)
				talkState[talkUser] = 1
			else
				npcHandler:say('Desculpe, mas promotion é apenas para premmy accounts.', cid)
				talkState[talkUser] = 0
			end
		else
			npcHandler:say('Para ser promovido é preciso ter level '..PRO[pro].lvl..' ou mais e '..PRO[pro].gold..' moedas de ouro.', cid)
			talkState[talkUser] = 0
	elseif(talkState[talkUser] == 1)then 
		if(doPlayerRemoveMoney(cid, PRO[pro].gold))then
			setPlayerPromotionLevel(cid,pro+1)
			npcHandler:say('Acabo de promove-lo siga agora sua honra.',cid)
			talkState[talkUser] = 0
			npcHandler:resetNpc()
		else
			npcHandler:say('Desculpe, mas voce nao tem os '..PRO[pro].gold..' Gps. volte quando os tiver.',cid)
			talkState[talkUser] = 0
			npcHandler:resetNpc()
		end
	end
	return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

é só modificar

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...