• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

House Rune

zduna

Banned User
Joined
May 3, 2010
Messages
201
Reaction score
0
Witam
Potrzebuje skrypt ktory: po kilknieciu na drzwi domku sprawdza ile czasu nie logowal sie wlasciciel i jesli jest to wiecej niz 7 dni przejmuje jego domek
 
to sobie napisz?
mala podpowiedz
LUA:
	getHouseInfo(id)
	getHouseFromPos(pos)
 
Last edited:
hmm konto ponad 2 lata masz, 2 lata to tyle czasu ze spokojnie da sie ogarnac c++, lua, php i inne jezyki nawet poswiecajac 1-2h tygodniowo, a zaznajomienie sie z dzialaniem tfs to 1-2h, wiec gdzie lezy problem? moze czas sie usamodzielnic? za 10min dam edita
 
Witam
Potrzebuje skrypt ktory: po kilknieciu na drzwi domku sprawdza ile czasu nie logowal sie wlasciciel i jesli jest to wiecej niz 7 dni przejmuje jego domek

Na iphone 4 Cie stać, a zapłacić komuś za napisanie takiego prostego skrypta nie? skąd się tacy ludzie biorą.
 
napisany an szybkosci, czegos brakuje to sobie dodaj, ja mam wywalone
LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local house = getHouseInfo(getHouseFromPos(toPosition))
	
	if (house == false) then
		return false -- swizdu pizdu domku nie ma
	end
	
	local owner_id = house.owner
	
	result = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = " .. owner_id .. " AND `online` = 0;")
	if(result:getID() ~= -1) then
		local lastlogin = result:getDataInt("lastlogin")
		if (os.time() > (lastlogin-7*24*60*60)) then
			-- fuck yea moge przejac domek
			setHouseOwner(house.id, getPlayerGUID(cid))
		end
		result:free()
	end
	return false -- swizdu pizdu gracz sie zalogowal albo nie istnieje
end
 
powinni banowac takich idiotów jak zduna. te forum zchodzi na psy jak tnp..
 
[10:15:08.250] [Error - Action Interface]
[10:15:08.250] data/actions/scripts/other/houserune.lua:onUse
[10:15:08.250] Description:
[10:15:08.250] (luaGetHouseInfo) House not found

A klikam na drzwi i podloge w domku
 
LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local house_id = getHouseFromPos(toPosition)
	
	if (house_id == false) then
		return false
	end
	
	local house = getHouseInfo(house_id)
 
	if (house == false) then
		return false -- swizdu pizdu domku nie ma
	end
 
	local owner_id = house.owner
 
	result = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = " .. owner_id .. " AND `online` = 0;")
	if(result:getID() ~= -1) then
		local lastlogin = result:getDataInt("lastlogin")
		if (os.time() > (lastlogin-7*24*60*60)) then
			-- fuck yea moge przejac domek
			setHouseOwner(house.id, getPlayerGUID(cid))
		end
		result:free()
	end
	return false -- swizdu pizdu gracz sie zalogowal albo nie istnieje
end
wiecej pomocy przy tym skrypcie nie oczekuj
 
Oczywiście sprawdzałem, ale wydale mi sie że to niedokończony skrypt dlatego w ciemno podbiłem temat

żadnych błędów i rekacji w grze
 
zmień:

LUA:
if (house == false) then
		return false -- swizdu pizdu domku nie ma
	end

na:

LUA:
if house == nil or house == false then
              return  doPlayerSendTextMessage(cid, 18, "Nie znaleziono domq") 
	end

- - - Updated - - -

i poniżej zrób taki sam zabieg, to będziesz wiedział czy problem jest, że poprostu nie znajduje tego domq czy dalej, jeśli to dodasz i nie dostaniesz msg, że 'domq nie ma" to znaczy, że poniżej jest coś źle to napisz wtedy to Ci się postaram pomóc
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
local house_id = getHouseFromPos(toPosition)

if (house_id == false) then
return false
end

local house = getHouseInfo(house_id)

if (house == false) then
return false -- swizdu pizdu domku nie ma
end

local owner_id = house.owner

result = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = " .. owner_id .. " AND `online` = 0;")
if(result:getID() ~= -1) then
local lastlogin = result:getDataInt("lastlogin")
if (os.time() > (lastlogin-7*24*60*60)) then
-- fuck yea moge przejac domek
setHouseOwner(house.id, getPlayerGUID(cid))
end
result:free()
end
if house == nil or house == false then
return doPlayerSendTextMessage(cid, 18, "Nie znaleziono domq")
end
end

Tez tego próbowalem, ale nic nie wyrzuca
 
if house == nil or house == false then
return doPlayerSendTextMessage(cid, 18, "Nie znaleziono domq")
end

brawo ogarze, że dałeś to na sam koniec, podczas gdy skrypt już przerwie działanie wcześniej i nie dojdzie do tego momentu -.-

użyj mózgu wreszcie, jak masz gdzieś return'a, to dana część skryptu przestaje się dalej wykonywać więc jeśli wcześniej dałeś

if (house_id == false) then
return false
end


to jeśli house jest false to dalej nie będzie się wykonywać, więc nie dostaniesz tej wiadomości tzn"doPlayerSendTextMessage(cid, 18, "Nie znaleziono domq") "


daj to z msg'em na sam początek
 
Back
Top