Skrypty & Kody Pomoc w przerobieniu skryptu.

Status
Zamknięty.

KiritoWOT

User
Zarejestrowany
Dołączył
Sierpień 22, 2014
Posty
34
Liczba reakcji
1
Witam, chcia?bym prosi? u?ytkownik?w tego forum o przerobienie skryptu na transform(je?li si? da), ?eby odejmowa? mane na sekunde i gdy ca?a mana spadnie wy??cza nam transa zabieraj?c bonus do hp/mp.

O to skrypt:
[LUA]function onCastSpell(cid, var)
if getPlayerVocation(cid) == 1 then
if getPlayerLevel(cid) >= 30 then
doPlayerSetVocation(cid,2)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + 3000)
setCreatureMaxMana(cid, getCreatureMaxMana(cid) + 3000)
doCreatureChangeOutfit(cid, {lookType=71})
local pos = getCreaturePosition(cid)
local position = {x = pos.x + 2, y = pos.y - 0 , z = pos.z}
doSendMagicEffect(position, 140)
setPlayerStorageValue(cid,31510,1)
else
end
[/LUA]

Je?li si? komu? uda z g?ry dzi?kuje i daje oczywi?cie repa. Pozdrawiam.

--EDIT--
Ewentualnie gdyby si? nie da?o to mo?e da si? napisa? nowy skrypt tworz?cy tak? funkcj??
 
Odp: Pomoc w przerobieniu skryptu.

Pierwsza funkcja to b?dzie takie cos
[LUA]if getPlayerMana(cid) == 0 then
return false[/LUA]

I to muszisz wstawi? do tego skryptu.

Sorki z telefonu pisze
 
Odp: Pomoc w przerobieniu skryptu.

Wstaw caly skrypt.
 
Odp: Pomoc w przerobieniu skryptu.

Naj?atwiej to chyba by?oby to zrobi? w Globalevents.
Tak wi?c w Globalevents/scripts tworzysz plik, np. odejmujMP.lua
I w nim:
Kod:
function onThink(interval, lastExecution)

for _, pid in ipairs(getPlayersOnline()) do

	local playerMana = getCreatureMana(pid)
	local ile = -1
        local voc = getPlayerVocation(pid)

		if(playerMana > 1) then
			doPlayerAddMana(cid, ile)
                else
                     if(voc => [COLOR="#FF0000"]2[/COLOR] and voc <= [COLOR="#00FF00"]4[/COLOR] then
                              outfit=[COLOR="#00FFFF"]2[/COLOR]
                              newVoc=[COLOR="#FFFF00"]1[/COLOR]
                      end
                        doCreatureChangeOutfit(cid, looktype=outfit)
                        doPlayerSetVocation(cid, newVoc)
		end
end

	return true 
end

Gdzie 2 to jest numer vocation pierwszej transformacji np. Goku SSJ, a 4 ostatniej transformacji. To chyba zrozumia?e, no nie?
Dalej... 2 to wyglad w jaki ma zmieniac, czyli podstawowy. Natomiast 1 jest numerem vocation podstawowej formy.

Teraz do Globalevents/globalevents.xml dodajesz tylko linijke:
Kod:
<globalevent name="odejmujMP" interval="[COLOR="#800000"]1[/COLOR]" event="script" value="odejmujMP.lua"/>
Gdzie 1 oznacza czas w sekundach, czyli co ile ma wykonywa? skrypt :wink:
Je?li czego? nie rozumiesz, to pisz :smile:

---------- Tre?? dodana o 15:43 ----------

Jeszcze ewentualnie, bo teraz mi przysz?o do g?owy, mo?esz spr?bowa? w XML/vocations.xml przy danym vocation zmieni?
Kod:
gainmanaticks="1"
na
Kod:
gainmanaticks="-1"
Ale nie jestem pewny, poniewa? nie do ko?ca wiem jak ta funkcja dzia?a ;)
 
Status
Zamknięty.
Back
Do góry