Olá Xtibianos .
Esse é meu primeiro script e está bem 'rustico' por não conhecer muito sobre o mesmo então, caso houver erros ou criticas construtivas, estarei aberto a sugestões e ajuda.
Esta talkaction permite a você compre a segunda promotion (desde que tenha no seu vocations.xml as mesmas já configuradas) de suas respectivas vocações por dias de premium ou por dinheiro.
Primeiro vá em: data\talkactions\scripts e faça uma copia de qualquer arquivo e renomeie como secondprom.lua
Abra o mesmo e apague todo o seu conteúdo e cole isto no lugar:
-- !script by kmz.dennisfunction onSay(cid, words, param)local level = 100 -- level necessário para comprar a promotionlocal premdays = 5 -- dias que serão debitados da premium do playerlocal firstprom = 1 -- nao edite isso // dont edit thislocal secondprom = 2 -- nao edite isso // dont edit thisif getPlayerPromotionLevel(cid) < firstprom thendoPlayerSendCancel(cid, 'You need buy first the first promotion in carlin with Queen Eloise.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerPromotionLevel(cid) == secondprom thendoPlayerSendCancel(cid, 'You\'re already promoted.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerLevel(cid) < level thendoPlayerSendCancel(cid, 'You don\'t have enough level.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerPremiumDays(cid) >= premdays thendoPlayerRemovePremiumDays(cid, premdays)doPlayerSetPromotionLevel(cid, 2)doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations! You are now promoted.")return TRUEelsedoPlayerSendCancel(cid, 'You don\'t have enough premium days.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendend
Edite somente esta parte a seu gosto.
local level = 100 -- level necessário para comprar a promotion
agora é só ir na pasta data\talkactions e adicionar esta linha no talkactions.xml:
<talkaction words="!second" event="script" value="secondprom.lua"/>
a parte em vermelho (second) é o que o player ira dizer para comprar a promotion, também edite ao seu gosto.
Caso queira que seja comprada por dinheiro então use este script:
-- !script by kmz.dennis
function onSay(cid, words, param)local level = 100 -- level necessário para comprar a promotionlocal cost = 50000 -- valor em gps que sera debitado do playerlocal firstprom = 1 -- nao edite isso // dont edit thislocal secondprom = 2 -- nao edite isso // dont edit thisif getPlayerPromotionLevel(cid) < firstprom thendoPlayerSendCancel(cid, 'You need buy the first promotion in carlin with Queen Eloise.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerPromotionLevel(cid) == secondprom thendoPlayerSendCancel(cid, 'You\'re already promoted.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerLevel(cid) < level thendoPlayerSendCancel(cid, 'You don\'t have enough level.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendif getPlayerMoney(cid) >= cost thendoPlayerRemoveMoney(cid, cost)doPlayerSetPromotionLevel(cid, 2)doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations! You are now promoted.")return TRUEelsedoPlayerSendCancel(cid, 'You don\'t have enough money.')doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)return TRUEendend
Apenas edite estas partes:
local level = 100 -- level necessário para comprar a promotion
não esqueça de adicionar a linha de comando no talkactions.xml
bom, é isso!
caso acharem necessário modificar algo para um melhor funcionamento ou 'estética', fiquem a vontade.
um abraço!