Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Bom galera, estou melhorando o OT e coloquei duas especializações para cada classe.

 

Exemplo: Knight no lvl 50 pode escolher entre virar Defensor e Guerreiro. Paladino pode virar Arqueiro e Assassino. E assim vai.

 

Gostaria que alguém me passasse um script e o xml do npc que o player pudesse escolher entre essas vocações. O npc deve dar as opções de vocações de acordo com a vocação do player. Se for knight só vai dar a opção de Defensor e Guerreiro por exemplo. 

 

Segue o id e nome das vocações:

 

<vocation id="1" name="Mago" description="a Mago" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="1" gainmanaamount="5" manamultiplier="1.1" attackspeed="1600" soulmax="100" gainsoulticks="120" fromvoc="1">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="2" name="Curandeiro" description="a Curandeiro" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="1" gainmanaamount="5" manamultiplier="1.1" attackspeed="1600" soulmax="100" gainsoulticks="120" fromvoc="2">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.3" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="3" name="Ladino" description="a Ladino" needpremium="0" gaincap="20" gainhp="10" gainmana="10" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.4" attackspeed="1600" soulmax="100" gainsoulticks="120" fromvoc="3">
<formula meleeDamage="1.2" distDamage="1.2" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.8" sword="1.0" axe="1.8" distance="1.0" shielding="1.8" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="4" name="Lutador" description="a Lutador" needpremium="0" gaincap="25" gainhp="20" gainmana="5" gainhpticks="2" gainhpamount="20" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.5" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="4">
<formula meleeDamage="1.5" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.0" defense="1.2" magDefense="1.2" armor="1.2"/>
<skill fist="1.1" club="1.0" sword="1.8" axe="1.0" distance="1.8" shielding="1.0" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="5" name="Necromancer" description="a Necromancer" needpremium="1" gaincap="10" gainhp="10" gainmana="60" gainhpticks="2" gainhpamount="10" gainmanaticks="1" gainmanaamount="10" manamultiplier="1.3" attackspeed="1200" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.5" magDamage="1.3" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="6" name="Meister" description="a Meister" needpremium="1" gaincap="10" gainhp="10" gainmana="60" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.3" attackspeed="1200" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.1" magDamage="1.0" magHealingDamage="2.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="7" name="Arqueiro" description="an Arqueiro" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="20" manamultiplier="1.3" attackspeed="1050" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.3" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.6" sword="1.6" axe="1.6" distance="1.0" shielding="1.6" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="8" name="Defensor" description="a Defensor" needpremium="1" gaincap="35" gainhp="60" gainmana="10" gainhpticks="2" gainhpamount="50" gainmanaticks="2" gainmanaamount="20" manamultiplier="1.2" attackspeed="900" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="50">
<formula meleeDamage="1.2" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="2.0" magDefense="2.0" armor="2.0"/>
<skill fist="1.1" club="1.0" sword="1.2" axe="1.2" distance="1.4" shielding="1.0" fishing="1.1" experience="1.1"/>
</vocation>
<!--
<vocation id="9" name="Wizard" description="a Wizard" needpremium="0" gaincap="15" gainhp="15" gainmana="60" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.3" attackspeed="1100" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="10" name="Metamorfo" description="a Metamorfo" needpremium="0" gaincap="15" gainhp="25" gainmana="25" gainhpticks="2" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.3" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.1" axe="1.8" distance="1.8" shielding="1.3" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="11" name="Assassino" description="an Assassino" needpremium="0" gaincap="20" gainhp="20" gainmana="10" gainhpticks="2" gainhpamount="15" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.4" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="50">
<formula meleeDamage="1.4" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.8" sword="1.0" axe="1.8" distance="1.4" shielding="2.1" fishing="1.1" experience="1.1"/>
</vocation>
<vocation id="12" name="Guerreiro" description="a Guerreiro" needpremium="0" gaincap="25" gainhp="35" gainmana="15" gainhpticks="2" gainhpamount="25" gainmanaticks="2" gainmanaamount="25" manamultiplier="1.3" attackspeed="800" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="50">
<formula meleeDamage="1.3" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.5" sword="1.8" axe="1.0" distance="1.4" shielding="1.4" fishing="1.1" experience="1.1"/>
</vocation>

 

Agradeço desde ja.

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

  • Respostas 11
  • Visualizações 963
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • editar: getPlayerVocationId(cid, 12) (vocação que ele precisa ser para virar lutador ou defensor) {name = "Lutador", id = 4}, -- nome da vocação, id {name = "Defensor", id = 8}

  • Exatamente no lugar onde esta defensor e guerreiro são as vocs que ele pode escolher e a id delas

  • tente esse:

Postado

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
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 greetCallback(cid)
talkState[talkUser] = 0
return true
end
function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
if(not npcHandler:isFocused(cid)) then 
return false 
end
local vocationsNameId = {
{name = "Lutador", id = 4}, -- nome da vocação, id
{name = "Defensor", id = 8}
}
local startstorageid = 30031
local msg = string.lower(msg)
if getPlayerLevel(cid) < 50 then
selfSay("You need level 50 to change vocation.", cid)
npcHandler:onCreatureDisappear(cid)
end
if getPlayerStorageValue(cid, startstorageid) == 1 then
selfSay("You has changed your vocation!", cid)
npcHandler:onCreatureDisappear(cid)
end
if getPlayerVocationId(cid, 12) == false then
selfSay("You dont change your vocation!", cid)
npcHandler:onCreatureDisappear(cid)
end
if msgcontains(msg, 'yes') and talkState[talkUser] == nil or talkState[talkUser] == 0 then
selfSay("You want to change your vocation?", cid)
talkState[talkUser] = 2
elseif msgcontains(msg, 'no') and talkState[talkUser] == nil or talkState[talkUser] == 0 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
selfSay("Ok, you change to {"..(vocationsNameId[1].name).."} or {"..(vocationsNameId[2].name).."}?", cid)
talkState[talkUser] = 3
elseif msgcontains(msg, 'no') and talkState[talkUser] == 2 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, string.lower(vocationsNameId[1].name)) and talkState[talkUser] == 3 then
selfSay("You want to change your vocation to {"..(vocationsNameId[1].name).."}?", cid)
setPlayerStorageValue(cid, startstorageid, 1)
talkState[talkUser] = 4
elseif msgcontains(msg, string.lower(vocationsNameId[2].name)) and talkState[talkUser] == 3 then
selfSay("You want to change your vocation to {"..(vocationsNameId[2].name).."}?", cid)
setPlayerStorageValue(cid, startstorageid, 1)
talkState[talkUser] = 4
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then
doPlayerSetVocation(cid, vocationsNameId[getPlayerStorageValue(cid, startstorageid)].id)
doSendMagicEffect(getCreaturePosition(cid), 29)
setPlayerStorageValue(cid, startstorageid, 1)
selfSay("Ok, you have changed this vocation to vocation {"..(vocationsNameId[getPlayerStorageValue(cid, startstorageid)].name).."}.", cid)
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, 'no') and talkState[talkUser] == 4 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

editar:

getPlayerVocationId(cid, 12) (vocação que ele precisa ser para virar lutador ou defensor)

{name = "Lutador", id = 4}, -- nome da vocação, id
{name = "Defensor", id = 8}

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Postado
  • Autor

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
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 greetCallback(cid)
talkState[talkUser] = 0
return true
end
function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
if(not npcHandler:isFocused(cid)) then 
return false 
end
local vocationsNameId = {
{name = "Lutador", id = 4}, -- nome da vocação, id
{name = "Defensor", id = 8}
}
local startstorageid = 30031
local msg = string.lower(msg)
if getPlayerLevel(cid) < 50 then
selfSay("You need level 50 to change vocation.", cid)
npcHandler:onCreatureDisappear(cid)
end
if getPlayerStorageValue(cid, startstorageid) == 1 then
selfSay("You has changed your vocation!", cid)
npcHandler:onCreatureDisappear(cid)
end
if getPlayerVocationId(cid, 12) == false then
selfSay("You dont change your vocation!", cid)
npcHandler:onCreatureDisappear(cid)
end
if msgcontains(msg, 'yes') and talkState[talkUser] == nil or talkState[talkUser] == 0 then
selfSay("You want to change your vocation?", cid)
talkState[talkUser] = 2
elseif msgcontains(msg, 'no') and talkState[talkUser] == nil or talkState[talkUser] == 0 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
selfSay("Ok, you change to {"..(vocationsNameId[1].name).."} or {"..(vocationsNameId[2].name).."}?", cid)
talkState[talkUser] = 3
elseif msgcontains(msg, 'no') and talkState[talkUser] == 2 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, string.lower(vocationsNameId[1].name)) and talkState[talkUser] == 3 then
selfSay("You want to change your vocation to {"..(vocationsNameId[1].name).."}?", cid)
setPlayerStorageValue(cid, startstorageid, 1)
talkState[talkUser] = 4
elseif msgcontains(msg, string.lower(vocationsNameId[2].name)) and talkState[talkUser] == 3 then
selfSay("You want to change your vocation to {"..(vocationsNameId[2].name).."}?", cid)
setPlayerStorageValue(cid, startstorageid, 1)
talkState[talkUser] = 4
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then
doPlayerSetVocation(cid, vocationsNameId[getPlayerStorageValue(cid, startstorageid)].id)
doSendMagicEffect(getCreaturePosition(cid), 29)
setPlayerStorageValue(cid, startstorageid, 1)
selfSay("Ok, you have changed this vocation to vocation {"..(vocationsNameId[getPlayerStorageValue(cid, startstorageid)].name).."}.", cid)
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
elseif msgcontains(msg, 'no') and talkState[talkUser] == 4 then
talkState[talkUser] = 0
npcHandler:onCreatureDisappear(cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

editar:

getPlayerVocationId(cid, 12) (vocação que ele precisa ser para virar lutador ou defensor)

{name = "Lutador", id = 4}, -- nome da vocação, id
{name = "Defensor", id = 8}

 

Primeiramente muitissímo obrigado pela velocidade da resposta.

 

No caso a primeira voc é lutador, e dela vira defensor ou guerreiro. Dai ficaria:

 

getPlayerVocationId(cid, 4) (lutador no caso) e

 

{name = "Guerreiro", id = 12}, -- nome da vocação, id

{name = "Defensor", id = 8}

 

isso mesmo ?

Postado

Exatamente no lugar onde esta defensor e guerreiro são as vocs que ele pode escolher e a id delas

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Postado
  • Autor

Exatamente no lugar onde esta defensor e guerreiro são as vocs que ele pode escolher e a id delas

n54lxu.png

 

 

O npc não responde nada. Qual o problema ? Coloquei o script na pasta scripts como promote.lua. e criei o .xml

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Promoter Lutador" script="promote.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="139" head="59" body="57" legs="59" feet="75" addons="3"/>
</npc>

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo