Ir para conteúdo
  • Cadastre-se

(Resolvido)talk de !promotion


Ir para solução Resolvido por Snowsz,

Posts Recomendados

Precisava de uma talk que reconhece-se a vocação e desse a próxima para o jogador por x preço e level.

 

Por exemplo:

 

Reconhecer que o char é Knight, Druid, Sorcerer e Paladin, e promover para suas devidas próximas vocação por 200000 (200k), e tem que ter 120 de level +, então viraria Elite Knight, Elder Druid, Master Sorcerer, Royal Paladin

 

Depois de virar EK, ED, MS E RP, permitir usar o comando apenas se estiver level 500 e remover 1000000 (1kk) do jogador.

 

No OT nasce vocation, 1,2,3,4 os id

 

próximo são, 5,6,7,8 e depois 9,10,11,12

 

 

Player Says [20]: !promotion

(Você não é level 120, e precisa de 200k para promotion)

 

Player Says [150]: Você foi promovido, só poderá usar o comando agora acima do level 500 é necessário (1kk).

 

 

 

Ai se o player for acima do 500, e usa o comando já ganha a nova vocação que seria, por exemplo o EK, seria ID 4 e dps usaria denovo pra pegar vocação vip id 12

 

Caso o player utilize o comando pela primeira vez acima do level 600 por exemplo, adciona a vocação normal, primeiro vira EK e depois a vocação VIP EK. ai ele poderia usa 2x seguidas, depois disso bloqueia o uso do comando.

 

 

 

 

 

Conseguiram entender tudo? asdiusahdiuhasud bagunça.... :facepalm:

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

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

É só pegar um script de promotion normal e colocar como !promotion e fazer um outro comando de promotion, exemplo: !promotion2 ou !promotionvip e botar pra retirar 1kk e ter level 500, serve assim?

horizontallogowhite1.png

Link para o post
Compartilhar em outros sites

Cara, você tem 5 vocações iniciais, depois vai para 4 ???

 

 

 

EDIT, para fazer, eu preciso saber qual vocação recebe qual vocação...

 

já que o seu é diferente, eu não posso usar:

doPlayerSetVocation(cid, getPromotedVocation(cid))

Jno, to fazendo, mas preciso de mais informações...

 

function onSay(cid, words, param)

local voc = {1,2,3,4,5}
local money1 = 20*10000 -- O primeiro numero é em crystals
money1 = money/10000

if     getPlayerLevel(cid) < 120 then
doPlayerSendCancel(cid, 'Você não é level 120 e precisa de '..money..' crystals para ser promovido')
elseif getPlayerVocation(cid) ~= voc then
doPlayerSendCancel(cid, 'You dont have the necessary vocation')



doPlayerRemoveMoney(cid, money1)
doPlayerSetVocation(cid, getPromotedVocation(cid))
doPlayerSendTextMessage(cid, 'You are promoted now !')

return true
end

 

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Cara, você tem 5 vocações iniciais, depois vai para 4 ???

 

 

 

EDIT, para fazer, eu preciso saber qual vocação recebe qual vocação...

 

já que o seu é diferente, eu não posso usar:

doPlayerSetVocation(cid, getPromotedVocation(cid))

Jno, to fazendo, mas preciso de mais informações...

 

Começa com as vocações normais o OT.

 

Sorcerer 1

Druid 2

Paladin 3

Knight 4

 

Master Sorcerer 5

Elder Druid 6

Royal Paladin 7

Elite Knight 8

 

Respect Master Sorcerer 9

Respect Elder Druid 10

Respect Royal Paladin 11

Respect Elite Knight 12

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites

É porque você disse 12345 lá ...

 

ok, vou continuar a fazer, acabei meu CMS, feio...


Vê se pega:


function onSay(cid, words, param)

local voc = {1,2,3,4,5}
local money1 = 20*10000 -- O primeiro numero é em crystals
money = money1/10000

				if  getPlayerLevel(cid) >= 500 and getPlayerVocation(cid) == voc then
					if  getPlayerLevel(cid) < 120 then
						doPlayerSendCancel(cid, 'Você não é level 120 e precisa de '..money..' crystals para ser promovido')
							if getPlayerVocation(cid) ~= voc then
								doPlayerSendCancel(cid, 'You dont have the necessary vocation')
							end

					end

					doPlayerRemoveMoney(cid, money1)
					doPlayerSetVocation(cid, getPromotedVocation(cid))
					doPlayerSendTextMessage(cid, 'You are promoted now !')

				else 
				doPlayerSetVocation(cid, getPromotedVocation(cid))

			end
	return true
end

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites
  • Solução
Tenta esse ;)

function onSay(cid, words, param)
local voc = {
--[ID DA VOC ATUAL] = {level = LEVEL NECESSARIO, promoteid = VOCACAO PROMOVIDA, preco = PREÇO COBRADO}
[1] = {level = 100, promoteid = 2, preco = 1000}, 
[2] = {level = 200, promoteid = 3, preco = 2000},
}
local d = voc[getPlayerVocation(cid)]
 
if not d then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não pode mais se promover.") and true
elseif getPlayerMoney(cid) < d.preco then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não tem dinheiro("..(d.preco)..") para se promover.") and true
elseif getPlayerLevel(cid) < d.level then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não tem level("..(d.level)..") para se promover.") and true
end
 
  doPlayerSetVocation(cid, d.promoteid)
  doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Parabéns, você se promoveu!.")
  doSendMagicEffect(getThingPos(cid), 29)
  doSendMagicEffect(getThingPos(cid), 30)
  doPlayerRemoveMoney(cid, d.preco)
  return true
end

Editado por Snowsz (veja o histórico de edições)
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Arrumei, eu troquei as bolas ... :facepalm:

 

 

 

 

Uma dúvida, nas vocation, eu coloco todos os id certo?

 

Não, só as que estão...

 

 

 

Merda, usei a função getPromotedVocation(cid) erradamente kkkkk

 

 

espera, se o do snowz não pegar eu arrumo o meu...


Tenta esse ;)

function onSay(cid, words, param)
local voc = {
--[ID DA VOC ATUAL] = {level = LEVEL NECESSARIO, promoteid = VOCACAO PROMOVIDA, preco = PREÇO COBRADO}
[1] = {level = 100, promoteid = 2, preco = 1000}, 
[2] = {level = 200, promoteid = 3, preco = 2000},
}
local d = voc[getPlayerVocation(cid)]
 
if not d then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não pode mais se promover.") and true
elseif getPlayerMoney(cid) < d.preco then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não tem dinheiro("..(d.preco)..") para se promover.") and true
elseif getPlayerLevel(cid) < d.level then
  return doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Você não tem level("..(d.level)..") para se promover.") and true
end
 
  doPlayerSetVocation(cid, d.promoteid)
  doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_2, "Parabéns, você se promoveu!.")
  doSendMagicEffect(getThingPos(cid), 29)
  doSendMagicEffect(getThingPos(cid), 30)
  doPlayerRemoveMoney(cid, d.preco)
  return true
end

 

 

 

Snowz, as variáveis não estão trocadas ? 

 

d.preço não existe eu acho, não era para ser voc.preço ?

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Script do Snow funcionou, reputei os 2 pela ajuda  :)

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Link para o post
Compartilhar em outros sites
  • 6 months later...

Arrumei, eu troquei as bolas ... :facepalm:

 

 

 

 

 

Não, só as que estão...

 

 

 

Merda, usei a função getPromotedVocation(cid) erradamente kkkkk

 

 

espera, se o do snowz não pegar eu arrumo o meu...

 

 

Snowz, as variáveis não estão trocadas ? 

 

d.preço não existe eu acho, não era para ser voc.preço ?

  

 

Tem como voce passar a Tag do Talkaction.xml ??

                                                                    by : GOTD

                                                       :facepalm: esperando voce morrer..

 

 

                                                                 40% Scripter

                                                                 70% Mapper

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