DA
pedido

ola alguem poderia me dar um npc que tem level minimo e maxim ode viajar ?

Por daniursolinoo, 22 de nov. de 2013 em Scripts

resolvido
11
1.4k
daniursolinooD
22 de novembro de 2013 às 13:18

Tipo queria um npc que para o player viajar com ele presisaria de level 25 e ce o player for maior que level 30 ele não pode viajar alguem sabe ;D

zipter98Z
22 de novembro de 2013 às 14:51

Sabe fazer o XML?

data/npc/scripts

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 cfg = {
    min_level = 25,     --Level mínimo necessário para ser teleportado.
    max_level = 30,     --Level máximo necessário para ser teleportado.
    to_go = {x = xxx, y = yyy, z = zzz},       --Para onde o player será teleportado.
}
       
    if msgcontains(msg, 'viajar') or msgcontains(msg, 'viajem') then
        if getPlayerLevel(cid) >= cfg.min_level and getPlayerLevel(cid) <= cfg.max_level then      --Levels que o player pode viajar: 25, 26, 27, 28, 29 e 30.
            selfSay("Boa viagem!", cid)
            doTeleportThing(cid, cfg.to_go)
            talkState[talkUser] = 0
            return true
        else
            selfSay("Você precisa estar, no mínimo, level "..cfg.min_level.." e no máximo level "..cfg.max_level.." para viajar.", cid)
            talkState[talkUser] = 0
            return true
        end
    end                
    return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Editado Novembro 22 por zipter98

daniursolinooD
23 de novembro de 2013 às 12:18

TY N CEI CE VAI PEGA MAIS REP

daniursolinooD
28 de novembro de 2013 às 07:53

O cara teria como vc coloca ae assim quando o player viajasse trocaria a sidade natal dele ?

gonorreiaswatG
28 de novembro de 2013 às 08:21

Aí ficaria assim:

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 cfg = {
    min_level = 25,     --Level mínimo necessário para ser teleportado.
    max_level = 30,     --Level máximo necessário para ser teleportado.
    to_go = {x = xxx, y = yyy, z = zzz},       --Para onde o player será teleportado.
    townid = 2,   --ID da cidade que será natal do player.
}
       
    if msgcontains(msg, 'viajar') or msgcontains(msg, 'viajem') then
        if getPlayerLevel(cid) >= cfg.min_level and getPlayerLevel(cid) <= cfg.max_level then      --Levels que o player pode viajar: 25, 26, 27, 28, 29 e 30.
            selfSay("Boa viagem!", cid)
            doPlayerSetTown(cid, cfg.townid)
            doTeleportThing(cid, cfg.to_go)
            talkState[talkUser] = 0
            return true
        else
            selfSay("Você precisa estar, no mínimo, level "..cfg.min_level.." e no máximo level "..cfg.max_level.." para viajar.", cid)
            talkState[talkUser] = 0
            return true
        end
    end                
    return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Boa sorte.

Editado Novembro 30 por Adriano Swatt

daniursolinooD
29 de novembro de 2013 às 12:12

Valeu cara a onde eu do o rep mesmo ? rsrsrsrsrsrsrsrssrsrsrs

 

Você sabe onde posso faser um client proprio 9.83 ?

OmegaO
05 de dezembro de 2013 às 22:30

Tópico movido para a seção de dúvidas e pedidos resolvidos.

gonorreiaswatG
06 de dezembro de 2013 às 09:21

Valeu cara a onde eu do o rep mesmo ? rsrsrsrsrsrsrsrssrsrsrs

 

Você sabe onde posso faser um client proprio 9.83 ?

Era só clicar em Curtir.

 

Enfim, que bom que funcionou.

Sobre o Client próprio você precisa especificar melhor o que quer, creio que seja viável criar um tópico para este caso já não haja um que te ajude.

Editado Dezembro 6 por Adriano Swatt

daniursolinooD
11 de dezembro de 2013 às 10:33

a cara queria um client proprio versão 9.83 queria aprender faser um

4 meses depois...
daniursolinooD
06 de abril de 2014 às 22:59

Po cara voltei atrás aki nesse tópico pq o npc n ta mudando a cidade natal do player.

gonorreiaswatG
10 de abril de 2014 às 00:12

Lembrou de editar nesta parte do script para a ID da cidade que deseja que seja a nova cidade do player?

 

 

townid = 2,   --ID da cidade que será natal do player.

 

Boa sorte.