Ir para conteúdo
  • 0

KUNGLOW

Pergunta

Preciso de um NPC que venda a permissão para um evento que eu irei criar só que para ter a mesma você tem que ter um X de resets (meu sistema de reset da a storage 1020)

 

Diante deste NPC terá 4 níveis:

 

Nível 1 até 5 resets. Necessário 10k+10 small saphire.

Nível 2 até 15 resets.Necessário 10k+10 small saphire.

Nível 3 até 30 resets.Necessário 10k+10 small saphire+10 blue gem.

Nível 4 de 31 em diante.Necessário 10k+10 small saphire+10 blue gem+10 turtle shell.

E cada Nivel tem uma storage diferente exemplo:

 

 

 

Nível 1: 45789

Nível 2: 45790

Nível 3: 45791

Nível 4: 45792

 

E se possivel criar pisos pedindo as storages.

 

Se o player tiver a storage ele e teleportado para uma pos x. no nivel 1 e assim sucessivamente.

 

Se ele n tiver a storage aparece uma msg

 

Você precisa ter a permissão para poder passar.

 

Me ajudem ai galaera

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Tile *-*

@Vodkart tem como criar um script que faça o seguinte:

 

Ele checa no mapa inteiro onde tem exemplo Rotworm, após ele checar no mapa todo ele cria 1 carrion worm do lado do rotworm. Isso tendo chances de todos os bixos do OT acontecerem mas criando so 1 e randomicamente.

Se possivel rep++++ juntamente se tu fizer o npc e.e

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

  • 0
Tile *-* @Vodkart tem como criar um script que faça o seguinte: Ele checa no mapa inteiro onde tem exemplo Rotworm, após ele checar no mapa todo ele cria 1 carrion worm do lado do rotworm. Isso tendo chances de todos os bixos do OT acontecerem mas criando so 1 e randomicamente. Se possivel rep++++ juntamente se tu fizer o npc e.e

 

acho que não tem como, só vai criar no primeiro monstro(rotworm) que achar no mapa.

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

  • 0

aham, to terminando o sistema de DG e dps faço o NPC, sem falar os tiles.

aqui está o outro script:

 

local Monsters = {"RotWorm","Carrion Worm"}
local m = getCreatureByName(Monsters[1])
if(m ~= nil and isMonster(m)) then
doCreateMonster(Monsters[2], getCreaturePosition(m))
end

 

------------------------------------------------------

lib/function:

function getItemsFromList(items) -- by vodka
local str = ''
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
if i ~= table.maxn(items) then str = str .. ', ' end end end
return str
end
function doRemoveItemsFromList(cid,items) -- by vodka
local count = 0
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then
count = count + 1 end  end  end
if count == table.maxn(items) then
for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end
else return false end
return true end

 

 

 

NPC:

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 msg,price = string.lower(msg),10000 -- preço 10k
local t = {
[{0,5}] = {items = {{2146,10}},storage = 45789},
[{6,15}] = {items = {{2146,10}},storage = 45790},
[{16,30}] = {items = {{2146,10},{2158,10}},storage = 45791},
[{31,999}] = {items = {{2146,10},{2158,10},{5899,10}},storage = 45792}
}
function getResets(cid)
local reset = getPlayerStorageValue(cid, 1020)
return reset < 0 and 0 or reset
end
if isInArray({"event","evento", "participar"}, msg) then
npcHandler:say("Você quer participar do evento? {yes}", cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) >= price then 
for var, ret in pairs(t) do
if getResets(cid) >= var[1] and getResets(cid) <= var[2] then
if getPlayerStorageValue(cid, ret.storage) <= 0 then
if doRemoveItemsFromList(cid, ret.items) then
setPlayerStorageValue(cid, ret.storage, 1)
return npcHandler:say("Você já está participando do evento.", cid)
else
return npcHandler:say("você precisa de "..getItemsFromList(ret.items).." !", cid)
end
else
return npcHandler:say("Você já está participando do evento.", cid)
end
end
end
doPlayerRemoveMoney(cid, price)
else
npcHandler:say("você precisa de "..price.." gps para participar!", cid)
talkState[talkUser] = 0
end
elseif isInArray({"no","nao"}, msg)  then  
selfSay("Then not.", cid)  
talkState[talkUser] = 0  
npcHandler:releaseFocus(cid)  
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Tile:

 

function onStepIn(cid, item, position, fromPosition)
if item.actionid == 29856 then
local tele = {
[45789] = {x=159, y=52, z=7},
[45790] = {x=160, y=52, z=7},
[45791] = {x=161, y=52, z=7},
[45792] = {x=162, y=52, z=7}
}
for k, v in pairs(tele) do
if getPlayerStorageValue(cid, k) >= 1 then  
return doTeleportThing(cid, v)
end
end
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "noob")
end
end

 

tag:

<movevent type="StepIn" actionid="29856" event="script" value="nome do seu script.lua"/>

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

  • 0

Membro não retornou ao tópico e criou outro pedido, irei dar como sanado e reportar.

 

Outra coisa, já que não tem responsabilidade consigo e nem os outros, principalmente aqueles que dedicam seu tempo eu lhe ajudar não vou mais responder nenhuma dúvida e pedido seu, como você sabe, ajuda quem quer, e eu não quero mais te ajudar, estarei bloqueando suas mensagens na comunidade.

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

  • 0

Cara eu estava sem net e já tinha respondido o seu tópico e ate te reputado o erro não foi meu e sim do servidor. Eu estava sem NET respondi tudo hoje e reputei. O erro não foi meu não voltei mais aqui porque pra mim já tinha lhe respondido.

 

Más me desculpe e obrigado por me atender.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...