RA

Templo (Rook / Main)

Por rafafinhaa, 25 de jan. de 2011 em Archived

14
1.5k
rafafinhaaR
25 de janeiro de 2011 às 14:33

Ola... alguem poderia me ajudar nun problema que n consegui descobrir ate hoje:

 

Bom vamos la...

 

1°- meu ot e mappa proprio, e assim ha rook e main.

o acc manager esta nascendo em rook e as acc apos ser criada tambem, e quando morre volta pro inicio de rook (ate ai normal)

 

2°- depois que eu falo com o Oracle ... ele leva eu pra main ... apos isso normal ... so que quando morro vo parar la no incio de main..

 

3°- alguem poderia me ajudar urgente,

 

(ouvi falar que precisaria ter 2 templo ... 1 pra rook e outro pra main + n sei se e verdade e nen como faselo)

 

Obg.

natsgN
26 de janeiro de 2011 às 10:35

Sim, são necessários dois templos, claro.

Você vai cria-los como cidades diferentes, ROOK e MAIN,

configura os templos ao criar as cidades,

caso já estejam criadas, vá em MAP > EDIT TOWNS (CTRL +T)

e configura no templo de main..

 

 

Espero ter ajudado (:

rafafinhaaR
26 de janeiro de 2011 às 11:12

Sim as posiçoes estao serta + mesmo assim quando o player morre em qualquer lugar do server ele volta para as coordenadas do templo la em Rook..

 

pq isso?

Editado Janeiro 26 por bleckkingbar

DretiDemonD
26 de janeiro de 2011 às 17:39

Pois você esqueceu de modificar ou criar um script para isso, irei mover para a sessão correta.

O Mapping em si, não resolve as varias problemas que possui um servidor, é necessário também de todo o resto para que fique 100%.

O player só irá nascer no templo que você deseja caso esse script esteja funcionando.

rafafinhaaR
26 de janeiro de 2011 às 22:50

Pois você esqueceu de modificar ou criar um script para isso, irei mover para a sessão correta.

O Mapping em si, não resolve as varias problemas que possui um servidor, é necessário também de todo o resto para que fique 100%.

O player só irá nascer no templo que você deseja caso esse script esteja funcionando.

 

 

Obrigado + poderia me dar 1 exemplo deste escript ... ou local onde ele se localiza.

 

n e por ser preguiçoso n, é que nunca fui bom com scripts

VitinhowcqV
27 de janeiro de 2011 às 12:17

Cara, olha tu quer que seu char nasce em Rook novamente?

 

Vai no script do teu Npc Oracle

 

E vai lá e da ctrl + f

 

e procura isso "Town" ali al lado vai tar um número que é a id do templo.

Se você sabe o ID de rock bote lá no lugar do id que está dentro do script.

 

O ID você pode ver lá no seu mapa editor dando EDIT TOWNS, dai você ve qual é de Main e de Rookguaard

 

Fui

rafafinhaaR
27 de janeiro de 2011 às 15:38

Cara, olha tu quer que seu char nasce em Rook novamente?

 

Vai no script do teu Npc Oracle

 

E vai lá e da ctrl + f

 

e procura isso "Town" ali al lado vai tar um número que é a id do templo.

Se você sabe o ID de rock bote lá no lugar do id que está dentro do script.

 

O ID você pode ver lá no seu mapa editor dando EDIT TOWNS, dai você ve qual é de Main e de Rookguaard

 

Fui

 

intendi oque tem que faser ... + n e pra nascer em rook e sim em main .... ate ai de boa ... fui no script dele e localizei town e apareceu isso ....

 

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 5) and (isFocused(cid)) and (msg == "yes")) then

selfSay(Oracle.frases.final, cid)

local goto = {x = Oracle.choos.city[3], y = Oracle.choos.city[4], z = Oracle.choos.city[5]}

doTeleportThing(cid, goto)

doPlayerSetTown(cid, Oracle.choos.city[1])

doPlayerSetVocation(cid, Oracle.choos.voc)

setPlayerStorageValue(cid, Oracle.talkStorage, -1)

choos.city = 0

choos.voc = 0

removeFocus(cid)

end

 

..................................................................

 

aki esta o script do meu oracle inteiro \/ ele esta mandando pro local serto do templo + quando morre esta voltando pra rook, + era pra voltar pra main apos a morte

 

 

 

-- area editavel

Oracle = {

Cities = { -- {id, 'nome', x, y, z, 'premium/free'}

{1, 'yasha', 996, 1031, 5, 'free'}

},

Vocations = { -- {[id] = 'nome'}

[1] = 'sorcerer',

[2] = 'druid',

[3] = 'paladin',

[4] = 'knight'

},

frases = {

noLevel = 'CHILDREN! COME BACK WHEN YOU\'VE GROWN UP!',

hi = 'HELLO, CHILDREN. ARE YOU PREPARED TO FACE YOUR DESTINY?',

askVoc = 'WHAT VOCATION YOU WANT TO BE? ',

confirmVoc = 'ARE YOU SURE? THIS DECISION IS IRREVERSIBLE.',

askCity = 'DO YOU WANT TO LIVE IN ',

final = 'GOOD LUCK IN YOUR JOURNEY!',

bye = 'COME BACK WHEN YOU FEEL PREPARED'

},

talkStorage = 7897,

choos = {},

citiesLiberadas = {}

}

-- fim da area editavel

local function getVocations()

local ret = ""

for id,it in pairs(Oracle.Vocations) do

if((id ~= #Oracle.Vocations - 1) and (id ~= #Oracle.Vocations)) then

ret = ret.. it ..", "

end

if(id == #Oracle.Vocations) then

ret = ret.. it .."?"

elseif(id == #Oracle.Vocations - 1) then

ret = ret.. it .." or "

end

end

return ret

end

 

 

--[[>

npc por Evesys/Eventide

<------------------------------------- \m/ <[------]> \m/ ------------------------------------------->

<----> CONSERVE OS CREDITOS <---->

<--> 100% por Eventide, use e abuse deste NPC, mas não de seu dono! <-->->

<---> [Retirado] <----><]]--

 

local focuses = {}

local function isFocused(cid)

for i, v in pairs(focuses) do

if(v == cid) then

return true

end

end

return false

end

 

local function addFocus(cid)

if(not isFocused(cid)) then

table.insert(focuses, cid)

end

end

local function removeFocus(cid)

for i, v in pairs(focuses) do

if(v == cid) then

table.remove(focuses, i)

break

end

end

end

local function lookAtFocus()

for i, v in pairs(focuses) do

if(isPlayer(v) == TRUE) then

doNpcSetCreatureFocus(v)

return

end

end

doNpcSetCreatureFocus(0)

end

 

function onCreatureAppear(cid)

end

 

function onCreatureDisappear(cid)

if(isFocused(cid)) then

selfSay(Oracle.frases.bye, cid)

removeFocus(cid)

end

end

 

function onCreatureSay(cid, type, msg)

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((msg == "hi") and not (isFocused(cid))) then

addFocus(cid)

if(getPlayerLevel(cid) > 7) then

selfSay(Oracle.frases.hi, cid)

else

selfSay(Oracle.frases.nolevel, cid)

end

setPlayerStorageValue(cid, Oracle.talkStorage, 1)

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 1) and (msg == "yes") and (isFocused(cid))) then

selfSay(" ".. Oracle.frases.askVoc .." ".. getVocations(), cid)

setPlayerStorageValue(cid, Oracle.talkStorage, 2)

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 2) and (isFocused(cid))) then

for it = 1, #Oracle.Vocations do

if(msg == Oracle.Vocations[it]) then

selfSay(Oracle.frases.confirmVoc, cid)

Oracle.choos.voc = it

setPlayerStorageValue(cid, Oracle.talkStorage, 3)

break

end

end

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 3) and (isFocused(cid)) and (msg == "yes")) then

for _,it in pairs(Oracle.Cities) do

if((isPremium(cid)) and (it[6] == "premium")) then

table.insert(Oracle.citiesLiberadas, it)

elseif(it[6] == "free") then

table.insert(Oracle.citiesLiberadas, it)

end

end

ret = ""

for id,it in pairs(Oracle.citiesLiberadas) do

if((id ~= #Oracle.citiesLiberadas - 1) and (id ~= #Oracle.citiesLiberadas)) then

ret = ret.. it[2] ..", "

elseif(id == #Oracle.citiesLiberadas) then

ret = ret.. it[2] .."?"

elseif(id == #Oracle.citiesLiberadas - 1) then

ret = ret.. it[2] .." or "

end

end

selfSay(" ".. Oracle.frases.askCity .. ret .." ", cid)

setPlayerStorageValue(cid, Oracle.talkStorage, 4)

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 4) and (isFocused(cid)))then

for id,it in pairs(Oracle.citiesLiberadas) do

if(msg == it[2]) then

Oracle.choos.city = it

break

end

end

selfSay("DO YOU CHOOSED TO BE A ".. Oracle.Vocations[Oracle.choos.voc] ..", AND TO BORN IN ".. Oracle.choos.city[2] ..". IT'S CORRECT?", cid)

setPlayerStorageValue(cid, Oracle.talkStorage, 5)

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 5) and (isFocused(cid)) and (msg == "yes")) then

selfSay(Oracle.frases.final, cid)

local goto = {x = Oracle.choos.city[3], y = Oracle.choos.city[4], z = Oracle.choos.city[5]}

doTeleportThing(cid, goto)

doPlayerSetTown(cid, Oracle.choos.city[1])

doPlayerSetVocation(cid, Oracle.choos.voc)

setPlayerStorageValue(cid, Oracle.talkStorage, -1)

choos.city = 0

choos.voc = 0

removeFocus(cid)

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((isFocused(cid)) and (msg == "bye") or not(isFocused(cid)) and (talkstate ~= -1) and (msg == bye)) then

selfSay(Oracle.frases.bye, cid)

setPlayerStorageValue(cid, Oracle.talkStorage, -1)

Oracle.choos.city = 0

Oracle.choos.voc = 0

removeFocus(cid)

end

end

 

function onPlayerCloseChannel(cid)

if(isFocused(cid)) then

selfSay(frases.bye, cid)

setPlayerStorageValue(cid, Oracle.talkStorage, -1)

removeFocus(cid)

end

end

 

function onThink()

for i, focus in pairs(focuses) do

if(isCreature(focus) == FALSE) then

removeFocus(focus)

else

local distance = getDistanceTo(focus) or -1

if((distance > 4) or (distance == -1)) then

selfSay(Oracle.frases.bye, cid)

removeFocus(focus)

end

end

end

lookAtFocus()

end

VitinhowcqV
27 de janeiro de 2011 às 17:10

Faz assim

 

Vai no seu script e da CTRL+F

 

e acha essa tag

Oracle.choos.city = 0

 

Esse "0" é o id do templo da cidade, coloque o id do templo da cidade que você quer ali.

 

Se funcionou, se quizer REP+

Se não deu certo responda aqui novamente.

rafafinhaaR
27 de janeiro de 2011 às 17:22

Faz assim

 

Vai no seu script e da CTRL+F

 

e acha essa tag

Oracle.choos.city = 0

 

Esse "0" é o id do templo da cidade, coloque o id do templo da cidade que você quer ali.

 

Se funcionou, se quizer REP+

Se não deu certo responda aqui novamente.

 

achar eu achei so que no meu n tem nen 1 numero na frente e sim escrito .... "it"

olha abaixo

 

 

end

talkstate = getPlayerStorageValue(cid, Oracle.talkStorage)

if((talkstate == 4) and (isFocused(cid)))then

for id,it in pairs(Oracle.citiesLiberadas) do

if(msg == it[2]) then

Oracle.choos.city = it

break

end

Editado Janeiro 27 por bleckkingbar

VitinhowcqV
27 de janeiro de 2011 às 17:25

Não cara,

 

PROCURA CTRL+F ESSTA TAG

Oracle.choos.city = 0

pega ela inteira.

 

eu peguei do seu script como que voce nao achou ?

procura junto com o "0" que eu mandei e depois edita esse "0" e bota o id do templo de main que voce deseja

Editado Janeiro 27 por Vitinhowcq

rafafinhaaR
27 de janeiro de 2011 às 18:39

Não cara,

 

PROCURA CTRL+F ESSTA TAG

Oracle.choos.city = 0

pega ela inteira.

 

eu peguei do seu script como que voce nao achou ?

procura junto com o "0" que eu mandei e depois edita esse "0" e bota o id do templo de main que voce deseja

 

é n deu serto ... criei 1 char upei ate lvl 8 fui pra main e morri la fui parar em rook ...

VitinhowcqV
27 de janeiro de 2011 às 19:27

Voce editou a tag

Oracle.choos.city = 0

???????

 

ESTE "0" voce troca por exemplo pelo id de carlin ou seilá a cidade que você quer.

rafafinhaaR
27 de janeiro de 2011 às 19:38

Voce editou a tag

Oracle.choos.city = 0

???????

 

ESTE "0" voce troca por exemplo pelo id de carlin ou seilá a cidade que você quer.

 

 

sim editei e n deu nada, me add no msn ai

 

rafinha_rafa_nunes@hotmail.com

VitinhowcqV
27 de janeiro de 2011 às 21:27

Script:

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 oracle(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
	return false
end

local cityNode = node:getParent():getParent()
local vocNode = node:getParent()

local destination = cityNode:getParameters().destination
local town = cityNode:getParameters().town
local vocation = vocNode:getParameters().vocation

if(destination ~= nil and vocation ~= nil and town ~= nil) then
	if(getPlayerLevel(cid) < parameters.level) then
		npcHandler:say('You must first reach level ' .. parameters.level .. '!', cid)
	else
		if getPlayerVocation(cid) > 0 then
			npcHandler:say('Sorry, You already have a vocation!')
		else
			doPlayerSetVocation(cid, vocation)
			doPlayerSetTown(cid, town)
        	doTeleportThing(cid, destination)
			doSendMagicEffect(destination, CONST_ME_MAGIC_BLUE)
		end
       end
end
npcHandler:resetNpc()
return true
end

function greetCallback(cid)
if(getPlayerLevel(cid) < 8) then
	npcHandler:say('COME BACK WHEN YOU GROW UP, CHILD!')
	return false
else
	return true
end
end
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setMessage(MESSAGE_GREET, 'Hello |PLAYERNAME|. Are you prepared to face your destiny?')

local yesNode = KeywordNode:new({'yes'}, oracle, {level = 8})
local noNode = KeywordNode:new({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Then what vocation do you want to become?'})

local node1 = keywordHandler:addKeyword({'yes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'What city do you wish to live in Main? say {yes}'})
local node2 = node1:addChildKeyword({'Yasha'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 2, destination = {x=996, y=1031, z=5}, text = 'Yasha, eh? So what vocation do you wish to become? {Sorcerer}, {druid}, {paladin} or {knight}?'})
	local node3 = node2:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, vocation = 1, onlyFocus = true, text = 'So, you wish to be a powerful magician? Are you sure about that? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, vocation = 2, onlyFocus = true, text = 'Are you sure that a druid is what you wish to become? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, vocation = 3, onlyFocus = true, text = 'A ranged marksman. Are you sure? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, vocation = 4, onlyFocus = true, text = 'A mighty warrior. Is that your final decision? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
local node2 = node1:addChildKeyword({'yes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 2, destination = {x=996, y=1031, z=5}, text = 'Yasha, eh? So what vocation do you wish to become? {Sorcerer}, {druid}, {paladin} or {knight}?'})
	local node3 = node2:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, vocation = 1, onlyFocus = true, text = 'So, you wish to be a powerful magician? Are you sure about that? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, vocation = 2, onlyFocus = true, text = 'Are you sure that a druid is what you wish to become? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, vocation = 3, onlyFocus = true, text = 'A ranged marksman. Are you sure? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, vocation = 4, onlyFocus = true, text = 'A mighty warrior. Is that your final decision? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
local node2 = node1:addChildKeyword({'Yasha2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, town = 2, destination = {x=996, y=1031, z=5}, text = 'Yasha, eh? So what vocation do you wish to become? {Sorcerer}, {druid}, {paladin} or {knight}?'})
	local node3 = node2:addChildKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, vocation = 1, onlyFocus = true, text = 'So, you wish to be a powerful magician? Are you sure about that? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'druid'}, StdModule.say, {npcHandler = npcHandler, vocation = 2, onlyFocus = true, text = 'Are you sure that a druid is what you wish to become? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'paladin'}, StdModule.say, {npcHandler = npcHandler, vocation = 3, onlyFocus = true, text = 'A ranged marksman. Are you sure? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
	local node3 = node2:addChildKeyword({'knight'}, StdModule.say, {npcHandler = npcHandler, vocation = 4, onlyFocus = true, text = 'A mighty warrior. Is that your final decision? This decision is irreversible!'})
		node3:addChildKeywordNode(yesNode)
		node3:addChildKeywordNode(noNode)
keywordHandler:addKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Then come back when you are ready.'})

npcHandler:addModule(FocusModule:new())

Editado Janeiro 27 por Vitinhowcq