Ir para conteúdo

~~aki O Ke Mta Gente Tava Presizanu Acc Manage 7.92~~


tiozin

Posts Recomendados

Vamos começar

 

Vamos começar criando um NPC, va em data/npc/scripts, copie um arquivo qualquer e renomeie de acc.lua, abra,

 

apague tudo e copie isso pra la:

 

else
selfSay('Name is already in use.. choose another.')
end
else
selfSay('Illegal characters in name, choose another.')
end
else
selfSay('Name is too long, use a shorter one.')
end
elseif msgcontains(msg, 'yes') then
if accstatus == 3 then
if vocations == 0 then
selfSay('Ok, tell me your password')
vocation = 0
accstatus = 4
else
selfSay('What vocation do you want to be?')
accstatus = 66
end
elseif accstatus == 5 then
if seksik == 0 then
selfSay('Excellent! You are a woman named: '..myname..' your password is: '..mypass..'. Yes ?')
else
selfSay('Excellent! You are a man named: '..myname..' your password is: '..mypass..'. Yes ?')

end
accstatus = 6
elseif accstatus == 6 then
selfSay('Ok, lets randomize your pass number. Say -rand- to continue.')
accstatus = 7
elseif accstatus == 67 then
selfSay('Tell me your password.')
accstatus = 4
end
elseif msgcontains(msg, 'not') then
if accstatus == 3 then
selfSay('Choose another.')
accstatus = 2
elseif accstatus == 5 then
selfSay('Choose another.')
accstatus = 4
elseif accstatus == 6 then
selfSay('Start again, tell me your gender')
accstatus = 1
elseif accstatus == 67 then
selfSay('Then tell me your profession again')
accstatus = 66
end
elseif accstatus == 4 then
mypass = origmsg
mypasscheck = msg
if string.len(mypasscheck) <= maxpasslen then
if string.find(mypasscheck, allow_pattern2) then
selfSay('Your password is '..mypass..' yes ?')
accstatus = 5
else
selfSay('Illegal characters.')
end
else
selfSay('Too long.')
end

elseif msgcontains(msg, 'rand') and accstatus == 7 then
if manastart == 0 then
manastartc = 1
else
manastartc = manastart
end
if healthstart == 0 then
healthstartc = 1
else
healthstartc = healthstart
end
if vocations == 0 then
mlvl = 1
fist = 10
club = 10
sword = 10
axe = 10
dist = 10
shield = 10
fish = 10
cap = 100
else
if vocation == 1 or vocation == 2 then
mlvl = mmlvl
fist = mfist
club = mclub
sword = msword
axe = maxe
dist = mdist
shield = mshield
fish = mfish
cap = mcap

elseif vocation == 3 then
mlvl = pmlvl
fist = pfist
club = pclub
sword = psword
axe = paxe
dist = pdist
shield = pshield
fish = pfish
cap = pcap
elseif vocation == 4 then
mlvl = kmlvl
fist = kfist
club = kclub
sword = ksword
axe = kaxe
dist = kdist
shield = kshield
fish = kfish
cap = kcap

end
end

myaccnumber = math.random(100000,999999)
if io.open("data/accounts/"..myaccnumber..".xml" , "r") == nil then
selfSay('Acc number is: '..myaccnumber..' Say --next--')
accstatus = 8
f = assert(io.open("./data/accounts/"..myaccnumber..".xml", "w"))
f = io.open("./data/accounts/"..myaccnumber..".xml", "w")
f:write("<?xml version=\"1.0\"?><account pass=\""..mypass.."\" type=\"1\" premDays=\"0\"><characters><character name=\""..myname.."\"\/><\/characters><\/account>")
f:close()
f = assert(io.open("./data/players/"..myname..".xml", "w"))
f = io.open("./data/players/"..myname..".xml", "w")
f:write("<?xml version=\"1.0\"?><player name=\""..myname.."\" id=\"" ..myaccnumber.."\" account=\""..myaccnumber.."\" sex=\""..seksik.."\" lookdir=\"2\" exp=\""..startexp.."\" voc=\""..vocation.."\" level=\""..startlvl.."\" access=\"0\" cap=\""..cap.."\" maglevel=\""..mlvl.."\" maxdepotitems=\"1000\" lastlogin=\"0\" lastlogout=\"0\" premmium=\"0\" promoted=\""..promoted.."\" soul=\"100\" warning=\"0\" red=\"0\" banTicks=\"0\" reason=\"\" rook=\"0\" sleeping=\"0\" knowaddon=\"0\" lookaddon=\"0\"><spawn x=\""..templex.."\" y=\""..templey.."\" z=\""..templez.."\"\/><temple x=\""..templex.."\" y=\""..templey.."\" z=\""..templez.."\"\/><health now=\""..healthstart.."\" max=\""..healthstartc.."\" food=\"0\"\/><mana now=\""..manastartc.."\" max=\""..manastartc.."\" spent=\"0\"\/><look type=\"128\" head=\"77\" body=\"79\" legs=\"78\" feet=\"77\"\/><guild name=\"\" rank=\"\" nick=\"\" id=\"\"/><skills><skill skillid=\"0\" level=\""..fist.."\" tries=\"0\"\/><skill skillid=\"1\" level=\""..club.."\" tries=\"0\"\/><skill skillid=\"2\" level=\""..sword.."\" tries=\"0\"\/><skill skillid=\"3\" level=\""..axe.."\" tries=\"0\"\/><skill skillid=\"4\" level=\""..dist.."\" tries=\"0\"\/><skill skillid=\"5\" level=\""..shield.."\" tries=\"0\"\/><skill skillid=\"6\" level=\""..fish.."\" tries=\"0\"\/><\/skills><ban comment=\"\" action=\"\"/><skull redskulltime=\"0\" redskull=\"0\"/><deaths\/><spells\/><inventory><slot slotid=\"3\"><item id=\"1988\"><inside><item id=\"2120\"\/><item id=\"2509\"\/><item id=\"2459\"\/><item id=\"5710\"/><\/inside><\/item><\/slot><slot slotid=\"4\"><item id=\"2465\"\/><\/slot><slot slotid=\"6\"><item id=\"2398\"\/><\/slot><slot slotid=\"7\"><item id=\"2649\"\/><\/slot><slot slotid=\"8\"><item id=\"2643\"\/><\/slot><\/inventory><depots><depot depotid=\"1\"><item id=\""..depoitemid.."\"><inside><item id=\"2594\"\/><\/inside><\/item><\/depot><\/depots><storage/><viplist/><\/player>")
f:close()
r22 = math.random(10,99999)
h = io.open("./data/players/players.xml", "r")
h:read()
doop = h:read("*a")
h:close()
g = io.open("./data/players/players.xml", "w")
g:write("<players>\n<player guid=\""..r22.."\"  name=\""..myname.."\"\/>\n"..doop.."\n")
g:close()

else
selfSay('Error say --rand-- again')
end



elseif msgcontains(msg, 'next') and accstatus == 8 then
selfSay('Number: '..myaccnumber..' password: '..mypass..'. by ~Tr0p5')
accstatus = 0




elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
accstatus = 0
myname = ''
mypass = ''
myaccnumber = 0
seksik = ''
talk_start = 0
end
end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Next please!')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Good bye!')
focus = 0
end
end
end

 

 

agora a explicação!!vamos começar

 

 

---little config-----------------------------------------
templex = 393
templey = 327
templez = 7
maxnamelen = 14
maxpasslen = 14
startlvl = 8
startexp = 4200
vocations = 1
healthstart = 185
manastart = 35
depoitemid = 2591
promoted = 0
---------skills-------------------------
--knight-------
kmlvl = 0
kfist = 10
kclub = 10
ksword = 10
kaxe = 10
kdist = 10
kshield = 10
kfish = 10
kcap = 400
--pall------------
pmlvl = 0
pfist = 10
pclub = 10
psword = 10
paxe = 10
pdist = 10
pshield = 10
pfish = 10
pcap = 400
---drut i sorc----
mmlvl = 0
mfist = 10
mclub = 10
msword = 10
maxe = 10
mdist = 10
mshield = 10
mfish = 10
mcap = 400
---end skills -------------------------------

 

Bom como essa parte acima ta meio obvia eu acho que nao precisa de muita explicaçao neh?

 

---little config-----------------------------------------
templex = 393
templey = 327
templez = 7
maxnamelen = 14
maxpasslen = 14
startlvl = 8
startexp = 4200
vocations = 1
healthstart = 185
manastart = 35
depoitemid = 2591
promoted = 0

 

coloque aqui configuraçaoes basicas.. templex y e z eh as coordenadas do seu templo, as coordenadas vc pode ver no seu map editor

max namelen e passlen eh o maximo de caracter que poder conter o nome e a senha respectivamente

start lvl eh o lvl que começa

start exp eh o exp que começa (ex: startlvl = 8, entao startexp = 4200)

vocations, nao sei pra que serv isso xD eu dexei em 1 msm

healthstart e manastart, a quantidade de vida e mana que agente começa, respectivamente

depoitemid, eu nao entei muito bem, eu dexei a msm coisa

promoted eh se agente ja começa promovido (elite~,elder~, master~ e royal~), 0 eh para NAO, e 1 eh para SIM.

 

mlvl = 0
fist = 10
club = 10
sword = 10
axe = 10
dist = 10
shield = 10
fish = 10
cap = 400

 

simplesmente vc define as skills iniciais do player.. para cada vocaçao

 

Agora vamos em:

 

f:write("<?xml version=\"1.0\"?><player name=\""..myname.."\" id=\"" ..myaccnumber.."\" account=\""..myaccnumber.."\" sex=\""..seksik.."\" lookdir=\"2\" exp=\""..startexp.."\" voc=\""..vocation.."\" level=\""..startlvl.."\" access=\"0\" cap=\""..cap.."\" maglevel=\""..mlvl.."\" maxdepotitems=\"1000\" lastlogin=\"0\" lastlogout=\"0\" premmium=\"0\" promoted=\""..promoted.."\" soul=\"100\" warning=\"0\" red=\"0\" banTicks=\"0\" reason=\"\" rook=\"0\" sleeping=\"0\" knowaddon=\"0\" lookaddon=\"0\"><spawn x=\""..templex.."\" y=\""..templey.."\" z=\""..templez.."\"\/><temple x=\""..templex.."\" y=\""..templey.."\" z=\""..templez.."\"\/><health now=\""..healthstart.."\" max=\""..healthstartc.."\" food=\"0\"\/><mana now=\""..manastartc.."\" max=\""..manastartc.."\" spent=\"0\"\/><look type=\"128\" head=\"77\" body=\"79\" legs=\"78\" feet=\"77\"\/><guild name=\"\" rank=\"\" nick=\"\" id=\"\"/><skills><skill skillid=\"0\" level=\""..fist.."\" tries=\"0\"\/><skill skillid=\"1\" level=\""..club.."\" tries=\"0\"\/><skill skillid=\"2\" level=\""..sword.."\" tries=\"0\"\/><skill skillid=\"3\" level=\""..axe.."\" tries=\"0\"\/><skill skillid=\"4\" level=\""..dist.."\" tries=\"0\"\/><skill skillid=\"5\" level=\""..shield.."\" tries=\"0\"\/><skill skillid=\"6\" level=\""..fish.."\" tries=\"0\"\/><\/skills><ban comment=\"\" action=\"\"/><skull redskulltime=\"0\" redskull=\"0\"/><deaths\/><spells\/><inventory><slot slotid=\"3\"><item id=\"1988\"><inside><item id=\"2120\"\/><item id=\"2509\"\/><item id=\"2459\"\/><item id=\"5710\"/><\/inside><\/item><\/slot><slot slotid=\"4\"><item id=\"2465\"\/><\/slot><slot slotid=\"6\"><item id=\"2398\"\/><\/slot><slot slotid=\"7\"><item id=\"2649\"\/><\/slot><slot slotid=\"8\"><item id=\"2643\"\/><\/slot><\/inventory><depots><depot depotid=\"1\"><item id=\""..depoitemid.."\"><inside><item id=\"2594\"\/><\/inside><\/item><\/depot><\/depots><storage/><viplist/><\/player>")
f:close()

 

é o que vai aparecer no script do player, nesse manager pra 7.92 vc nao precisa mecher muito nessa parte

 

Em:

 

<inventory><slot slotid=\"3\"><item id=\"1988\"><inside><item id=\"2120\"\/><item id=\"2509\"\/><item id=\"2459\"\/><item id=\"5710\"/><\/inside><\/item><\/slot><slot slotid=\"4\"><item id=\"2465\"\/><\/slot><slot slotid=\"6\"><item id=\"2398\"\/><\/slot><slot slotid=\"7\"><item id=\"2649\"\/><\/slot><slot slotid=\"8\"><item id=\"2643\"\/><\/slot><\/inventory>

vc muda os ekips dos players, isso é feito pelos ids(voce pode ver os ids usando seu map editor!), se kiser tirar algum ekip, remova completamente a tag, sendo que:

 

Slotid1 é o helmet

Slotid2 é o necklace (colar)

Slotid3 é o container (bp, bag)

Inside é o que tem dentro do container

Count é a quantidade do item que voce colocou anteriormente (so pra itens contaveis, se ele nao for, adicione outra tag com esse item)

Slotid4 é a armor

Slotid5 é o shield

Slotid6 é a arma (no caso dos pallys com bow ou crossbow, esqueça o shield, deixe o id em branco, ou remova a tag)

Slotid7 é a legs

Slotid8 são as boots (recomendo deixar leather boots)

 

Nao mude o resto, agora vamos ao .xml

 

Vá em data/npc copie um arquivo qualquer, renomeie de Manager.xml, abra-o com o bloco de notas, apague tudo que estiver dentro e coloque:

 

<?xml version="1.0"?>
<npc name="Manager" script="data/npc/scripts/acc.lua" access="3">
<look type="80" head="4" body="114" legs="132" feet="115"/>
</npc>

 

Pronto, o NPC ja esta feito, agora vamos character

 

Em data/players copie um arquivo qualquer, renomeie para Manager, abra com o bloco de notas, apague tudo o que estiver dentro e coloque:

<?xml version="1.0"?>
<player name="Manager" id="1270794136" account="1" sex="1" lookdir="0" exp="0" voc="4" level="1" access="0" promoted="0" cap="0" maglevel="0" maxdepotitems="0" lastlogin="1168122264" knowaddon="0"><spawn x="21" y="22" z="7"/><temple x="21" y="22" z="7"/><health now="1" max="1" food="0"/><mana now="0" max="0" spent="0"/><skull redskulltime="0" redskull="0"/><look type="197" head="114" body="114" legs="114" feet="114" addon="0"/><guild name="" rank="" nick="" id="0"/><skills><skill skillid="0" level="0" tries="0"/><skill skillid="1" level="0" tries="0"/><skill skillid="2" level="0" tries="0"/><skill skillid="3" level="0" tries="0"/><skill skillid="4" level="0" tries="0"/><skill skillid="5" level="0" tries="0"/><skill skillid="6" level="0" tries="0"/></skills><spells/><deaths/><inventory/><depots/><storage/><viplist/></playe

 

 

va em:

 

<spawn x="21" y="22" z="7"/><temple x="21" y="22" z="7"/>

 

coloque essas coordenadas iguais, e, eh claro, ao lado do npc

 

Agora vamos a acc, em data/accounts copie um arquivo qualquer, renomeie para 1.xml, abra com o bloco de notas, apague tudo e coloque isso:

 

<?xml version="1.0"?> 
<account pass="1" type="1" premDays="0" lastsaveday="0"><characters><character name="Manager"/></characters></account>

 

Seu map editor deve ter uma opçao pra posicionar os npcs, para isso va na pasta do seu map editor, e em creatures.xml, abra com o bloco de notas, e adicione essa tag:

 

<creature looktype="80" name="Manager" head="85" body="114" legs="114" feet="114" type="npc"/>

 

 

Ai vc vai no seu map editor na aba NPC e posicione o npc onde vc quiser!

 

bom eh so issu comente!!

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
×
×
  • Criar Novo...