Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut] Jak Zrobić Account Manager Pod 7.60 !


lampart

Rekomendowane odpowiedzi

Opublikowano

Ostatnio duzo osob zwraca sie do mnie z prosba jak zrobic Acc Manager pod 7.6.

No wiec najpierw musimy zrobic na Map Edytorze (RapidShare: Easy Filehosting) jakies wysepki aby postawic na nich Acc Managera (wyspeki musza byc od siebie oddalone, bo Acc Manager to npc i ktos moze widziec co piszesz!).

Przyklad:

 

screenshotut5.png

 

Teraz bedziemy potrzebowac skryptu na npc Acc Manager

W data/npc tworzymy Acc Manager.xml

Wklejamy to:

 

<?xml version="1.0"?>

<npc name="Account Manager" script="data/npc/scripts/acc.lua" access="3">

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

</npc>

 

Nastepnie w data/npc/scripts tworzymy plik o nazwie acc.lua

Wklejamy to:

 

---little config-----------------------------------------

maxnamelen = 10

maxpasslen = 10

startlvl = 8

startexp =4200

vocations = 1

healthstart = 185

manastart = 35

depoitemid = 2591

promoted = 1

---------skills-------------------------

--knight-------

kmlvl = 0

kfist = 10

kclub = 10

ksword = 10

kaxe = 10

kdist = 10

kshield = 10

kfish = 10

kcap = 100

--pall------------

pmlvl = 0

pfist = 10

pclub = 10

psword = 10

paxe = 10

pdist = 10

pshield = 10

pfish = 10

pcap = 10

---drut i sorc----

mmlvl = 0

mfist = 10

mclub = 10

msword = 10

maxe = 10

mdist = 10

mshield = 10

mfish = 10

mcap = 10

---end skills -------------------------------

---end little config-----------------------------------------

focus = 0

talk_start = 0

target = 0

following = false

attacking = false

accstatus = 0

seksik = 3

myname = ''

mypass = ''

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

origmsg = ''

mypasscheck = ''

mynamecheck = ''

vocation = 0

 

 

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('Witaj. Jestem tu aby pomoc ci stworzyc nowe konto i nowa postac. Jesli chcesz zaczac tworzenie kona to powiedz mi najpierw czy jestes facetem czy kobieta. --facet---kobieta--- ')

accstatus = 1

myname = ''

mypass = ''

myaccnumber = 0

focus = cid

talk_start = os.clock()

 

 

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

selfSay('Poczekaj, porozmawiam z toba za minutke')

 

 

elseif focus == cid then

talk_start = os.clock()

 

if accstatus == 1 then

if msgcontains(msg, 'facet') then selfSay('Dobrze przyjacielu. Teraz podaj mi swoje imie.')

seksik = 1

accstatus = 2

elseif msgcontains(msg, 'kobieta') then

selfSay('Dobrze moja droga, teraz podaj mi swoje imie.')

seksik = 0

accstatus = 2

end

 

 

 

 

elseif accstatus == 66 then

if msgcontains(msg, 'pall') then

vocation = 3

selfSay('Paladyn, tak ?')

 

elseif msgcontains(msg, 'sorc') then

vocation = 1

selfSay('Sorcerer, tak ?')

 

elseif msgcontains(msg, 'drut') then

vocation = 2

selfSay('Druid, tak ?')

 

elseif msgcontains(msg, 'knight') then

vocation = 4

selfSay('Knight, tak ?')

else

selfSay('Co tak mamroczesz, powiedz jeszcze raz.')

end

 

accstatus = 67

 

 

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('Chcesz miec na imie '..myname..' tak ?')

accstatus = 3

else

selfSay('To imie jest juz zarezerwowane !! Podaj inne, slucham')

end

else

selfSay('To imie zawiera niedozwolone znaki !! Podaj inne')

end

else

selfSay('To imie jest za dlugie !! Max to 10 znakow ! Podaj inne')

end

elseif msgcontains(msg, 'tak') then

if accstatus == 3 then

if vocations == 0 then

selfSay('Dobrze, teraz podaj mi haslo ktorego chcesz uzywac.')

vocation = 0

accstatus = 4

else

selfSay('Dobrze przyjacielu, teraz podaj czy chcesz byc --pall-- czy --sorc-- czy --drut-- czy --knight--.')

accstatus = 66

end

elseif accstatus == 5 then

if seksik == 0 then

selfSay('Wspaniale. Sprawdzmy jeszcze raz: Jestes kobieta o imieniu '..myname..' haslo do twojego konta brzmi '..mypass..'. Numer zostanie wylosowany na koncu. Czy wszystko sie zgadza ??')

else

selfSay('Wspaniale. Sprawdzmy jeszcze raz: Jestes facetem o imieniu '..myname..' haslo do twojego konta brzmi '..mypass..'. Numer zostanie wylosowany na koncu. Czy wszystko sie zgadza ??')

end

accstatus = 6

elseif accstatus == 6 then

selfSay('Doskonale. Czy mozemy przystapic do losowania numeru? --losowanie--bye---')

accstatus = 7

elseif accstatus == 67 then

selfSay('Doskonale. Teraz powiedz jakie chcesz miec haslo.')

accstatus = 4

end

elseif msgcontains(msg, 'nie') then

if accstatus == 3 then

selfSay('Podaj inne, slucham')

accstatus = 2

elseif accstatus == 5 then

selfSay('Podaj inne, slucham')

accstatus = 4

elseif accstatus == 6 then

selfSay('Zacznijmy od poczatku: Jestes facetem czy kobieta --facet--kobieta--')

accstatus = 1

elseif accstatus == 67 then

selfSay('Ehhh wiec powiedz jeszcze raz - jaka profesje chcesz miec ?')

accstatus = 66

end

elseif accstatus == 4 then

mypass = origmsg

mypasscheck = msg

if string.len(mypasscheck) <= maxpasslen then

if string.find(mypasscheck, allow_pattern) then

selfSay('Twoje haslo bedzie brzmialo '..mypass..' tak ?')

accstatus = 5

else

selfSay('To haslo zawiera niedozwolone znaki !! Podaj inne')

end

else

selfSay('To haslo jest za dlugie !! Max to 6 znakow ! Podaj inne')

end

 

elseif msgcontains(msg, 'losowanie') 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('wylosowano poprawny numer '..myaccnumber..' Powedz --dalej--')

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=\"666\"><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=\""..startexp.."\" voc=\""..vocation.."\" level=\""..startlvl.."\" access=\"0\" cap=\""..cap.."\" maglevel=\""..mlvl.."\" lastlogin=\"0\" premticks=\"0\" promoted=\""..promoted.."\" banned=\"0\"><spawn x=\"TU USTAWIAMY TEMPLE!\" y=\"TU USTAWIAMY TEMPLE!\" z=\"7\"\/><temple x=\"TU USTAWIAMY TEMPLE!\" y=\"TU USTAWIAMY TEMPLE!\" z=\"7\"\/><skull type=\"0\" kills=\"0\" ticks=\"0\" absolve=\"0\"\/><health now=\""..healthstart.."\" max=\""..healthstartc.."\" food=\"1000\"\/><mana now=\""..manastartc.."\" max=\""..manastartc.."\" spent=\"1\"\/><look type=\"134\" head=\"77\" body=\"79\" legs=\"78\" feet=\"77\"\/><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><spells><spell words=\"utevo lux\"\/><\/spells><deaths\/><inventory><slot slotid=\"1\"\><item id=\"2480\"/></slot><slot slotid=\"2\"><item id=\"2172\"/></slot><slot slotid=\"3\"><item id=\"1988\"><inside><item id=\"2388\"/><item id=\"2389\" count=\"1\"/><item id=\"2376\"/><item id=\"2398\"/><item id=\"2152\" count=\"25\"/><item id=\"2006\" count=\"7\"/><item id=\"2006\" count=\"7\"/><item id=\"2120\"/><item id=\"2554\"/><item id=\"2273\" count=\"80\"/><item id=\"2666\" count=\"5\"/><item id=\"2182\"/><item id=\"2190\"/><\/inside><\/item><\/slot><slot slotid=\"4\"><item id=\"2464\"/></slot><slot slotid=\"5\"><item id=\"2530\"/><\/slot><slot slotid=\"7\"><item id=\"2468\"/></slot><slot slotid=\"8\"><item id=\"2643\"/></slot><slot slotid=\"9\"><item id=\"2124\"/></slot><slot slotid=\"10\"><item id=\"2580\"/><\/slot><\/inventory><depots><depot depotid=\"1\"><item id=\""..depoitemid.."\"><inside><item id=\"2594\"\/><\/inside><\/item><\/depot><\/depots><storage><data key=\"777\" value=\""..seksik.."\"\/><\/storage><\/player>")

f:close()

else

selfSay('Blad. Wylosowany numer juz istnieje. Powiedz jeszcze raz --losowanie-- aby losowac ponownie. Nie przejmuj sie, to sie czesto zdarza.')

end

 

 

 

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

selfSay('Twoj numer to: '..myaccnumber..' Haslo do tego konta brzmi: '..mypass..' . Nie zapomnij tych passow !! Jesli nie znasz strony naszego OTSa to powiedz --linki--. To bylby juz koniec tworzenia twojego konta. Mozesz sie zalogowac i grac !!')

accstatus = 0

elseif msgcontains(msg, 'linki') then

selfSay('Link do oficjalnej strony servera: Com.org - Only the best links ... \n link do forum: http:/ \n jesli zapomnijsz ktoregos z tych adresow w przyszlosci wejdz poprostu na passy 1/1 i zapytaj mnie o ---linki---')

 

 

 

 

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('Nastepny prosze')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Do zobaczenia')

focus = 0

end

end

end

 

Pamietaj, aby postac sie mogla zalogowac musisz ustawic mu temple i spawn, podkreslilem wszystko!

 

Dobra mamy wysepki, skrypt wiec teraz musimy postawic nasze NPC

Wchodzimy do data/world/npc.xml i dodajemy linijki:

---Dla kazdego npc musisz dac taka linijke i pozycje gdzie ma stac!-----------------------------------------

<npc name="Acc Manager" x="1000" y="1000" z="7"/>

 

PORADNIK w 100 % przez Lampart !

  • 5 tygodni później...
  • 6 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...