ZiKa ® Admin
Mensagens : 29 Pontos : 59 Reputação : 0 Data de inscrição : 22/02/2011 Idade : 28 Localização : Guaira-SP
| Assunto: Re: Sobre Npc Seg Out 03, 2011 11:10 am | |
| - Bruno escreveu:
- Eu queria um tutorial de como cria o NPC e muda os valores deles por kal essas coisas ae
Valeu ai Existem vários tipos de npc.Vou mostrar 2...
1° NPC Trade
function Nome_Da_Função () Talk( 1, "Mensagem do Npc Aqui" ) Text( 1, "Mensagem pros Players clicar pra ver o que o npc faz", SendExchangeData) InitExchange() ExchangeData( aaaa , b , cccc , d , 1)
end
Legenda :
a = Id do item necessário. b = Quantidade do item necessário. c = Item que irá ganhar. d = Quantidade do item que irá ganhar.
Exemplo :
- Código:
-
function es_gens2 () Talk( 1, "Gens Eletro NPC : HOLA eu vendo os melhores gens do sv vc deseja ver ?" ) Text( 1, "Hmm,dexa eu dar uma olhada", SendExchangeData) InitExchange() ExchangeData( 3457 , 2 , 7681 , 1 , 1) ExchangeData( 3457 , 2 , 7682 , 1 , 1) ExchangeData( 3457 , 2 , 7683 , 1 , 1) ExchangeData( 3457 , 2 , 7684 , 1 , 1) ExchangeData( 3457 , 2 , 7685 , 1 , 1) ExchangeData( 3457 , 5 , 7686 , 2 , 1) ExchangeData( 3457 , 5 , 7687 , 2 , 1)
end 2° NPC Troca
function Nome_Da_Função () Talk( 1, "Mensagem do Npc Aqui" ) Text( 1, "Nome do Item a ser trocado", JumpPage, 2 ) Talk( 2, "Mensagem falando quais itens que precisa pra pegar o certo item" ) InitTrigger() InitTrigger() TriggerCondition( 1, HasItem, aaaa,bbbb ) TriggerAction( 1, TakeItem, aaaa,bbbb ) TriggerAction( 1, GiveItem, cccc,d,e ) TriggerAction( 1, JumpPage, 14 ) Text( 2, "Mensagem pros player confirmar que tem os itens",MultiTrigger,GetMultiTrigger(),1) TriggerFailure( 1, JumpPage, 13 )
Talk( 13, "Mensagem quando estiver faltando algum item necessário." ) Talk( 14, "Mensagem quando conseguir pegar o item." )
end
Legenda : a = Id do item necessário b = Quantidade do item necessário c = Id do item que irá ganhar d = Quantidade do item que irá ganhar. e = Usado quando npc der gem.Se for pra dar gens com level, 102 = LV2, 103 = LV3...
Exemplo :
- Código:
-
function Nome_Da_Função () Talk( 1, "Appareal Brilhantes : HOLA, Bem vindo ao Eletro Sea..faça uma boa compra ^^" ) Text( 1, "Barborosa's Knife", JumpPage, 2 ) Text( 1, "Barborosa's Fork", JumpPage, 3 ) Text( 1, "Pseudo Air Cannon (SS)", JumpPage, 4 ) Talk( 2, "Pra pegar Barborosa's Knife vc precisa de [500] Ja Runestone Confirma?" ) InitTrigger() TriggerCondition( 1, HasItem, 3427,500 ) TriggerAction( 1, TakeItem, 3427,500 ) TriggerAction( 1, GiveItem, 5283,1,1 ) TriggerAction( 1, JumpPage, 14 ) Text( 2, "Confirmo ",MultiTrigger,GetMultiTrigger(),1) TriggerFailure( 1, JumpPage, 13 )
Talk( 3, "Pra pegar Barborosa's Fork vc precisa de [500] Ja Runestone Confirma?" ) InitTrigger() TriggerCondition( 1, HasItem, 3427,500 ) TriggerAction( 1, TakeItem, 3427,500 ) TriggerAction( 1, GiveItem, 5284,1,1 ) TriggerAction( 1, JumpPage, 14 ) Text( 3, "Confirmo ",MultiTrigger,GetMultiTrigger(),1) TriggerFailure( 1, JumpPage, 13 ) Talk( 4, "Pra pegar Pseudo Air Cannon vc precisa de [500] Ja Runestone Confirma?" ) InitTrigger() TriggerCondition( 1, HasItem, 3427,500 ) TriggerAction( 1, TakeItem, 3427,500 ) TriggerAction( 1, GiveItem, 5281,1,1 ) TriggerAction( 1, JumpPage, 14 ) Text( 4, "Confirmo ",MultiTrigger,GetMultiTrigger(),1) TriggerFailure( 1, JumpPage, 13 )
Talk( 13, "Sorry vc n tem os Ja Runestone requeridos seu fdp -.-" ) Talk( 14, "Aew,agora pode mata os noob i ficou mais bonitin" )
end | |
|
ZiKa ® Admin
Mensagens : 29 Pontos : 59 Reputação : 0 Data de inscrição : 22/02/2011 Idade : 28 Localização : Guaira-SP
| Assunto: Re: Sobre Npc Qua Out 05, 2011 2:13 am | |
| - Bruno escreveu:
- vlw eu consigui mais deu um problema D:
eu fiz ele coloquei os items mais dai tem + 2 npc que vende o mesmo item dai eu fiz o npc e ele aparece o mesmo nesses 2 npc D: tem soluçao ? Tem sim..
1° Procure por function InitExchange() em ScriptSdk.lua em \resource\script\MisSdk
Adicione embaixo de Exchange.timenum = {} end
- Código:
-
function InitExchange2() Exchange2 = {} Exchange2.count = 0 Exchange2.srcid = {} Exchange2.srcnum = {} Exchange2.tarid = {} Exchange2.tarnum = {} Exchange2.timenum = {} end 2° Procure por function ExchangeData( srcID, srcNum, tarID, tarNum, timeNum ) ( mesmo local)
Adicione embaixo de Exchange.timenum[Exchange.count] = timeNum end
- Código:
-
function ExchangeData2( srcID, srcNum, tarID, tarNum, timeNum ) if srcID == nil or srcNum == nil or tarID == nil or tarNum == nil or timeNum == nil then LG( "npcinit_error", "ExchangeData:º¯Êý²ÎÊý´íÎó£¡srcID, srcNum, tarID, tarNum, timeNum", srcID, srcNum, tarID, tarNum, timeNum ) return end Exchange.count = Exchange.count + 1 --¶Ò»»Êý¾Ý Exchange2.srcid[Exchange2.count] = srcID Exchange2.srcnum[Exchange2.count] = srcNum Exchange2.tarid[Exchange2.count] = tarID Exchange2.tarnum[Exchange2.count] = tarNum Exchange2.timenum[Exchange2.count] = timeNum end 3° Procure por elseif item.func == SendExchangeData then em NpcSdk em \resource\script\MisSdk Adicione embaixo de elseif item.func == SendExchangeData then return SendExchangeData( character, npc ) - Código:
-
elseif item.func == SendExchangeData2 then return SendExchangeData2( character, npc ) Créditos para ZiKa | |
|