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:
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:
info
Grupo: Campones
Registrado: 01/10/07
Posts: 7
Reputação: 0
Char no Tibia: lpitu
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 endagora a explicação!!vamos começar
Bom como essa parte acima ta meio obvia eu acho que nao precisa de muita explicaçao neh?
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.
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:
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:
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:
va em:
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:
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:
Ai vc vai no seu map editor na aba NPC e posicione o npc onde vc quiser!
bom eh so issu comente!!