• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Monster level

Keeq

New Member
Joined
Nov 6, 2012
Messages
100
Reaction score
0
Siema , jest moze taka funkcja do potwora ze jak go zabijemy to dostajemy np. 2 levela zamiast expa ?
 
Da się zrobić. Jest funkcja do pobierania ilości doświadczenia potrzebnej do zdobycia określonego poziomu, kilka linijek w onkill lub ondeath i działa
 
Ustaw kazdemu potworowi po 0 expa i w onKill napisz se tabelkę że jak potwór się zwie XX to daje mu np. 1 lvl, YY 2 lvle i takie tam.
 
Lua:
function onKill(cid, target)
	local lvl = 2 -- Ilosc poziomow za zabicie

	if getCreatureName(target) == 'Nazwa_potwora' then
		doPlayerAddExp(cid, getExperienceForLevel(getPlayerLevel(cid)+lvl)-(getPlayerExperience(cid)))
	end
	return true
end
 
Lua:
function onKill(cid, target, lastHit)
local creatures = {
["Rat"] = { lvl = 1},
["Dragon"] = { lvl = 2},
}

local p = creatures[getCreatureName(target)]

	if (not isPlayer(target)) and isPlayer(cid) and p then
		doPlayerAddExperience(cid, getExperienceForLevel(getPlayerLevel(cid)+p.lvl)-(getPlayerExperience(cid)))
	end
return true
end

Mam nadzieje ze zalapiesz jak dodawać potwory do tabeli xd
 
To ja tez dodam swoja wersje od siebie :wub:

Code:
local monsters = {
	['dragon'] = 2
}

function onKill(cid, target, damage, flags, war)
	if damage > 0 and bit.band(flags, 1) == 1 and isMonster(target) then
		local monster = monsters[getCreatureName(target):lower()]
		if monster then
			doPlayerAddExperience(
				cid,
				getExperienceForLevel(getPlayerLevel(cid) + monster) - getPlayerExperience(cid)
			)
		end
	end

	return true
end

Ps. Nazwy potworow w tablicy wpisuj z malej litery.
 
wyproboje wszystko pokolei

- - - Updated - - -

Mi nic nie dziala..(albo to zle dodaje czy cos ) i czy serwer musze zresetowac czy wystarczy /reload creaturescript ? /// w xml daje
<event type="kill" name="monsters" event="script" value="monsters.lua"/>
 
Lepiej restart zawsze. Niektóre reloady mogą nie działać a inne nawet wywalać serwer, zależnie od wersji
Pamiętaj też, że każdy c-event musisz zarejestrować dla każdej istoty, dla której ma być aktywny
 
Dobra juz dziala / i tak wgl to zapomnialem dodac do LOGIN.LUA i sie przelogowac.. ja tez mysle ;/ dzieki wszystkim ( Potar twoj skrypt wyprobowalem :] dzieki ^^ Rep

- - - Updated - - -

Eh... i znow bug .. zrobilem to i poszedlem z kompa a potem patrze jak wbilem znow na kompa ze jak sie zabije bylejakiego potwora to bierzesz mu HP np ma 100/100 to bierzesz mu te 100 i on sie nie zabija tylko stoi taki jakby martwy ale jest dalej w postaci potwora a nie deda / i wgl za niego nie leci exp ( dopero po przelogowaniu sie potwor jest w postaci deda )-- da sie to naprawic ?
 
Przepraszam że odświeżam ale sprawdziłem każdy podany tutaj skrypt i nadal mi nie działa wie ktoś może czego to wina?
Jak coś to dodałem do login.lua i w monsterze do którego chciałem to zrobić przy experience wpisałem 0
 
Back
Top