Tópico em local errado, aqui é para scripts já prontos. A seção correta é Pedidos e Dúvidas de Scripts.
4
1.1k
27 de junho de 2012 às 11:41
27 de junho de 2012 às 15:58
Este local é para scripts já prontas, movido.
28 de junho de 2012 às 13:48
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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 talkState = {}
local config = {
itemid = 2157,
price = {[2] = 5, [3] = 10, [4] = 20},
promotions = {[2] = "second", [3] = "third", [4] = "fourth"}
}
function onCreatureSayCallback(cid, type, msg)
if not npcHandler:isFocused(cid) then
return false
end
local talkUser = (NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid)
local promotionLevel = getPlayerPromotionLevel(cid)
if msgcontains(msg, "promotion") then
if config.promotions[promotionLevel + 1] then
selfSay("Do you want to buy the ".. config.promotions[promotionLevel + 1] .." promotion for ".. config.price[promotionLevel + 1] .." ".. getItemInfo(config.itemid).plural .."?", cid)
talkState[talkUser] = 1
else
selfSay("Sorry, but I can't promote you.", cid)
end
elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
if doPlayerRemoveItem(cid, config.itemid, config.price[promotionLevel + 1]) then
selfSay("Congratulations! You are now promoted.", cid)
setPlayerPromotionLevel(cid, promotionLevel + 1)
else
selfSay("Sorry, but you don't have enough ".. getItemInfo(config.itemid).plural ..".", cid)
end
elseif msgcontains(msg, "no") and isInArray({1}, talkState[talkUser]) then
selfSay("Alright then, come back when you are ready.")
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)
npcHandler:setMessage(MESSAGE_GREET, "Hello. I can promote you for ".. getItemInfo(config.itemid).plural ..".")
npcHandler:addModule(FocusModule:new())
Creio que você sabe criar novos NPCs, então deixei apenas o script dele.
Ele apenas promove jogadores com a primeira promotion em diante.
O preço de cada promotion você pode configurar aqui:
price = {[2] = 5, [3] = 10, [4] = 20}
No caso, a segunda promotion custa 5 gold nuggets, a terceira 10 gold nuggets e quarta 20 gold nuggets.
Editado Junho 28 por Oneshot






info
Grupo: Campones
Registrado: 29/10/06
Posts: 5
Reputação: 0
Boa noite! bom, procurei por isto em varios lugares e nao achei em nenhum
por favor, se a seção estiver errada, movam para a certa , pois não sei se este sistema é realmente uma action ou pode ser outra coisa... mas é o seguinte. vou explicar tudo detalhadamente para não ter erro...
no meu ot, existem varias promoções. o sistema vip está funcionando corretamente, e ele é um sistema por item.
o player compra o item no shopping , que no meu caso é um Holy falcon, editado com o nome de VIP 30 Dias, da use nele e então recebe em sua conta 30 dias de VIP.
Fiz um npc que só fala com players vips, e ele leva estes players para uma área vip.
Nesta área VIP eu preciso de um NPC que venda a nova Promotion para o player (que no caso é um item único configurável ) por alguns GOLD NUGGETS ao invez de GOLD COINS, (por exemplo um nightmare doll, id:11138) ou somente por dinheiro, mas no caso, para comprar esta promotion ele teria que ter uma moeda especial , ( no caso é uma gold nugget , editada. ID:2157) ou seja, o npc venderia a promotion para o player vip somente por uma quantidade de gold nuggets.
Porém, existe mais de uma promotion por vocation,
este é meu Vocations.XML
Então resumindo. Preciso de um NPC que:
Venda a promotion para o player por GOLD NUGGETS ao invez de GOLD COINS, e que venda estas promotions tanto por um ITEM USAVEL, ou simplesmente como o npc queen eloise, que vende a promotion por 20k, porem ao invez de 20k, seriam alguns GOLD NUGGETS !
Desde já agradeço muito ! por favor, preciso urgente deste script, só falta isto para meu ot ficar pronto.
Dou todos meus Reps++
OBRIGADO !!
Editado Junho 26 por vinix74