Skrypty & Kody Gdy potw?r zginie pojawia si? kolejny.

Status
Zamknięty.

sameyes

Active User
Zarejestrowany
Dołączył
Kwiecień 3, 2009
Posty
97
Liczba reakcji
4
Witam, pr?buje stworzy? skrypt dzi?ki, kt?remu potw?r umieraj?c tworzy nowego. Niestety, nie udaje mi si? to, przy zeru b??dach w konsoli.

M?j skrypt :

function onKill(cid, target)
local name = getCreatureName(target)
local pos = getThingPos(target)
if(isMonster(target) == TRUE) then

if storage == 1 then
if name == "Nazwa" then
doCreateMonster("NazwaStworzonego", getThingPosition(target))

end
end
end
return true
end

Prosi?bym o pomoc, z g?ry dzi?kuje.
 
Odp: Gdy potw?r zginie pojawia si? kolejny.

Jak pierdoln? teraz g?upot? to przepraszam, ma?o mia?em do czynienia z lua, ale np. w pascalu sta?? deklaruje si? przed funkcj?.
 
Ostatnia edycja:
Odp: Gdy potw?r zginie pojawia si? kolejny.

Hmm... nie widz? u Ciebie definiowanego "storage", wa?na jest tez wielko?? liter w nazwie potwora, lub nie zarejestrowa?es eventu w login.lua. Trzymaj lekko poprawiony skrypt:
PHP:
function onKill(cid, target)
local name = getCreatureName(target)
local pos = getThingPos(target)
	if(isMonster(target) and getPlayerStorageValue(cid/target, X) == 1 and name:lower() == "nazwa") then --nazwa potwora z malej litery
		return doCreateMonster("NazwaStworzonego", pos) and true
	end
return true
end
Pozdrawiam.
 
Odp: Gdy potw?r zginie pojawia si? kolejny.

W sumie nie wiem po co u?ywa? tutaj storage, m?g?by? mi to wyt?umaczy??

@Edit: Zapomnia?em, bo edytowa?em inny skrypt i nie usun??em tego storage. Bez niego co? takiego?

PHP:
function onKill(cid, target) 
local name = getCreatureName(target) 
local pos = getThingPos(target) 
    if(isMonster(target) == true and name:lower() == "nazwa") then --nazwa potwora z malej litery 
        return doCreateMonster("NazwaStworzonego", pos) and true 
    end 
return true 
end
 
Ostatnia edycja:
Odp: Gdy potw?r zginie pojawia si? kolejny.

Dok?adnie tak. Dodam jeszcze, ?e nie musisz przyr?wnywa? funkcji isMonster(target) do prawdy, wystarczy sam warunek isMonster(target), poniewa?, gdyby dana funkcja zwraca?a co? innego ni? prawd?, to po prostu warunek nie by? by spe?niony i skrypt zako?czy?by dzia?anie. Pozdrawiam.
 
Odp: Gdy potw?r zginie pojawia si? kolejny.

Wszystko spoko, respi nowego potwora, lecz kiedy bije go dw?ch graczy, to zrespi? si? dwa potwory. Jak temu zaradzi??
 
Odp: Gdy potw?r zginie pojawia si? kolejny.

Musisz zmieni? funkcje z onKill na onDeath:
PHP:
local SUMMONS = {
	["Nazwaumierajacegopotwora1"] = "Nazwanowegopotwora",
}
function onDeath(cid, corpse, deathList)
local name = getCreatureName(cid)  
local summon = SUMMONS[name]
local pos = getThingPos(cid) 
    if(isMonster(cid) and summon) then
        return doCreateMonster(summon, pos) and true 
    end 
return true 
end
Oraz doda? zarejestrowa? event w pliku danego potwora, wklejaj?c pomiedzy flags a attacks:

PHP:
<script>
	<event name="Nazwaeventu"/>		
	</script>
Pozdro
 
Status
Zamknięty.
Back
Do góry