What's new

Potrzebuje pomocy [ Skrypty ]

kurski

Advanced User
Joined
May 11, 2010
Messages
186
Reaction score
3
Age
30
Znalaz?a by si? jaka? osoba kt?ra potrafi pisa? skrypty ?
Nie umiem , w?tpi? bym si? nauczy? wi?c mia?bym takie ma?e pro?by ma?e kody bardzo proste ... :)

Np banshee teleport ?e trzeba po?o?y? na xx,xxx,xxx jakis item by m?c wej?? w teleport po czym ten item znika


Ch?tnych prosz? na priv albo tutaj :) dzi?kuj?
Odwdzi?cz? si?



8.54 << przypadkiem zaznaczy?em 53
 

phern

Advanced User
Joined
Oct 30, 2008
Messages
454
Reaction score
39
Odp: Potrzebuje pomocy [ Skrypty ]

Zrobi?em skrypt na per?y. Edytuj wg. uznania.
data/movements/scripts/perly.lua:
Code:
local config = { 
    miejsceTeleportacji = { x = 32176, y = 31861, z = 15 }, 
    czarnaPerla = { x = 32180, y = 31871, z = 15, stackpos = 2 }, 
    bialaPerla = { x = 32173, y = 31871, z = 15, stackpos = 2 }, 
    text = "You need to do something before entering the teleport." 
    }  
function onStepIn(cid, item, position, fromPosition)
	if item.uid == [COLOR="Magenta"]xxx[/COLOR] then
		if getPlayerStorageValue(cid, [COLOR="RoyalBlue"]yyy[/COLOR]) == 1 then
			if getThingfromPos(config.bialaPerla).itemid == 2143 and getThingfromPos(config.czarnaPerla).itemid == 2144 then
				doTeleportThing(cid, config.miejsceTeleportacji, 0)
				setPlayerStorageValue(cid, 7500, 1)
			else
				doTeleportThing(cid, fromPosition, 0)
			end
		else
			doTeleportThing(cid, fromPosition, 0)
		end
	else
		doPlayerSendCancel(cid, config.text)
	end
	return TRUE
end
W data/movements/movements.xml dodajesz linijk?:
Code:
<movevent type="StepIn" uniqueid="[COLOR="Magenta"]xxx[/COLOR]" script="perly.lua"/>

Unique id kratki, na kt?r? trzeba wej??.
Wolne storage u?ywane w quescie.
Reszta jest chyba dosy? jasna, bia?aPerla i czarnaPerla to miejca, gdzie kladziesz itemki, a miejsceTeleportacji, jak sama nazwa m?wi miejsce, gdzie teleportuje Ci? je?eli po?o?y?e? itemki.
 
Last edited:

kurski

Advanced User
Joined
May 11, 2010
Messages
186
Reaction score
3
Age
30
Odp: Potrzebuje pomocy [ Skrypty ]

Wielkie dzi?ki jak b?d? w stanie to dam reputa i pogadam z koleg? ?eby ci da?.


Mo?esz co? takiego zrobi? ?e gdy si? u?yje ska?y jakim? itemkiem to pojawia si? teleport na 1 minute lub gdy si? w niego wejdzie to on znika ?
I jaki? kod kt?ry by sprawdza? od xxx,xxx,xxx do xxx,xxx,xxx czy gracz jest w romie je?li jest to nie mo?na wej?? w teleport ? No chyba ?e si? nie da to jakie? podobne poprosz?

 

phern

Advanced User
Joined
Oct 30, 2008
Messages
454
Reaction score
39
Odp: Potrzebuje pomocy [ Skrypty ]

U?ywasz pick'a na kamieniu -> pojawia si? teleport -> znika po wej?ciu.
Do data/actions/scripts dodaj plik nazwa.lua, wklej w nim to:
Code:
local _uid = yyy
    local _time = 1 -- Po jakim czasie TP ma zniknac (minuty)
    local _to = { x = 333, y = 921, z = 15 } -- Gdzie cie teleportuje
    local _tp = { x = 314, y = 810, z = 15, stackpos=2 } -- Gdzie TP si? pojawia
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if((itemEx.uid <= yyy or itemEx.actionid > 0) and isInArray({xxx}, itemEx.itemid)) then
        doDecayItem(itemEx.uid)
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        return true
    end
    local function deleteTeleport()
        local teleport = getTileItemById(_tp, 1387)
        if(teleport.uid > 0) then
            doRemoveItem(teleport.uid)
            doSendMagicEffect(_tp, CONST_ME_POFF)
        end
        return true
    end
    if itemEx.uid == _uid then
		doItemSetAttribute(doCreateTeleport(1387, _to, _tp), "uid", [COLOR="Yellow"]www[/COLOR])
        addEvent(deleteTeleport, _time * 1000 * 60)
        doCreatureSay(cid, "You have " .. _time .. " minutes to enter the portal!", TALKTYPE_ORANGE_1)
    end
    return false
end
W data/actions/actions.xml dodaj:
Code:
<action itemid="xxx" script="tools/nazwa.lua"/>
gdzie xxx to ItemID pick'u


Teraz przejd? do movements i dodaj ten skrypt:
Code:
local destination = {x=333, y=921, z=15} -- Gdzie przenosi
function onStepIn(cid, item, position, fromPosition)
if getPlayerStorageValue(cid, [COLOR="White"]ttt[/COLOR]) == 1 then
	doTeleportThing(cid, destination)
	doSendMagicEffect(destination, CONST_ME_TELEPORT)
	doRemoveItem(item.uid)
else
doPlayerSendTextMessage(cid,22,"Sorry, not possible.")
end
end
i w movements.xml dodaj linijk?
<movevent type="StepIn" uniqueid="www" script="nazwa.lua"/>

ttt- wymagane storage
www uid teleportu
 
Last edited:

kurski

Advanced User
Joined
May 11, 2010
Messages
186
Reaction score
3
Age
30
Odp: Potrzebuje pomocy [ Skrypty ]

Masz jaki? pomys? co mo?na zrobi? by do roomu z bosem mog?a wej?? tylko jedna osoba ? A nast?pna po zako?czeniu walki z bosem poprzedniego gracza.
 

phern

Advanced User
Joined
Oct 30, 2008
Messages
454
Reaction score
39
Odp: Potrzebuje pomocy [ Skrypty ]

Teoretycznie mo?esz zrobi?, ?e po wej?ciu w TP przez jakiego? gracza, ten teleport znika i pojawia si? dopiero, gdy tamten zabije bosa lub wejdzie w tp powrotny, niestety nie mam poj?cia, co zrobi? w razie ?mierci tamtego.
 
Last edited:

kurski

Advanced User
Joined
May 11, 2010
Messages
186
Reaction score
3
Age
30
Odp: Potrzebuje pomocy [ Skrypty ]

Mo?e by np zrobi?by? w tym skrypcie ?e kamie? znika na 5 minut? Albo zamienia si? w inny byle po pi?ciu minutach z powrotem mia? uid xxxx
 
Top