Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal, 

 

Procurei muito pelo fórum e não encontrei o npc da forma que desejo e até tentei montar a script mas sem sucesso.

 

1. O que desejo é simples, um NPC que venda todas as bless de uma só vez (50k) na versão 8.6 e se possível que ele venda aol também (20k).

 

2. E aproveitando o tópico para não criar vários, também estou tentando montar um NPC que só interaja com o player (que vá contando a história do servidor) usando "Você poderia visitar a {forja} não é mesmo?!" 

 

Mas o parâmetro em questão eu não consigo usar.

 

O que criei está assim:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Krulzorg" walkinterval="0" floorchange="0">
	<health now="100" max="100"/>
    <look type="300" corpse="8955"/>
	
	<interaction range="3" idletime="60">

    <interact keywords="hi" focus="1">
      <keywords>hello</keywords>

      <response text="Welcome to the invocation center of Draenor, noble |PLAYERVOCATION|. You will want to make a {sacrifice} or {quest} today?">
        <action name="idle" value="1"/>
      </response>
    </interact>
	
	<interact keywords="sacrifice" focus="1">
      <keywords>invocation</keywords>

      <response text="We need sacrifices to keep open portals. Go to the library when you can and read something.">
        <action name="idle" value="1"/>
      </response>
    </interact>
	
    <interact keywords="quest" focus="1">
      <keywords>quests</keywords>

      <response text="There are several quests to be performed. Talk to other summoners like me.">
        <action name="idle" value="1"/>
      </response>
    </interact>

    <interact keywords="bye" focus="0">
      <keywords>farewell</keywords>

      <response text="Good bye."/>
    </interact>
  </interaction>
</npc>

3. Quero desenvolver uma série de quests em que o NPC X envia o player para o destino, mas só se o players trouxer os itens a, b e c. Como desenvolvo esse NPC?

 

 Agradeço desde já.

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

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites
2 horas atrás, Felipe Lotz disse:

Olá pessoal, 

 

Procurei muito pelo fórum e não encontrei o npc da forma que desejo e até tentei montar a script mas sem sucesso.

 

1. O que desejo é simples, um NPC que venda todas as bless de uma só vez (50k) na versão 8.6 e se possível que ele venda aol também (20k).

 

2. E aproveitando o tópico para não criar vários, também estou tentando montar um NPC que só interaja com o player (que vá contando a história do servidor) usando "Você poderia visitar a {forja} não é mesmo?!" 

 

Mas o parâmetro em questão eu não consigo usar.

 

O que criei está assim:

 


<?xml version="1.0" encoding="UTF-8"?>
<npc name="Krulzorg" walkinterval="0" floorchange="0">
	<health now="100" max="100"/>
    <look type="300" corpse="8955"/>
	
	<interaction range="3" idletime="60">

    <interact keywords="hi" focus="1">
      <keywords>hello</keywords>

      <response text="Welcome to the invocation center of Draenor, noble |PLAYERVOCATION|. You will want to make a {sacrifice} or {quest} today?">
        <action name="idle" value="1"/>
      </response>
    </interact>
	
	<interact keywords="sacrifice" focus="1">
      <keywords>invocation</keywords>

      <response text="We need sacrifices to keep open portals. Go to the library when you can and read something.">
        <action name="idle" value="1"/>
      </response>
    </interact>
	
    <interact keywords="quest" focus="1">
      <keywords>quests</keywords>

      <response text="There are several quests to be performed. Talk to other summoners like me.">
        <action name="idle" value="1"/>
      </response>
    </interact>

    <interact keywords="bye" focus="0">
      <keywords>farewell</keywords>

      <response text="Good bye."/>
    </interact>
  </interaction>
</npc>

3. Quero desenvolver uma série de quests em que o NPC X envia o player para o destino, mas só se o players trouxer os itens a, b e c. Como desenvolvo esse NPC?

 

 Agradeço desde já.

 

1 -

local tab = {
	price = 50, -- Preco BLESS, 50 = 50k
	price2 = 20 -- Preco AOL, 20 = 20k
}
local bless = {1, 2, 3, 4, 5}

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, 'bless')) then
		talkState[talkUser] = 1
		selfSay('Deseja comprar todas as bles? Isso ira te custar '..tab.price..'k!', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		for i = 1, table.maxn(bless) do
		if getPlayerBlessing(cid, bless[i]) then
		selfSay('Voce ja tem todas as blessings.', cid)
		elseif (doPlayerRemoveMoney(cid, tab.price) == TRUE) then
		doPlayerAddBlessing(cid, bless[i])
		talkState[talkUser] = 0
		selfSay('Voce comprou todas as blessings.', cid)
		doSendMagicEffect(getPlayerPosition(cid), 49)
		elseif (doPlayerRemoveMoney(cid, tab.price) == FALSE) then
		selfSay('Voce nao tem dinheiro suficiente!', cid)
		end
		end
	elseif msgcontains(msg, 'aol') then
		talkState[talkUser] = 2
		selfSay('Deseja comprar uma AOL por '..tab.price2..'k?', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
		if (doPlayerRemoveMoney(cid, tab.price2) == TRUE) then
		doPlayerAddItem(cid,2173,1)
		talkState[talkUser] = 0
		doSendMagicEffect(getPlayerPosition(cid),6)
		selfSay('Aqui esta sua AOL!', cid)
		else
		selfSay('Voce nao tem dinheiro suficiente!', cid)
		end
		end
		return true
		end

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

2 - É um NPC fácil, você só precisa especificar as falas.

3 - 

local tab = {
	pos = {x = 1004, y = 1021, z = 7}, -- posição x, y, z do local a teleportar o player
	item = {5920, 50}, -- {id, quantidade}
	item2 = {5882, 30}, -- {id, quantidade}
	item3 = {11199, 20} -- {id, quantidade}
}

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, 'teleport')) then
		talkState[talkUser] = 1
		selfSay('Lembre-se.. Voce precisa de '..tab.item[2]..' '..getItemNameById(tab.item[1])..', '..tab.item2[2]..' '..getItemNameById(tab.item2[1])..' e '..tab.item3[2]..' '..getItemNameById(tab.item3[1])..' para teleportar, voce tem todos os itens?', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if (getPlayerItemCount(cid, tab.item[1]) >= tab.item[2] and
			getPlayerItemCount(cid, tab.item2[1]) >= tab.item2[2] and 
			getPlayerItemCount(cid, tab.item3[1]) >= tab.item3[2]) then
			doPlayerRemoveItem(cid, tab.item[1], tab.item[2])
			doPlayerRemoveItem(cid, tab.item2[1], tab.item2[2])
			doPlayerRemoveItem(cid, tab.item3[1], tab.item3[2])
			doTeleportThing(cid, tab.pos)
			doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
			selfSay('Voce foi teleportado!', cid)
		else
			talkState[talkUser] = 0
			selfSay('Perdao, mas voce nao tem os itens necessarios ainda.', cid)
		end
	elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
		talkState[talkUser] = 0
		selfSay('Pois bem, pegue os itens e retorne.', cid)
	end
	
	return true
end

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

 

Link para o post
Compartilhar em outros sites

@Kemmlly

 

Muito obrigado pelos 2 scripts camarada! Ficaram exatamente como queria. E sobre o segundo então eu sei que é simples e se fosse possível gostaria de aprender como fazer, porque vão ser vários NPCs assim e não quero dar todo trabalho pra você.

 

Mas como exemplo:

Citar

 

Player - hi

NPC - Olá |PLAYERNAME|, você veio me trazer um {sacrifício}?

Player - sacrificio

NPC - Precisamos de sacrificios para manter os portais abertos e também o acesso as {quests}.

Player - quests

NPC - ...

 

 

Nesse estilo, que a conversa fique no chat de npc e com as palavras destacadas.

 

Agradeço muito o que já fez! Fico o REP como agradecimento.

 

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites

Pelo que vi, você tentou fazer o NPC todo no XML, o ideal é usar o XML só para chamar o script do NPC e nesse script fazer o resto. Se o NPC for só de fala, você usa o elseif para cada fala e registra o talkState[talkUser] = para gravar a mensagem falada, exemplo;

 

if (msgcontains(msg, 'sacrificio')) then
talkState[talkUser] = 1
selfSay('Precisamos de sacrificios para manter os portais abertos e também o acesso as {quests}.', cid)
	
elseif (msgcontains(msg, 'quest') and talkState[talkUser] == 1) then
selfSay('Texto que o npc vai falar com {palavra} pra frase 2.', cid)
talkState[talkUser] = 2

elseif (msgcontains(msg, 'palavra') and talkState[talkUser] == 2) then
selfSay('Texto que o npc vai falar com {palavra} pra frase 3.', cid)
talkState[talkUser] = 3

 

Nesse caso, se um player chegar no NPC e falar diretamente QUEST, como o talkState[talkUser]  não é igual a 1 ainda, ele não falará nada, mas se falar as frases na ordem, o NPC irá contar toda a história. 

 

Acredito que seja o suficiente pra você criar seu NPC.

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, Kemmlly disse:

Pelo que vi, você tentou fazer o NPC todo no XML, o ideal é usar o XML só para chamar o script do NPC e nesse script fazer o resto. Se o NPC for só de fala, você usa o elseif para cada fala e registra o talkState[talkUser] = para gravar a mensagem falada, exemplo;

 


if (msgcontains(msg, 'sacrificio')) then
talkState[talkUser] = 1
selfSay('Precisamos de sacrificios para manter os portais abertos e também o acesso as {quests}.', cid)
	
elseif (msgcontains(msg, 'quest') and talkState[talkUser] == 1) then
selfSay('Texto que o npc vai falar com {palavra} pra frase 2.', cid)
talkState[talkUser] = 2

elseif (msgcontains(msg, 'palavra') and talkState[talkUser] == 2) then
selfSay('Texto que o npc vai falar com {palavra} pra frase 3.', cid)
talkState[talkUser] = 3

 

Nesse caso, se um player chegar no NPC e falar diretamente QUEST, como o talkState[talkUser]  não é igual a 1 ainda, ele não falará nada, mas se falar as frases na ordem, o NPC irá contar toda a história. 

 

Acredito que seja o suficiente pra você criar seu NPC.

 

 

 

É isso mesmo, muito obrigado pela ajuda!

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites

@Kemmlly Camarada não querendo abusar da sua boa vontade, mas já o fazendo.

 

Tenho esse npc no server que teleporta o player para o local se tiver level 100+ , mas queria saber se é possível adicionar um storageid nele para que o player possa ser teleportado apenas uma vez. Mas caso ele não mate o boss ai pode tentar novamente.

 

local tab = {
    level = 100,
    pos = {x = 1071, y = 1135, z = 10}
}
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, 'challenge')) then
        talkState[talkUser] = 1
        selfSay('You are sure you want to go? You can not return.', cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerLevel(cid) >= tab.level) then
            talkState[talkUser] = 0
            doTeleportThing(cid, tab.pos)
            doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
        else
            talkState[talkUser] = 0
            selfSay('I can only challenge players with level '..tab.level..' or more.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
        talkState[talkUser] = 0
        selfSay('Come back when you are ready learner.', cid)
    end
    
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites

alguém pode me ajudar preciso de 1 script que fique saindo [VIP] no player quando ele tiver premium account

Editado por kauan13 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
12 minutos atrás, Felipe Lotz disse:

@Kemmlly Camarada não querendo abusar da sua boa vontade, mas já o fazendo.

 

Tenho esse npc no server que teleporta o player para o local se tiver level 100+ , mas queria saber se é possível adicionar um storageid nele para que o player possa ser teleportado apenas uma vez. Mas caso ele não mate o boss ai pode tentar novamente.

 


local tab = {
    level = 100,
    pos = {x = 1071, y = 1135, z = 10}
}
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, 'challenge')) then
        talkState[talkUser] = 1
        selfSay('You are sure you want to go? You can not return.', cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerLevel(cid) >= tab.level) then
            talkState[talkUser] = 0
            doTeleportThing(cid, tab.pos)
            doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
        else
            talkState[talkUser] = 0
            selfSay('I can only challenge players with level '..tab.level..' or more.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
        talkState[talkUser] = 0
        selfSay('Come back when you are ready learner.', cid)
    end
    
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

local tab = {
    level = 100,
    pos = {x = 1071, y = 1135, z = 10},
    storage = 6666 -- Storage
}
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, 'challenge')) then
        talkState[talkUser] = 1
        selfSay('You are sure you want to go? You can not return.', cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerLevel(cid) >= tab.level) and getPlayerStorageValue(cid, tab.storage) < 1 then
            talkState[talkUser] = 0
            doTeleportThing(cid, tab.pos)
            setPlayerStorageValue(cid, tab.storage, 1)
            doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
        elseif getPlayerStorageValue(cid, tab.storage) == 1 then
        selfSay('Voce ja matou o BOSS!', cid)
        elseif (getPlayerLevel(cid) < tab.level) then
            talkState[talkUser] = 0
            selfSay('I can only challenge players with level '..tab.level..' or more.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
        talkState[talkUser] = 0
        selfSay('Come back when you are ready learner.', cid)
    end
    
    return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

16 minutos atrás, kauan13 disse:

alguém pode me ajudar preciso de 1 script que fique saindo [VIP] no player quando ele tiver premium account

Subir efeito no player ou [VIP] atrás do nome do jogador?

Link para o post
Compartilhar em outros sites
1 minuto atrás, kauan13 disse:

Quero Que Suba [VIP] igual Quando Solta 1 Magia Tipo Isso Quando Ele Tiver Premium account

Premium acount msm ou algum tipo de VIP, tipo vip por storage ou time?

Link para o post
Compartilhar em outros sites

Quero Que Sair Nos Player Que Tiver Premium Account Igual Global Cada 15 Segundos Sai [ViP] Nos Player Que Tiverem Premium 

Link para o post
Compartilhar em outros sites

@Kemmlly Muito obrigado!

 

Só uma dúvida, vou usar esse script para que o player só passe pelo sqm se tiver os storageid. Mas está montado da forma errada...

 

function onStepIn(cid, item, pos)
local position = {x = 830, y = 70, z = 7}
local position2 = {x = 830, y = 69, z = 7}

if (getPlayerStorageValue(cid, 10274, 10275, 10276, 10277, 10278, 10279, 10280) == 1 then
doTeleportThing(cid, position)
doSendMagicEffect(position,10)
else

doTeleportThing(cid, position2)
doSendMagicEffect(position2,10)
end
end

 

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites
10 minutos atrás, Wase Wiss disse:

@Felipe Lotz Man, poderia mim explicar como fasso para por essa script de Npc que vende bless no meu servidor por favor '-'

 

npc/scripts/blesser.lua (crie esse documento e dentro coloque o que está abaixo)

 

local tab = {
	price = 50, -- Preco BLESS, 50 = 50k
	price2 = 20 -- Preco AOL, 20 = 20k
}
local bless = {1, 2, 3, 4, 5}

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, 'bless')) then
		talkState[talkUser] = 1
		selfSay('Deseja comprar todas as bles? Isso ira te custar '..tab.price..'k!', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		for i = 1, table.maxn(bless) do
		if getPlayerBlessing(cid, bless[i]) then
		selfSay('Voce ja tem todas as blessings.', cid)
		elseif (doPlayerRemoveMoney(cid, tab.price) == TRUE) then
		doPlayerAddBlessing(cid, bless[i])
		talkState[talkUser] = 0
		selfSay('Voce comprou todas as blessings.', cid)
		doSendMagicEffect(getPlayerPosition(cid), 49)
		elseif (doPlayerRemoveMoney(cid, tab.price) == FALSE) then
		selfSay('Voce nao tem dinheiro suficiente!', cid)
		end
		end
	elseif msgcontains(msg, 'aol') then
		talkState[talkUser] = 2
		selfSay('Deseja comprar uma AOL por '..tab.price2..'k?', cid)
	elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
		if (doPlayerRemoveMoney(cid, tab.price2) == TRUE) then
		doPlayerAddItem(cid,2173,1)
		talkState[talkUser] = 0
		doSendMagicEffect(getPlayerPosition(cid),6)
		selfSay('Aqui esta sua AOL!', cid)
		else
		selfSay('Voce nao tem dinheiro suficiente!', cid)
		end
		end
		return true
		end

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

data/npc/Huvry, the Blesser.lua

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Huvry, the Blesser" script="data/npc/scripts/blesser.lua" walkinterval="60000" floorchange="0">
	<health now="100" max="100"/>
	<look type="300" corpse="8955"/>
	<parameters>
  <parameter key="message_greet" value="Hello! Do you want to buy all bless?"/>
    </parameters></npc>

 

E tá feito, ai só importar ele pelo RME e colocar no mapa.

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites
12 horas atrás, Felipe Lotz disse:

@Kemmlly Muito obrigado!

 

Só uma dúvida, vou usar esse script para que o player só passe pelo sqm se tiver os storageid. Mas está montado da forma errada...

 


function onStepIn(cid, item, pos)
local position = {x = 830, y = 70, z = 7}
local position2 = {x = 830, y = 69, z = 7}

if (getPlayerStorageValue(cid, 10274, 10275, 10276, 10277, 10278, 10279, 10280) == 1 then
doTeleportThing(cid, position)
doSendMagicEffect(position,10)
else

doTeleportThing(cid, position2)
doSendMagicEffect(position2,10)
end
end

 

Tem um ( sobrando aí, tira ele, deixa:

if getPlayerStorageValue(cid, 10274, 10275, 10276, 10277, 10278, 10279, 10280) == 1 then

Se não der, use o and:

if getPlayerStorageValue(cid, 10274) == 1 and getPlayerStorageValue(cid, 10275) == 1 and getPlayerStorageValue(cid, 10276) == 1 getPlayerStorageValue(cid, 10277) == 1 getPlayerStorageValue(cid, 10278) == 1 getPlayerStorageValue(cid, 10279) == 1 getPlayerStorageValue(cid, 10280) == 1 then

 

12 horas atrás, Wase Wiss disse:

@Felipe Lotz Eu não conseguir entender a parte do npc, poderia mim explicar denovo ?

 

O primeiro script é .LUA, você coloca em /data/npc/scripts/ o segundo é XML, você coloca em /data/npc/, copia e cola um arquivo qualquer dentro dessas pastas, renomeia e cola o conteúdo postado aqui no tópico. Depois disso vá no RME e IMPORTAR NPC, aí procura o arquivo XML dele e importa, aperta F5 e procura ele na lista de NPC e coloca no mapa.

17 horas atrás, kauan13 disse:

Quero Que Sair Nos Player Que Tiver Premium Account Igual Global Cada 15 Segundos Sai [ViP] Nos Player Que Tiverem Premium 

 

17 horas atrás, kauan13 disse:

Quero Que Sair Nos Player Que Tiver Premium Account Igual Global Cada 15 Segundos Sai [ViP] Nos Player Que Tiverem Premium 

 

em creaturescripts/scripts crie um arquivo lua vipeffect.lua e cole isso:

local tempo = 15 --tempo em segundos

function onLogin(cid)
	if isPremium(cid) then
			VipEffect(cid)
	else
	return true
	end
	return true
end

function VipEffect(cid)
	if isPlayer(cid) then
		doSendAnimatedText(getCreaturePosition(cid), "[VIP]", TEXTCOLOR_LIGHTBLUE)
		doSendMagicEffect(getCreaturePosition(cid), 30)
		addEvent(VipEffect, tempo*1000, cid)
	end
	return true
end

 

depois em creaturescripts.xml cole essa tag:

<event type="login" name="VipEffect" event="script" value="vipeffect.lua"/>

depois em login.lua que fica dentro de creaturescripts/scripts adicione essa tag antes do ultimo return true:

registerCreatureEvent(cid, "VipEffect")

 

Link para o post
Compartilhar em outros sites

@Kemmlly 

 

#Edit mexi aqui e deu certo, porém como faço para o player ser teleportado para a coordenada {x = 830, y = 71, z = 7} caso não tenha o storage?

 

function onStepIn(cid, item, pos)
local position = {x = 830, y = 70, z = 7}
local position2 = {x = 830, y = 69, z = 7}

if getPlayerStorageValue(cid, 10274) == 1 and 
getPlayerStorageValue(cid, 10275) == 1 and 
getPlayerStorageValue(cid, 10276) == 1 and 
getPlayerStorageValue(cid, 10277) == 1 and
getPlayerStorageValue(cid, 10278) == 1 and
getPlayerStorageValue(cid, 10279) == 1 and
getPlayerStorageValue(cid, 10280) == 1 then
doTeleportThing(cid, position)
doSendMagicEffect(position,10)
else

doTeleportThing(cid, position2)
doSendMagicEffect(position2,10)
end
end

No caso position é a posição do check dos storages

E position 2 a posição que vai caso tenha

Queria uma position 3 que o player seria teleportado pra traz caso não tenha.

 

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

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

Link para o post
Compartilhar em outros sites
3 horas atrás, Felipe Lotz disse:

@Kemmlly 

 

#Edit mexi aqui e deu certo, porém como faço para o player ser teleportado para a coordenada {x = 830, y = 71, z = 7} caso não tenha o storage?

 


function onStepIn(cid, item, pos)
local position = {x = 830, y = 70, z = 7}
local position2 = {x = 830, y = 69, z = 7}

if getPlayerStorageValue(cid, 10274) == 1 and 
getPlayerStorageValue(cid, 10275) == 1 and 
getPlayerStorageValue(cid, 10276) == 1 and 
getPlayerStorageValue(cid, 10277) == 1 and
getPlayerStorageValue(cid, 10278) == 1 and
getPlayerStorageValue(cid, 10279) == 1 and
getPlayerStorageValue(cid, 10280) == 1 then
doTeleportThing(cid, position)
doSendMagicEffect(position,10)
else

doTeleportThing(cid, position2)
doSendMagicEffect(position2,10)
end
end

No caso position é a posição do check dos storages

E position 2 a posição que vai caso tenha

Queria uma position 3 que o player seria teleportado pra traz caso não tenha.

 

Na verdade aí ta da seguinte forme; POSITION é o lugar que ele vai caso TENHA os storages, e POSITION2 é para onde ele será kikado caso não tenha os storages, não era isso que queria?

Link para o post
Compartilhar em outros sites
40 minutos atrás, Kemmlly disse:

Na verdade aí ta da seguinte forme; POSITION é o lugar que ele vai caso TENHA os storages, e POSITION2 é para onde ele será kikado caso não tenha os storages, não era isso que queria?

 

Vacilo meu, achei que o position era a posição do SQM, mas o sqm é pela action... Valeu bro! Graças a você POI 100% funcionando e o NPC challenge também. Por acaso manja da funcionamento da Yalahar last room?

 

Meu script funciona até o final, ele tira os portais pra ninguém descer no meio da quest, porém quando acaba e eles voltam, param de funcionar. E também a sala não reseta pro próximo time.

Angelina_Me_by_msklotz.png

 

Atenciosamente,

Felipe Lotz.

 

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo