Ir para conteúdo

Como Arrumo Isso?


magera

Posts Recomendados

É o seguinte,tou com um script para promotion vip porém está com um probleminha! (GRANDE)

 

O cara fala (Hi) ai o npc fala , (Você quer ser elder druid vip ,master sorcerer vip , elite knight vip, royal paladin vip.

Até ai tudo bem.

Mais se um druid falar elite knight vip ele vira elite knight vip.

 

Lembrando que eu quero consertar não que postem outro script!

 

Segue o script

 

 

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, 'vip sorcerer') or msgcontains(msg, 'vip sorc')) then
selfSay('Deseja virar {vip sorcerer} por 40k?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2160) >= 4) then
doPlayerRemoveItem(cid, 2160, 4)
doPlayerSetVocation(cid,9)
selfSay('Vocação trocada com sucesso , Agora você é um Vip Sorcerer.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'vip druid') or msgcontains(msg, 'vip druida')) then
selfSay('Deseja virar {vip druid} por 40k?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(getPlayerItemCount(cid, 2160) >= 4) then
doPlayerRemoveItem(cid, 2160, 4)
doPlayerSetVocation(cid,10)
selfSay('Vocação trocada com sucesso , Agora você é um Vip Druid.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'vip knight') or msgcontains(msg, 'vip kina')) then
selfSay('Deseja virar {vip knight} por 40k?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(getPlayerItemCount(cid, 2160) >= 4) then
doPlayerRemoveItem(cid, 2160, 4)
doPlayerSetVocation(cid,12)
selfSay('Vocação trocada com sucesso , Agora você é um Vip Knight.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'vip paladin') or msgcontains(msg, 'vip pala')) then
selfSay('Deseja virar {vip paladin} por 40k?', cid)
talkState[talkUser] = 4
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(getPlayerItemCount(cid, 2160) >= 4) then
doPlayerRemoveItem(cid, 2160, 4)
doPlayerSetVocation(cid,11)
selfSay('Vocação trocada com sucesso , Agora você é um vip Paladin.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0
end
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

Desculpe mas tive que refazer seu script ._. Não aguentei.

Aqui está ele:

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 startVoc = (getPlayerVocation(cid) - ((getPlayerPromotionLevel(cid))*4))

if msgcontains(msg, 'promotion') then
if getPlayerPromotionLevel(cid) ~= 1 then
selfSay("Não posso te promover.", cid)
else
selfSay("Deseja virar um {VIP "..getVocationInfo(startVoc).name.."} por {40.000 gold coins} ({40k})?", cid)
talkState[talkUser] = 1
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if doPlayerRemoveMoney(cid, 40000) then
doPlayerSetPromotionLevel(cid, 2)
selfSay("Parabéns, você agora é um "..getVocationInfo(getPlayerVocation(cid)).name..".", cid)
else
selfSay("Você não tem dinheiro suficiente.", cid)
end
talkState[talkUser] = 0
end

return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

E o link identado no pastebin.

Editado por Byerne
Link para o comentário
Compartilhar em outros sites

aheuheuehu éé

 

mas para arrumar o original acho que assim fica bacana:

 

local tabela = {
[5] = 6, -- [Vocação atual] = Vocação que vai ser promovido
[7] = 8
}

doPlayerSetVocation(cid, tabela[getPlayerVocationId(cid)])

Editado por fireelement
Link para o comentário
Compartilhar em outros sites

[23:3:13.725] [Error - LuaInterface::loadFile] data/npc/scripts/second promotion
.lua:17: malformed number near '4getPlayerPromotionLevel'
[23:3:13.725] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scri
pts/second promotion.lua

 

Se funfar legal REP+ por uma semana

Editado por magera
Link para o comentário
Compartilhar em outros sites

aheuheuehu éé

 

mas para arrumar o original acho que assim fica bacana:

 

local tabela = {
[5] = 6, -- [Vocação atual] = Vocação que vai ser promovido
[7] = 8
}

doPlayerSetVocation(cid, tabela[getPlayerVocationId(cid)])

 

Ia continuar grandão também ._. Fiquei sem paciência e mudei tudo logo. HAHAHA

 

[23:3:13.725] [Error - LuaInterface::loadFile] data/npc/scripts/second promotion
.lua:17: malformed number near '4getPlayerPromotionLevel'
[23:3:13.725] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scri
pts/second promotion.lua

 

Se funfar legal REP+ por uma semana

 

Já concertei, tente denovo.

Editado por Byerne
Link para o comentário
Compartilhar em outros sites

Byerne Você é o cara! Funfou legal e respeita a storage da minha vip EX: quando acaba vip volta pra elite knight.

 

Eu vou te dar REP++ 1 semana

Qem visualizar e gostar REP+

Quem Utilizar REP+

Editado por magera
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...