Ajuda Private

Ajuda Private, veio para poder ajudar vocês a terem seu próprio server private de tales of pirates.
 
InícioCalendárioFAQBuscarMembrosGruposRegistrar-seConectar-se

Compartilhe | 
 

 Como Colocar Buff Npc

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Admin
Admin


Mensagens : 59
Data de inscrição : 06/08/2010
Idade : 22
Localização : Cachoeiro de Itapemirim

MensagemAssunto: Como Colocar Buff Npc   Qui Dez 09, 2010 6:02 pm

Como Colocar Buff no NPC!! Muito Fácil ^^

Vamos lá, leia atentamente a seguir para que não de erro.

Procure a pasta: resource \ script \ calculate \ forge.lua

A seguir adicione ao final do arquivo:

Citação :
- Baffer
function NewbieBuff1 (role)

local money = HasMoney (role, 1000) - Check for the required amount of gold (by default 1000)

if money == 0 then - If the amount is not sufficient,
SystemNotice (role, "Do you have enough gold!") - Display the system message about the lack of gold
end

local StateType = GetChaStateLv (role, STATE_QINGZ) - Check if already imposed this buff
if StateType == 0 then - if not imposed, then
AddState (role, role, STATE_QINGZ, 15, 300) - Apply the state STATE_QINGZ in character, for a period of 300 seconds (5 minutes), with a level of 15 (not me!)
TakeMoney (role, nil, 1000) - Select a character 1000 gold
SystemNotice (role, "blessed beginner, your defense is increased by 20 points in 5 minutes!") - Display the system message about the successful imposition of buff
else - Otherwise
SystemNotice (role, "You already have the blessing beginner!") - Display a message that the buff on a player has been imposed
end
end

function NewbieBuff2 (role)

local money = HasMoney (role, 1000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_QINGZ)
if StateType == 0 then
AddState (role, role, STATE_QINGZ, 16, 300)
TakeMoney (role, nil, 1000)
SystemNotice (role, "blessed beginner, your attack is increased by 10 points in 5 minutes!")
else
SystemNotice (role, "You already have the blessing beginner!")
end
end

function NewbieBuff3 (role)

local money = HasMoney (role, 1000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_QINGZ)
if StateType == 0 then
AddState (role, role, STATE_QINGZ, 17, 300)
TakeMoney (role, nil, 1000)
SystemNotice (role, "blessed beginner, your standard of living increased by 50 points in 5 minutes!")
else
SystemNotice (role, "You already have the blessing beginner!")
end
end

function StandartBuff1 (role)

local money = HasMoney (role, 10000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_XLZH)
if StateType == 0 then
AddState (role, role, STATE_XLZH, 10, 300) - Apply the state STATE_XLZH (Ghost fire) 10lvl for a period of 300 seconds (5 minutes). Here the level of state can be changed. The level of state will sootvetsvovat level caster.
TakeMoney (role, nil, 10000)
SystemNotice (role, "imposed Ghost 10lvl fire for 5 minutes!")
else
SystemNotice (role, "can not use simultaneously two spells of the same type!")
end
end

function StandartBuff2 (role)

local money = HasMoney (role, 10000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_SHPF)
if StateType == 0 then
AddState (role, role, STATE_SHPF, 10, 300)
TakeMoney (role, nil, 10000)
SystemNotice (role, "superimposed Tempering 10lvl for 5 minutes!")
else
SystemNotice (role, "can not use simultaneously two spells of the same type!")
end
end

function StandartBuff3 (role)

local money = HasMoney (role, 10000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_TSHD)
if StateType == 0 then
AddState (role, role, STATE_TSHD, 10, 300)
TakeMoney (role, nil, 10000)
SystemNotice (role, "imposed angelic shield 10lvl for 5 minutes!")
else
SystemNotice (role, "can not use simultaneously two spells of the same type!")
end
end

function StandartBuff4 (role)

local money = HasMoney (role, 10000)

if money == 0 then
SystemNotice (role, "Do you have enough gold!")
end

local StateType = GetChaStateLv (role, STATE_MLCH)
if StateType == 0 then
AddState (role, role, STATE_MLCH, 10, 300)
TakeMoney (role, nil, 10000)
SystemNotice (role, "superimposed intense magic 10lvl for 5 minutes!")
else
SystemNotice (role, "can not use simultaneously two spells of the same type!")
end
end
-------------------------------------------------- -------------------------------------

Agora procure outra pasta: resource \ script \ MisSdk \ NpcSdk.lua

Encontre o arquivo linha:

Citação :
if item.func == JumpPage then
return JumpPage (character, npc, page, item.p1)

Agora adicione abaixo:

Citação :
elseif item.func == NewbieBuff1 then
return NewbieBuff1(character)
elseif item.func == NewbieBuff2 then
return NewbieBuff2(character)
elseif item.func == NewbieBuff3 then
return NewbieBuff3(character)
elseif item.func == StandartBuff1 then
return StandartBuff1(character)
elseif item.func == StandartBuff2 then
return StandartBuff2(character)
elseif item.func == StandartBuff3 then
return StandartBuff3(character)
elseif item.func == StandartBuff4 then
return StandartBuff4(character)

Agora vamos procurar outra pasta ^^: resource \ script \ MisScript \ NpcScript01.lua

Adicione ao final do arquivo:

Citação :
function d_talk021 ()
Talk (1, "Priest: I greet you on behalf of the gods. Can I help than that?")
Text (1, "I want to get Blessing beginner.", JumpPage, 2)
Text (1, "I want to get spell improves.", JumpPage, 3)
Text (1, "Goodbye", CloseTalk)

Talk (2, "Priest: Favors gods achieve is not easy. Are you ready to donate 1000 gold coins in the name of their fame?")
Text (2, "to strengthen my body (+20 defense)", NewbieBuff1, 1)
Text (2, "Help defeat the enemies (10 attacks)", NewbieBuff2, 1)
Text (2, "Give me the will to live (+50 life)", NewbieBuff3, 1)
Text (2, "Back", JumpPage, 1)

Talk (3, "Priest: Not enough power for the next feat? I can help you, but my services cost money. Be prepared to pay me 10 thousand gold coins.")
Text (3, "Get Ghost fire", StandartBuff1, 1)
Text (3, "Get quenched", StandartBuff2, 1)
Text (3, "Get angelic shield", StandartBuff3, 1)
Text (3, "to receive intensive magic", StandartBuff4, 1)
Text (3, "Back", JumpPage, 1)
end

Agora vamos para prox pasta: resource \ garner \ garnerNPC.txt

Adicione ao final do arquivo:

Citação :
176 Priest 1 11 15 220300.277400 220300.277400 270 Argent City 1 0 d_talk021 0

Não se esqueça de mudar Haydee (176) o seu valor.
NPS será localizado em frente ao oeste (esquerda), entrada para o Argent.

------------------------------------------------------------------------------------
Procure a seguinte pasta agora: resource \ script \ calculate \ skilleffect.lua

Encontre o State_QINGZ_Add e substituir todo o conteúdo do:

Citação :
function State_QINGZ_Add (role, statelv)
if statelv == 15 then
local defens = GetChaAttr (role, ATTR_STATEV_DEF)
local def_dif = 20 - How much protection will be added
local def = defens + def_dif
SetCharaAttr (def, role, ATTR_STATEV_DEF)
ALLExAttrSet (role)
RefreshCha (role)
elseif statelv == 16 then
local minattack = GetChaAttr (role, ATTR_STATEV_MNATK)
local maxattack = GetChaAttr (role, ATTR_STATEV_MXATK)
local mnatksa_dif = 10 - How many minutes. attack will be added
local mxatksa_dif = 10 - How many max. attack will be added
local mnattack = minattack + mnatksa_dif
local mxattack = maxattack + mxatksa_dif
SetCharaAttr (mnattack, role, ATTR_STATEV_MNATK)
SetCharaAttr (mxattack, role, ATTR_STATEV_MXATK)
ALLExAttrSet (role)
RefreshCha (role)
elseif statelv == 17 then
local hp = GetChaAttr (role, ATTR_STATEV_MXHP)
local hp_dif = 50 - How many lives will be added
local newhp = hp + hp_dif
SetCharaAttr (hp_dif, role, ATTR_STATEV_MXHP)
ALLExAttrSet (role)
RefreshCha (role)
else
local mspdsa_dif = 0.3
local def_dif = 50
local mspdsa = MspdSa (role)
local mspdsa_fin = (mspdsa + mspdsa_dif) * ATTR_RADIX
local defsb = DefSb (role) - def_dif
SetCharaAttr (defsb, role, ATTR_STATEV_DEF)
SetCharaAttr (mspdsa_fin, role, ATTR_STATEC_MSPD)
ALLExAttrSet (role)
RefreshCha (role)
end
end

Em seguida, a seguinte função State_QINGZ_Rem substituído por:

Citação :
function State_QINGZ_Rem (role, statelv)
if statelv == 15 then
local defens = GetChaAttr (role, ATTR_STATEV_DEF)
local def_dif = 20
local def = defens - def_dif
SetCharaAttr (def, role, ATTR_STATEV_DEF)
ALLExAttrSet (role)
RefreshCha (role)
elseif statelv == 16 then
local minattack = GetChaAttr (role, ATTR_STATEV_MNATK)
local maxattack = GetChaAttr (role, ATTR_STATEV_MXATK)
local mnatksa_dif = 10
local mxatksa_dif = 10
local mnattack = minattack - mnatksa_dif
local mxattack = maxattack - mxatksa_dif
SetCharaAttr (mnattack, role, ATTR_STATEV_MNATK)
SetCharaAttr (mxattack, role, ATTR_STATEV_MXATK)
ALLExAttrSet (role)
RefreshCha (role)
elseif statelv == 17 then
local hp = GetChaAttr (role, ATTR_STATEV_MXHP)
local hp_dif = 50
local newhp = hp - hp_dif
SetCharaAttr (hp_dif, role, ATTR_STATEV_MXHP)
ALLExAttrSet (role)
RefreshCha (role)
else
local mspdsa_dif = 0.3
local def_dif = 50
local mspdsa = MspdSa (role)
local mspdsa_fin = (mspdsa - mspdsa_dif) * ATTR_RADIX
local defsb = DefSb (role) + def_dif
SetCharaAttr (defsb, role, ATTR_STATEV_DEF)
SetCharaAttr (mspdsa_fin, role, ATTR_STATEC_MSPD)
ALLExAttrSet (role)
RefreshCha (role)
end
end

Se você quiser mudar o que é - não se esqueça de mudá-lo em ambas as funções.

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

Há um pequeno erro, pois que apresentaram características de um jogador não muda após a aplicação do lustre. Para todos os exibidas corretamente após a aplicação do lustre devem ser removidos e colocados novamente sobre qualquer assunto. Ou fazer os arquivos em outra pequena correção.

Voltamos ao arquivo: resource \ script \ calculate \ skilleffect.lua

Basta encontrar a função State_Xlzh_Add, então essa função encontrar a linha ALLExAttrSet (papel). Adicione depois desta linha abaixo RefreshCha (papel). Como resultado, você deve pegar dois.

Citação :
function State_Xlzh_Add (role, statelv)
- LG ( "state_xlzh", "function State_xlzh_Add:", "role =", role, "statelv =", statelv, "\ n")
local mnatksa_dif = 0.1 + 0.01 * statelv
local mxatksa_dif = 0.1 + 0.01 * statelv
local mnatksa = math.floor ((MnatkSa (role) + mnatksa_dif) * ATTR_RADIX)
local mxatksa = math.floor ((MxatkSa (role) + mxatksa_dif) * ATTR_RADIX)
SetCharaAttr (mnatksa, role, ATTR_STATEC_MNATK)
SetCharaAttr (mxatksa, role, ATTR_STATEC_MXATK)
ALLExAttrSet (role)
RefreshCha (role)
end

Agora faça a mesma coisa com as seguintes funções:

State_Shpf_Add
State_Tshd_Add

Créditos: Nutxz

Traduzido do FreedomTeam fórum russo Espero ter ajudado os créditos a ele a criação do fórum russo!
Não testado, mas eu acho que funciona!
Aqui está um link para os scripts de buffer .. Substitua-as com os antigos .. eu estou usando arquivos xmdw ..

Link: rapidshare.com/#!download|468tl|294088257|BufferNPC.rar|111


Voltar ao Topo Ir em baixo
Ver perfil do usuário http://ajudaprivate.forumaqui.net
 
Como Colocar Buff Npc
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Existe como colocar mais prédios no FS9 ?
» [TUTORIAL] Como colocar videos na unity 3D [UNITY 5]
» [TUTORIAL] Como colocar seu jogo online [UNITY WEB PLAYER]
» Como colocar meu jogo no Facebook ?
» Como colocar falas no personagem

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Ajuda Private :: Scripts, Textures e Outros... :: Scripts | Items | Outros...-
Ir para: