What's new

Potrzebna Pomoc !!

Status
Not open for further replies.

ozueld

User
Joined
May 21, 2008
Messages
11
Reaction score
1
Witam. Znalaz?em skrypt z NPC, kt?ry teleportuje na inne wyspy i miasta. Mam jednak tylko srypt (nie wiem co z nim zrobi?) wi?c oczekuje pomocy ;) wystarczy napisa? gdzie zrobi? plik ze skryptem ;p oto skrypt (mo?e si? do czego? przyda)
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false

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)
msg = string.lower(msg)

if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
if isPremium(cid) then
selfSay('Hello ' .. getCreatureName(cid) .. '! I can take you to Karmia, Anshara, Inferna, Venore or Folda.(70gp everywhere)')
focus = cid
talk_start = os.clock()
else
selfSay('Sorry, only premium players can travel by boat.')
focus = 0
talk_start = 0
end

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.')

elseif focus == cid then
talk_start = os.clock()

if msgcontains(msg, 'anshara') then
if pay(cid,50) then
travel(cid, 400, 481, 6)
selfSay('Let\'s go!')
focus = 0
talk_start = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to travel by boat.')
talk_state = 0
else
selfSay('Sorry, you don\'t have enough money.')
end



elseif msgcontains(msg, 'karmia') then
if pay(cid,50) then
travel(cid, 453, 480, 6)
selfSay('Let\'s go!')
focus = 0
talk_start = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to travel by boat.')
talk_state = 0
else
selfSay('Sorry, you don\'t have enough money.')
end

elseif msgcontains(msg, 'inferna') then
if pay(cid,50) then
travel(cid, 517, 439, 6)
selfSay('Let\'s go!')
focus = 0
talk_start = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to travel by boat.')
talk_state = 0
else
selfSay('Sorry, you don\'t have enough money.')
end

elseif msgcontains(msg, 'venore') then
if pay(cid,50) then
travel(cid, 431, 421, 6)
selfSay('Let\'s go!')
focus = 0
talk_start = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to travel by boat.')
talk_state = 0
else
selfSay('Sorry, you don\'t have enough money.')
end

elseif msgcontains(msg, 'folda') then
if pay(cid,50) then
travel(cid, 267, 317, 6)
selfSay('Let\'s go!')
focus = 0
talk_start = 0
elseif not isPremium(cid) then
selfSay('Sorry, you must be premium to travel by boat.')
talk_state = 0
else
selfSay('Sorry, you don\'t have enough money.')
end

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. getCreatureName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
if focus > 0 then
x, y, z = creatureGetPosition(focus)
myx, myy, myz = selfGetPosition()

if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then
selfTurn(1)
end
if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then
selfTurn(3)
end
if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then
selfTurn(2)
end
if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then
selfTurn(0)
end
if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then
selfTurn(2)
end
if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then
selfTurn(0)
end
if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then
selfTurn(3)
end
if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then
selfTurn(1)
end
if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then
selfTurn(2)
end
if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then
selfTurn(0)
end
if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then
selfTurn(3)
end
if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then
selfTurn(1)
end
if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then
selfTurn(2)
end
if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then
selfTurn(0)
end
if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then
selfTurn(3)
end
if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then
selfTurn(1)
end
end

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 then.')
focus = 0
end
end
end
z g?ry dzi?ki :)
 

FerN

Senior User
Joined
Apr 10, 2009
Messages
597
Reaction score
27
Odp: Potrzebna Pomoc !!

Dodaj go do data\npc\scripts\nazwaskryptu.lua, a w data\npc\nazwanpc.xml powpisuj to co ma by? wpisane w npc ;s
 

Damain1996

Active User
Joined
Jun 7, 2009
Messages
118
Reaction score
9
Odp: Potrzebna Pomoc !!

Proste ;) Wklej skrypt do folderu Data/npc/scripts, potem stw?rz plik o nazwie np. MOJNPC.xml ( koniecznie xml ) i wklej do niego ten tekst:
Code:
<?xml version="1.0"?>

<npc name="NAZWA_NPC" script="data/npc/scripts/NAZWA_TWOJEGO_SKRYPTU.lua" autowalk="25">
	<health now="ZYCIE_TERAZ" max="MAX_ZYCIE"/>
	<look type="LOOK_TYPE" head="KOLOR_G?OWY" body="KOLOR_CIA?A" legs="KOLOR_N?G" feet="KOLOR_ST?P"/>
</npc>

Pozdrawiam, Damian.
 

ozueld

User
Joined
May 21, 2008
Messages
11
Reaction score
1
Odp: Potrzebna Pomoc !!

Dzi?ki wam ;) da?bym reputa ale nie moge xP
 

Damain1996

Active User
Joined
Jun 7, 2009
Messages
118
Reaction score
9
Odp: Potrzebna Pomoc !!

To daj potem xD A temat jak rozumiem do zamkni?cia ;)
 
Status
Not open for further replies.
Top