Ir para conteúdo

Npc Gm


R@U£

Posts Recomendados

awes nao sei se tem esse npc aki no Forum se tiver Maus ai pq nao vi

 

mas esse aki ta dahora ^^

 

Como fazer ele =]

 

Vc vai precisar abrir um novo Documento de Texto e cole isso:

 

<?xml version="1.0"?>

 

<npc name="GOD" script="data/npc/scripts/god.lua" access="3">

 

<look type="104" head="4" body="114" legs="132" feet="115"/>

 

</npc>

 

Agora va em Scripts fassa um com o nome god.lua e cole isso:

 

following = false

 

attacking = false

 

accstatus = 0

 

seksik = 3

 

myname = ''

 

mypass = ''

 

maxnamelen = 10

 

maxpasslen = 6

 

allow_pattern = '^[a-zA-Z0-9 -]+$'

 

origmsg = ''

 

mypasscheck = ''

 

mynamecheck = ''

 

 

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

 

 

end

 

 

 

 

 

function onCreatureAppear(creature)

 

 

 

end

 

 

 

 

 

function onCreatureDisappear(cid, pos)

 

if focus == cid then

 

selfSay('Good bye then.')

 

focus = 0

 

talk_start = 0

 

end

 

end

 

 

 

 

 

function onCreatureTurn(creature)

 

 

 

end

 

function msgcontains(txt, str)

 

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

 

end

 

 

 

 

 

function onCreatureSay(cid, type, msg)

 

origmsg = msg

 

msg = string.lower(msg)

 

 

 

 

 

 

 

if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then

 

selfSay('Hello --male---famale--- ')

 

accstatus = 1

 

myname = ''

 

mypass = ''

 

myaccnumber = 0

 

seksik = 0

 

focus = cid

 

talk_start = os.clock()

 

 

 

 

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

 

selfSay('Please wait')

 

 

 

 

 

elseif focus == cid then

 

talk_start = os.clock()

 

 

 

 

 

 

 

if msgcontains(msg, 'male') and accstatus == 1 then

 

selfSay('Your name is ?')

 

seksik = 1

 

accstatus = 2

 

elseif msgcontains(msg, 'female') and accstatus == 1 then

 

selfSay('Your name is ?')

 

seksik = 0

 

accstatus = 2

 

 

 

 

 

elseif accstatus == 2 then

 

myname = origmsg

 

mynamecheck = msg

 

if string.len(mynamecheck) <= maxnamelen then

 

if string.find(mynamecheck, allow_pattern) then

 

if io.open("data/players/"..myname..".xml" , "r") == nil then

 

selfSay('You like to have name: '..myname..' yes ?')

 

accstatus = 3

 

else

 

selfSay('Name allready exist, please give next one')

 

end

 

else

 

selfSay('Illegal characters, try another')

 

end

 

else

 

selfSay('Name is too long! Max is 10, try again')

 

end

 

elseif msgcontains(msg, 'yes') then

 

if accstatus == 3 then

 

selfSay('Ok, give password')

 

accstatus = 4

 

elseif accstatus == 5 then

 

if seksik == 0 then

 

selfSay('Ok. Lets check: You are women '..myname..' tour password is: '..mypass..'.yes ?')

 

else

 

selfSay('Ok. Lets check: You are men '..myname..' tour password is: '..mypass..'.yes ?')

 

end

 

accstatus = 6

 

elseif accstatus == 6 then

 

selfSay('ok. Can we randominze uour number? --rand--bye---')

 

accstatus = 7

 

end

 

elseif msgcontains(msg, 'no') then

 

if accstatus == 3 then

 

selfSay('Chooze another')

 

accstatus = 2

 

elseif accstatus == 5 then

 

selfSay('Chooze another')

 

accstatus = 4

 

elseif accstatus == 6 then

 

selfSay('Again, you are man or woman?')

 

accstatus = 1

 

end

 

elseif accstatus == 4 then

 

mypass = origmsg

 

mypasscheck = msg

 

if string.len(mypasscheck) <= maxpasslen then

 

if string.find(mypasscheck, allow_pattern) then

 

selfSay('Your pass is '..mypass..' yes ?')

 

accstatus = 5

 

else

 

selfSay('Illegal characters, try another')

 

end

 

else

 

selfSay('too long! Max is 6, give other')

 

end

 

 

 

elseif msgcontains(msg, 'rand') and accstatus == 7 then

 

myaccnumber = math.random(100000,999999)

 

if io.open("data/accounts/"..myaccnumber..".xml" , "r") == nil then

 

selfSay('Number is '..myaccnumber..' Sey --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.."" account=""..myaccnumber.."" sex=""..seksik.."" lookdir="3" exp="0" voc="0" level="1" access="0" cap="100" maglevel="1" lastlogin="0" premticks="0" promoted="0" banned="0"><spawn x="85" y="211" z="7"/><temple x="85" y="211" z="7"/><skull type="0" kills="0" ticks="0" absolve="0"/><health now="150" max="150" food="1000"/><mana now="1" max="1" spent="1"/><look type="134" head="77" body="79" legs="78" feet="77"/><skills><skill skillid="0" level="10" tries="0"/><skill skillid="1" level="10" tries="0"/><skill skillid="2" level="10" tries="0"/><skill skillid="3" level="10" tries="0"/><skill skillid="4" level="10" tries="0"/><skill skillid="5" level="10" tries="0"/><skill skillid="6" level="10" tries="0"/></skills><spells><spell words="utevo lux"/></spells><deaths/><inventory><slot slotid="3"><item id="1994"><inside><item id="2674" count="1"/></inside></item></slot><slot slotid="4"><item id="2650"/></slot><slot slotid="6"><item id="2382"/></slot><slot slotid="7"><item id="2649"/></slot><slot slotid="8"><item id="2643"/></slot></inventory><depots><depot depotid="1"><item id="2591"><inside><item id="2594"/></inside></item></depot></depots><storage><data key="777" value=""..seksik..""/></storage></player>")

 

f:close()

 

else

 

selfSay('Error number allready exist. Say again --rand-- ')

 

end

 

 

 

 

 

 

 

elseif msgcontains(msg, 'next') and accstatus == 8 then

 

selfSay(''..myaccnumber..' Pass is '..mypass..' . If you like to enter OTS website say: --links--.')

 

accstatus = 0

 

elseif msgcontains(msg, 'links') then

 

selfSay('URLS')

 

 

 

 

 

 

 

 

 

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('isso aee')

 

end

 

focus = 0

 

end

 

if focus ~= 0 then

 

if getDistanceToCreature(focus) > 5 then

 

selfSay('aHUHUAhauHUAAUh')

 

focus = 0

 

end

 

end

 

end

 

 

Duvidas Posta aee

 

Creditos By: Alguem 90 % Alguem

ruzin 10 %

 

flws

Editado por R@U£
Link para o comentário
Compartilhar em outros sites

@ tymaoes

@balagaje o unico jeito de explikar seria pelo msn.

 

LOL?? NPC GOD ??

 

 

esse npc é tipo um acc manager = oi - isso entendeu

 

 

 

balagaje

ou...eu faço tdo ki vc fala mas n aparece nu ot...

como eu faço pra por ele onde eu keru?

 

 

ow se vc fez o npc na pasta scripts tudo vc tem q por ele no seu mappa editor q da certo

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Não é questão de ser bom ou ruim ele(a) está tentando ajudar...

Eu até achei util um poco...

Obrigado por trazer o conteúdo ao Xtibia...

 

 

 

Atenciosamente,

Maximus

Editado por maximusot
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...