Ir para conteúdo

Featured Replies

  • 3 months later...
  • Respostas 15
  • Visualizações 26.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • JhonatanCWest
    JhonatanCWest

    Olá KingTibianos A pedido de um membro, vou postar um tutorial de como criar um NPC. Explicando detalhadamente. Primeiramente, cada npc se encontra em data/npcs no seu ot. Vou postar aq

Posted Images

  • 1 month later...
Postado
Em 07/05/2011 ás 23:21, Matk disse:

Cara estou gostando de ver o conteúdo que você vem trazendo para cá. :rolleyes:

REP+

mas cara e se for um npc de quest , oque coloco as palavras dele certo?

Em 07/05/2011 ás 23:23, JhonatanCWest disse:

 

Que isso, nada mais justo de ensinar a todos que querem aprender.

Eu recebi o conteúdo de graça, e fui bem ajudado!

Hoje em dia gosto de ajudar, inclusive, pode me enviar seu MSN via PM?

cara mas se for npc de quest nao for venda nem nada, que na verdade esta faltando no mapa como eu faço?

Em 07/05/2011 ás 23:17, JhonatanCWest disse:

 

 

2 minutos atrás, Mutley disse:

mas cara e se for um npc de quest , oque coloco as palavras dele certo?

cara mas se for npc de quest nao for venda nem nada, que na verdade esta faltando no mapa como eu faço?

cara mas se for npc de quest nao for venda nem nada, que na verdade esta faltando no mapa como eu faço?

Editado por Mutley
copiei a fala do cara ensinando sem querer (veja o histórico de edições)

  • 5 months later...
  • 1 year later...
Postado
Em 07/05/2011 em 23:17, JhonatanCWest disse:

Olá KingTibianos

 

A pedido de um membro, vou postar um tutorial de como criar um NPC. Explicando detalhadamente.

Primeiramente, cada npc se encontra em data/npcs no seu ot.

 

Vou postar aqui como exemplo um NPC que venda algumas coisas:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Paul" script="default.lua" walkinterval="2000" floorchange="0">

	<health now="100" max="100"/>

	<look type="129" head="57" body="86" legs="0" feet="114" addons="2"/>

	<parameters>

		<parameter key="module_shop" value="1"/>

		<parameter key="shop_sellable" value="crossbow,2455,150;bow,2456,130"/>

		<parameter key="shop_buyable" value="crossbow,2455,360;bow,2456,200;spear,2389,10;royal spear,7378,25;assassin star,7368,200;power bolt,2547,30;bolt,2543,3;arrow,2544,2;"/>

	</parameters>

</npc>

 

 

Explicando:

 

<?xml version="1.0" encoding="UTF-8"?>

Especifica o tipo de linguagem usada no script. Não altere.

 

npc name = Nome do NPC

script = Endereço do Script. Default é o padrão.

walkinterval = O intervalo de tempo em que o NPC anda.

floorchange = Se ele "troca de chão", ou seja se ele se movimenta.

healthnow = Tanto de vida que o Npc está no momento. Geralmente modificado em caso de "quests" específicas.

max = O tanto de vida máximo dele. Este deve ser maior que o healthnow.

looktype = Roupa usada, você pode ver as roupas no arquivo: data/XML/outfits.xml

head, body, legs, feet = A cor da roupa, eu não tenho agora, mas vou provicenciar o pack das cores.

addon = Se usa algum addon. 1 para o 1°, 2 para o 2°, 3 para os dois.

<parameters> = Define que abaixo começará uma série de códigos parâmetros.

module_shop = Módulo, usado. No caso aqui, é shop.. compras/vendas.

shop_sellable = Define o que o NPC lhe oferece para vender.

value = Determina as Id's, Nomes e Preços.

crossbow,2455,150; = Primeiro "crossbow" nome que aparecerá na janela de "venda" do NPC, ID do item, Preço do Item;

shop_buyable = Define o que o NPC irá lhe oferece para comprar

 

Como colocar no RME Map Editor (Atual usado):

 

1° Abra o RME, juntamente ao seu mapa.

2° Clique em File>Import>Importar Monsters/NPC

3° Clique no arquivo XML acima criado

4° De um F5 para garantir o aparecimento do NPC

5° Vá em Window e selecione Terrain Palette caso ainda não tenha feito isso.

6° Vá em Creature, no canto esquero onde tem um option Terrain Palette.

7° Selecione abaixo em creatures, NPCS.

8° Clique lá embaixo, em spawns e crie uma área de circulamento do NPC no seu Mapa.

9° Clique no nome do seu NPC, e coloque-o no mapa.

10° Salve o Mapa! Pronto!!

 

Pronto, seu NPC criado, e desenvolvido.

Em breve o tutorial de Mapping, criando uma área para seu NPC! Bem detalhado!

 

Caso tenha gostado, +REP

Ou ao menos comente sobre o Post!

 

Abraços!

 

Eu queria criar um npc que possa viajar só com reset, você pode me ajudar?

 

Meu sistema de resets é esse

 

elseif talk_state == 6 then
    --rubys = (getPlayerLevel(cid)*4000)*(vezes*10)/1000000)
    if msgcontains(msg, 'yes') then
        if isPremium(cid) then
        if getPlayerLevel(cid) >= 500 then
        if getPlayerVocation(cid) >= 9 then
    --if pay(cid,(getPlayerLevel(cid)*4000)*(vezes*10)) then
    

        if getPlayerVocation(cid) == 13 then    -- deuses
        if getPlayerLevel(cid) >= 500 then
    if getPlayerItemCount(cid,13685) >= rubys then
        selfSay('Welcome new god!')
        doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
        health = getPlayerMaxHealth(cid)
        mana = getPlayerMaxMana(cid)
                doResetLevel(cid)
        setPlayerMaxHealth(cid, (health/10)*(vezes+1))
        doPlayerAddHealth(cid,(health/10)*(vezes+1))
        setPlayerMaxMana(cid, (mana/15)*(vezes+1))
        doPlayerAddMana(cid,(mana/15)*(vezes+1))
                setPlayerMaxCapacity(cid,360)
        doPlayerAddMagicLevel(cid,20)
          doSendMagicEffect(getPlayerPosition(cid),12)
        doPlayerAddResets(cid,1)
        doPlayerRemoveItem(cid,13685,rubys)
                addEvent(Kick, 1*2000,cid)
        talk_state = 0
        else
        selfSay('Sorry mortal, but you dont have this monney!')
        talk_state = 0
        end
        else
        selfSay('Sorry, but only gods level 500 or above can do that!')
        talk_state = 0
        end
    end
        if getPlayerVocation(cid) == 14 then
        if getPlayerLevel(cid) >= 500 then
    if getPlayerItemCount(cid,13685) >= rubys then
        selfSay('Welcome new god!')
        doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
        health = getPlayerMaxHealth(cid)
        mana = getPlayerMaxMana(cid)
                doResetLevel(cid)
        setPlayerMaxHealth(cid, (health/10)*(vezes+1))
        doPlayerAddHealth(cid,(health/10)*(vezes+1))
        setPlayerMaxMana(cid, (mana/15)*(vezes+1))
        doPlayerAddMana(cid,(mana/15)*(vezes+1))
           setPlayerMaxCapacity(cid,360)
        doPlayerAddMagicLevel(cid,20)
          doSendMagicEffect(getPlayerPosition(cid),12)
        doPlayerAddResets(cid,1)
        doPlayerRemoveItem(cid,13685,rubys)
                addEvent(Kick, 1*2000,cid)
        talk_state = 0
        else
        selfSay('Sorry mortal, but you dont have this monney!')
        talk_state = 0
        end
        else
        selfSay('Sorry, but only gods level 500 or above can do that!')
        talk_state = 0
        end
    end
        if getPlayerVocation(cid) == 15 then
        if getPlayerLevel(cid) >= 500 then
    if getPlayerItemCount(cid,13685) >= rubys then
        selfSay('Welcome new god!')
        doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
           
        health = getPlayerMaxHealth(cid)
        mana = getPlayerMaxMana(cid)
                doResetLevel(cid)
        setPlayerMaxHealth(cid, (health/10)*(vezes+1))
        doPlayerAddHealth(cid,(health/10)*(vezes+1))
        setPlayerMaxMana(cid, (mana/15)*(vezes+1))
        doPlayerAddMana(cid,(mana/15)*(vezes+1))
                setPlayerMaxCapacity(cid,360)
        doPlayerAddMagicLevel(cid,4)
        doPlayerAddSkill(cid,4,20) 
        doPlayerAddSkill(cid,5,20) 
          doSendMagicEffect(getPlayerPosition(cid),12)
        doPlayerAddResets(cid,1)
        doPlayerRemoveItem(cid,13685,rubys)
                addEvent(Kick, 1*2000,cid)
        talk_state = 0
        else
        selfSay('Sorry mortal, but you dont have this monney!')
        talk_state = 0
        end
        else
        selfSay('Sorry, but only gods level 500 or above can do that!')
        talk_state = 0
        end
    end

        if getPlayerVocation(cid) == 16 then
        if getPlayerLevel(cid) >= 500 then
    if getPlayerItemCount(cid,13685) >= rubys then
        selfSay('Welcome new god!')
        doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
        health = getPlayerMaxHealth(cid)
        mana = getPlayerMaxMana(cid)
                doResetLevel(cid)
        setPlayerMaxHealth(cid, (health/10)*(vezes+1))
        doPlayerAddHealth(cid,(health/10)*(vezes+1))
        setPlayerMaxMana(cid, (mana/15)*(vezes+1))
        doPlayerAddMana(cid,(mana/15)*(vezes+1))
                setPlayerMaxCapacity(cid,360)
        doPlayerAddSkill(cid,0,20) 
        doPlayerAddSkill(cid,1,20) 
        doPlayerAddSkill(cid,2,20) 
        doPlayerAddSkill(cid,3,20) 
        doPlayerAddSkill(cid,5,20) 
          doSendMagicEffect(getPlayerPosition(cid),12)
        doPlayerAddResets(cid,1)
        doPlayerRemoveItem(cid,13685,rubys)
                addEvent(Kick, 1*2000,cid)
        talk_state = 0
        else
        selfSay('Sorry mortal, but you dont have this monney!')
        talk_state = 0
        end
        else
        selfSay('Sorry, but only gods level 500 or above can do that!')
        talk_state = 0
        end
    end

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo