• 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!

co zjebałem w skrypcie

xKos

New Member
Joined
Mar 27, 2013
Messages
58
Reaction score
2
piszę sobie taki tam skrypcik, bo w końcu się zebrałem do tej nauki. wygląda on następująco:
Code:
local kamien = 3615
function onUse(cid, 3615, toPosition, 2553, fromPosition)
local zdarzenie = math.random (1,2)

		if kamien == kamien.id and zdarzenie == 1 then
		doSendMagicEffect(getThingPos(kamien.id), CONST_ME_POFF)
		doTransformItem(uid = kamien, toitemid = 3608)
		doPlayerAddItem(cid, 5880, 1)
	
		else 
		doPlayerSendTextMessage(cid,22,'Nie udalo Ci sie pozyskac rudy zelaza.')
		end
end
pisałem na wyczucie, ale nie działa. pomógłby mi ktoś z tym?
 
Od dwóch lat nic w Lua nie robiłem, ale ta linijka wygląda b. dziwnie:
Code:
doTransformItem(uid = kamien, toitemid = 3608)
nie wiem czy tak jak w innych językach przypisanie zwraca wartość przypisaną, ale raczej miałeś na myśli:
Code:
doTransformItem(kamien, 3608)

poza tym, w definicji funkcji podajesz nazwy argumentów, a nie ich wartości, więc to:
Code:
[COLOR=#333333]function onUse(cid, 3615, toPosition, 2553, fromPosition)[/COLOR]

nie ma prawa bytu. ty tu wpisałeś jakieś wartości, a mają być nazwy, w dodatku nazwa nie może zaczynać się od cyfry. także powinno być coś w stylu:
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
i wtedy kod mógłby wyglądać jakoś tak:
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local losowaLiczba = math.random (1,2)
    local idKamienia = 3615


    if idKamienia == item.id and losowaLiczba == 1 then
        doSendMagicEffect(getThingPos(item), CONST_ME_POFF)
        doTransformItem(item, 3608)
        doPlayerAddItem(cid, 5880, 1)
    else 
        doPlayerSendTextMessage(cid, 22, 'Nie udalo Ci sie pozyskac rudy zelaza.')
    end
end
 
Last edited:
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(math.random(2) == 2)then
		doPlayerSendTextMessage(cid,22,'Nie udalo Ci sie pozyskac rudy zelaza.')
		return true
	end

	doSendMagicEffect(fromPosition, CONST_ME_POFF)
	doTransformItem(item.uid, 3608)
	doPlayerAddItem(cid, 5880, 1)
	return true
end

z tego co wywnioskowalem, to uzywasz po prostu kamienia, czyli nie musisz sprawdzac id w skrypcie, bo jest juz przyznane w actions.xml.
 
Back
Top