What's new

Talkactions Depo na PIN? Propozycja z forum tibia.com na OTS !

Status
Not open for further replies.

Magic

3+3=3!
Joined
Aug 4, 2008
Messages
1,338
Reaction score
180
Witam !
Ot?? zainspirowany pewnym tematem postanowi?em stworzy? dla Was, spo?eczno?ci Tibia.net.pl system umo?liwiaj?cy bezpieczne przechowywanie przedmiot?w w depositach, bez obawy o utrat? ich podczas hacka. Skrypt ten napisa?em z okazji 1000 posta ;p
Version: 1.0 Beta
Autor skryptu: [USER]Magic[/USER]
Skan:
Nie zezwalam na publikowanie tego skryptu na ?adnych innych forach(wyj?tek stanowi kiedy ja sam je tam opublikuje.)
Instalacja skryptu jest banalnie prosta. Wrzucamy pliki do folderu /mods/, wchodzimy na naszego OTS'a Godem (access=6), oraz wklepujemy komend? /install-depo. Jak nam si? nie spodoba skrypt - no trudno, warto u?y? komendy /uninstall-depo do jej deinstalacji.
Skrypt mo?na pobra? z za??cznika, lub wrzuci? -
/mods/pins.xml:
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="DEPO FOR PIN system by Magic of Tibia.net.pl" version="1.0" author="Magic(Hereos)" contact="magichereos@gmail.com" enabled="yes">
	<talkaction words="/pin"  event="script" value="pin.lua"/>
	<talkaction words="/createpin"  event="script" value="pin.lua"/>
	<talkaction words="/changepin"  event="script" value="pin.lua"/>
	<talkaction words="/install-depo" access="6"  event="script" value="pin.lua"/>
	<talkaction words="/uninstall-depo" access="6"  event="script" value="pin.lua"/>
	<talkaction words="/lock"  event="script" value="pin.lua"/>
	<action fromid="2589" toid="2592" event="script" value="pin.lua"/>
</mod>
oraz
/mods/scripts/pin.lua
PHP:
--
-- SYSTEM CREATED BY MAGIC(hereos) of Tibia.net.pl
-- All rights reserved. Autor's e-mail: magichereos@gmail.com
-- If something doesn't work, you can report it to me.
-- TODO List:
-- security-pin(god can use one of password hashing - md5, sha1, plain(no-hash))
-- If you delete it, You'll break the law.
--
config =
{
	try = 3, -- How much player can make mistake?
	times = 30, -- How much player have to wait if he make x mistakes?(you can change it in "try") It's calculate by times*player tries ;)
	storage = 1996, -- StorageID of Pins.
	-- hash = md5, -- How to hash pin's?(md5/sha1/plain) -- IT's disabled for now.
}
titles ={424, 234} -- There you can edit depo-pin-check titles.
-- There code starts, don't edit it if you don't know how.
function onSay(cid, words, param, channel)
	local param_num = tonumber(param)
	if(words == "/pin") then
		if(getPlayerStorageValue(cid, config.storage) ~= 1) then
			if(param ~= nil) then
				if(tonumber(param) == nil) then
					doPlayerSendTextMessage(cid, 22, "You haven't type numbers.")
					return true
				end
				if(param_num >= 1000 and param_num <= 9999) then
					local pin_query = db.getResult("SELECT `pin`, `pin_try`, `blocked` FROM `players` WHERE `id` = ".. getPlayerGUID(cid))
					if(pin_query:getDataInt("blocked") <= os.clock()) then
						if(pin_query:getDataInt("blocked") ~= 0) then
							doPlayerSendTextMessage(cid, 22, "Your PIN-Code is unblocked(no try, no block). You must type comand again.")
							db.executeQuery("UPDATE `players` SET `pin_try` = '0', `blocked` = '0' WHERE `id` = " .. getPlayerGUID(cid))
							return true
						end
						if(param_num == pin_query:getDataInt("pin")) then
							setPlayerStorageValue(cid, config.storage, 3)
							doPlayerSendTextMessage(cid, 22, "Depo is unlocked. If you want to block it, you must type /lock or open depo and move.")
						else
							if(pin_query:getDataInt("pin_try")+1 < config.try) then
								db.executeQuery("UPDATE `players` SET `pin_try` = '"..  pin_query:getDataInt("pin_try")+1 .."' WHERE `id` = " .. getPlayerGUID(cid))
								doPlayerSendTextMessage(cid, 22, "Sorry, but your PIN Code is wrong. It's your ".. pin_query:getDataInt("pin_try")+1 .. "/" .. config.try .. "try. After it, your depo will be blocked.")
							else
								db.executeQuery("UPDATE `players` SET `pin_try` = '".. pin_query:getDataInt("pin_try")+1 .."', `blocked` = ".. os.clock()+config.times*pin_query:getDataInt("pin_try") .." WHERE `id` = " .. getPlayerGUID(cid))
								doPlayerSendTextMessage(cid, 22, "Sorry, but your PIN Code is wrong. Your account is blocked becouse it was last try(".. pin_query:getDataInt("pin_try") .."/".. config.try ..")")
							end
						end
					else
						doPlayerSendTextMessage(cid, 22, "You've blocked your depo. Block will disapear in ".. pin_query:getDataInt("blocked")-os.clock() .. "secounds")
					end
					pin_query:free()
				else
					doPlayerSendTextMessage(cid, 22, "You didn't type 4 numbers.")
				end
			else
				doPlayerSendTextMessage(cid, 22, "Sorry, but your PIN Code is empty.")
			end
		else
		doPlayerSendTextMessage(cid, 22, "You have active PIN, so why are you typing it again?")
	end
	elseif(words == "/createpin") then
		local pin_query = db.getResult("SELECT `pin`, `pin_try`, `blocked` FROM `players` WHERE `id` = ".. getPlayerGUID(cid))
		if(pin_query:getDataInt("pin") == 0) then
			if(param ~= '') then
				if(param == "random") then
					local randompin = math.random(1000, 9999)
					local querycpin = db.executeQuery("UPDATE `players` SET `pin` = '".. randompin .."' WHERE `id` = " .. getPlayerGUID(cid))
					if(querycpin) then
						doPlayerSendTextMessage(cid, 22, "Your PIN-Code has been changed to: ".. randompin)
					end
				elseif(tonumber(param) == nil) then
					doPlayerSendTextMessage(cid, 22, "You haven't type numbers or random.")
					return true
				elseif(param_num >= 1000 and param_num <= 9999)  then
					local querycpin = db.executeQuery("UPDATE `players` SET `pin` = '".. param_num .."' WHERE `id` = " .. getPlayerGUID(cid))
					if(querycpin) then
						doPlayerSendTextMessage(cid, 22, "Your PIN-Code has been changed to: ".. param)
					end
				else
					doPlayerSendTextMessage(cid, 22, "So sorry, you have type wrong option. Good comend is /createpin 4 numbers or /createpin random")
				end
			pin_query:free()
			else
				doPlayerSendTextMessage(cid, 22, "You type empty pin.")
			end
		else
			doPlayerSendTextMessage(cid, 22, "You've got your pin. If you want to change it, you must type /changepin your_pin, new_pin.")
		end
	elseif(words == "/changepin") then
		if(param ~= '') then
			paramse = string.explode(param, ",")
			if(not paramse[1]) then
				doPlayerSendTextMessage(cid, 22, "First code is wrong.")
				return true
			end
			if(not paramse[2]) then
				doPlayerSendTextMessage(cid, 22, "Second code is wrong.")
				return true
			end
			if(tonumber(paramse[1]) == nil or tonumber(paramse[2]) == nil) then
				doPlayerSendTextMessage(cid, 22, "You haven't type numbers.")
				return true
			end
			paramse[1] = tonumber(paramse[1])
			paramse[2] = tonumber(paramse[2])
			if(paramse[1] >= 1000 and paramse[1] <= 9999 and paramse[2] >= 1000 and paramse[2] <= 9999)  then
				local pin_query = db.getResult("SELECT `pin`, `pin_try`, `blocked` FROM `players` WHERE `id` = ".. getPlayerGUID(cid))
					if(pin_query:getDataInt("blocked") <= os.clock()) then
						if(pin_query:getDataInt("blocked") ~= 0) then
							doPlayerSendTextMessage(cid, 22, "Your PIN-Code is unblocked(no try, no block). You must type comand again.")
							db.executeQuery("UPDATE `players` SET `pin_try` = '0', `blocked` = '0' WHERE `id` = " .. getPlayerGUID(cid))
							return true
						end
						if(pin_query:getDataInt("pin") == paramse[1]) then
							local querychpin = db.executeQuery("UPDATE `players` SET `pin` = '".. paramse[2] .."' WHERE `id` = " .. getPlayerGUID(cid))
							if(querychpin) then
								doPlayerSendTextMessage(cid, 22, "Your PIN-Code has been changed to: ".. paramse[2])
							end
						else
							if(pin_query:getDataInt("pin_try")+1 < config.try) then
								db.executeQuery("UPDATE `players` SET `pin_try` = '".. pin_query:getDataInt("pin_try")+1 .."' WHERE `id` = " .. getPlayerGUID(cid))
								doPlayerSendTextMessage(cid, 22, "Sorry, but your PIN Code is wrong. It's your ".. pin_query:getDataInt("pin_try")+1 .. "/" .. config.try .. "try. After it, your depo will be blocked.")
							else
								db.executeQuery("UPDATE `players` SET `pin_try` = '".. pin_query:getDataInt("pin_try")+1 .."', `blocked` = '".. os.clock()+(config.times*pin_query:getDataInt("pin_try")) .."' WHERE `id` = " .. getPlayerGUID(cid))
								doPlayerSendTextMessage(cid, 22, "Sorry, but your PIN Code is wrong. Your account is blocked becouse it was last try(".. pin_query:getDataInt("try") .."/".. config.try ..")")
							end
						end
					else
						doPlayerSendTextMessage(cid, 22, "You've blocked your depo. Block will disapear in ".. pin_query:getDataInt("blocked")-os.clock() .. "secounds")
					end
					pin_query:free()
				else
					doPlayerSendTextMessage(cid, 22, "PIN Code has to have 4 nubers.")
				end
			else
				doPlayerSendTextMessage(cid, 22, "You haven't typed your pin or new pin. Good comend is /changepin your_pin, new_pin")
			end
	elseif(words == "/lock") then
	doPlayerSendTextMessage(cid, 22, "Depo has been locked.")
	setPlayerStorageValue(cid, config.storage, -2)
	elseif(words == "/install-depo") then
		local iquery = db.executeQuery("ALTER TABLE `players` ADD `pin` INT( 4 ) NULL AFTER `posz` , ADD `pin_try` INT( 8 ) NOT NULL DEFAULT '0' AFTER `pin` , ADD `blocked` BIGINT ( 20 ) NOT NULL DEFAULT '0' AFTER `pin_try`;")
		print(iquery)
		if(iquery) then
			doPlayerSendTextMessage(cid, 22, "Depo for PIN has been installed !")
		else
			doPlayerSendTextMessage(cid, 22, "An error has incluted!")
		end
	elseif(words == "/uninstall-depo") then
		local dquery = db.executeQuery("ALTER TABLE `players` DROP `pin` , DROP `pin_try` , DROP `blocked` ;")
		if(dquery) then
			doPlayerSendTextMessage(cid, 22, "Depo for PIN has been uninstalled !")
		else
			doPlayerSendTextMessage(cid, 22, "An error has incluted!")
		end
	end
	return true
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local pin_query = db.getResult("SELECT `pin`, `pin_try`, `blocked` FROM `players` WHERE `id` = ".. getPlayerGUID(cid))
		if(getPlayerStorageValue(cid, config.storage) >= 2) then
			setPlayerStorageValue(cid, config.storage, -2)
		elseif(pin_query:getDataInt("pin") == 0) then
		else
			doPlayerSendTextMessage(cid, 22, "You haven't typed your pin by comend /pin \"pin(4 numbers) ! If you haven't got pin type /createpin \"your pin(4 numbers). If you want to have random pin, type /createpin \"random.")
			return true
		end
		pin_query:free()
end
Po instalacji, mo?na wygenerowa? sobie pin za pomoc? komendy /createpin random <- automatycznie losuje pin, lub /createpin 4_cyfry <- daje u?ytkownikowi pin jaki sobie wybra?. Nast?puj?co, u?ytkownik mo?e wklepa? pin ?eby mie? dost?p do depo za pomoc? komendy /pin pin_usera <- dzi?ki czemu b?dzie m?g? jednorazowo otworzy? skrzynke z depo. Gdy jednak b?dzie chcia? odej?? bez otwierania, wystarczy ?e wklepie /lock i depo jest zabezpieczone. Je?li uznamy, ?e nasz pin jest znany, mo?na go zmieni? - /changepin pin_obecny, pin_nowy - i pin jest zmieniany. Mam nadziej?, ?e skrypt Wam si? spodoba, za nied?ugo zostanie dodane szyfrowanie hase?.
 

Xayan

Senior User
Joined
Jul 4, 2009
Messages
2,608
Reaction score
390
Age
28
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Nie ogarniam tego. Keylogger to keylogger, passy do depo te? zajebie. Po co tak kombinowa?? Ju? lepiej zrobi? skrypt dla graczy o sta?ym IP, aby mogli si? logowa? tylko z tego jednego (jak sobie ustawi?). A dla graczy ze zmiennym IP - logowanie jedynie z zakresu IP (czyt. dw?ch pierwszych liczb).

Skrypt jest jednak ?wietny. Mods, w dodatku ?adnie rozbudowany. Gz.

Skrypt mo?na pobra? z za??cznika, lub wrzuci? -

Ni ma za??cznika ;x

@Edit:
O, ju? wrzuci?e? za??cznik :p

@Down:
Jakie hexy? Lol :O Zwyk?e switch() pobieraj?ce dane z klawiatury...

@Edit:
No, keyloggery tak dzia?aj?. Przynajmniej tak dzia?a? ten, kt?rego kod ?r?d?owy dosta?em w swoje r?ce :p
 
Last edited:

Magic

3+3=3!
Joined
Aug 4, 2008
Messages
1,338
Reaction score
180
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Uh, ju? doda?em. Skan te? jest. Co do keylogger?w, wi?kszo?? pobiera z hex?w nasze has?a, a kto b?dzie pisa? keyloggera specjalnie pod jeden ots?; ) Nie s?dz?, wi?kszo?? jest pisana pod rl tibie wi?c wiesz ;p Skrypt na IP te? mo?na dorobi?, dobry pomys? ;)
@UP
Po co Ci dane z klawiatury, spo?r?d tych mn?stwa danych b?dziesz wykopywa? has?a?; )
@DOWN
Niestety, ka?da posta? ma przypisana w?asne depo. Mo?na poprosi? developper?w TFS'a, ale nie s?dz? ?eby zrobili co? takiego dop?ki na rl nie ma takich bajer?w. Mo?na by?oby przerobi? ?e zamiast id_gracza kt?ry ma dany item w dp, id_accouta kt?ry ma dany itemek. Fajna sprawa, ale jak powiedzia?em trzeba by?oby w source grzeba?, a wtedy niekt?re skrypty do przepisania ;]
 
Last edited:

S4mantus

Active User
Joined
Jun 13, 2010
Messages
148
Reaction score
30
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Kurde, dobre...

Og?lnie pomys? mi si? bardzo podoba. Gdyby wesz?o to na rl, ka?dy by narzeka?, ?e musi si? m?czy? dostaj?c do depositu etc. Jednak patrz?c z drugiej strony, to faktycznie wspania?y pomys?, gdy? po hacku mog? wr?ci? do itemk?w, kt?re mia?am w depo. Pomys? przedni i na pewno si? przyda wielu osobom. Wydaje mi si?, ?e ju? za nied?ugo b?d? go widywa? na wi?kszo?ci ots :).

Mam pytanie, czy dzia?a?oby to dla ka?dej postaci? Czyli np mam 2 postacie, jedn? wsadz? co? do depo, przyjd? drug?, wpisz? has?o i mam te itemki?

Bo je?li tak, to parcele b?d? zb?dne...
 

Marvixx

Advanced User
Joined
Apr 26, 2009
Messages
436
Reaction score
58
Age
29
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Na dodatek mo?na wk?ada? eq dla podw?jnego zabezpieczenia lub np piny by?y by referowane co jaki? dawane np na maila ;]

To mo?e by? post?p przeciwko Hakerom.
 

Edwin

Advanced User
Joined
Dec 14, 2008
Messages
233
Reaction score
40
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Skrypt jak skrypt. IMO kompletnie nieprzydatny. Po co mi blokowa? depozyty, skoro hacker zrujnuje mi posta??
Lepiej by?oby zrobi? skrypt na zablokowanie ca?ej postaci. Tzn. wpisujesz komend?, podaje Ci PIN/has?o (jak kto woli), blokuje posta? (nie mo?esz si? ani ruszy?, ani otworzy? dp; w sumie mo?na by by?o zrobi?, aby hacker nie m?g? ruszy? przedmiotu, ale to ju? troch? ci??ej) i do p?ki nie wpiszesz poprawnego has?a nic nie zrobisz. Ty (ofiara) odzyskujesz spokojnie konto i ?miejesz si? z hackera.
Oczywi?cie nie opisa?em ca?ego dzia?ania. Brakuje paru rzeczy jak blokowanie konta po X pr?bach wpisania (niepoprawnego) kodu itp.
 

Rafallek

Active User
Joined
Jul 28, 2009
Messages
60
Reaction score
23
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

-- If somethink doesn't work, you can report it to me.

something : )
 

Magic

3+3=3!
Joined
Aug 4, 2008
Messages
1,338
Reaction score
180
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Skrypt jak skrypt. IMO kompletnie nieprzydatny. Po co mi blokowa? depozyty, skoro hacker zrujnuje mi posta??
Lepiej by?oby zrobi? skrypt na zablokowanie ca?ej postaci. Tzn. wpisujesz komend?, podaje Ci PIN/has?o (jak kto woli), blokuje posta? (nie mo?esz si? ani ruszy?, ani otworzy? dp; w sumie mo?na by by?o zrobi?, aby hacker nie m?g? ruszy? przedmiotu, ale to ju? troch? ci??ej) i do p?ki nie wpiszesz poprawnego has?a nic nie zrobisz. Ty (ofiara) odzyskujesz spokojnie konto i ?miejesz si? z hackera.
Oczywi?cie nie opisa?em ca?ego dzia?ania. Brakuje paru rzeczy jak blokowanie konta po X pr?bach wpisania (niepoprawnego) kodu itp.
Jest blokowanie, ale kij. O ile pami?tam, to w configu ustalasz na ile ma by? posta? zablokowana ; ). A co do blokowania ca?ej postaci, to nie lepiej po prostu mie? silnego has?a i unika? keylogger?w? To nie ma by? 2 has?o ; )
 

Edwin

Advanced User
Joined
Dec 14, 2008
Messages
233
Reaction score
40
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

#Magic
Chodzi tu o takie has?o, kt?rego keylogger nie jest w stanie przechwyci?. Na razie ?aden z keylog?w nie zapisuje rozm?w z Default, czy innych kana??w, a ju? tym bardziej nie zrobi SS kiedy wyskoczy okienko z has?em.
No i gdzie to blokowanie (je?li m?wisz o tym skrypcie)?
Og?lnie nie my?l, ?e mam co? do tego skryptu. Po prostu blokowanie samego DP jest troch? beznadziejne, je?li chodzi o OTS. Bardziej by?bym zawiedziony jakby mi zrobili co? z postaci?. ;)

#down
Nie rozumiesz. To has?o by?oby zmieniane za ka?dym razem. Po za tym trzeba by by?o doda? notk?, ?e kto? si? logowa? na posta? z innego IP albo co?... Wszystko da si? zrobi?. ;)
Jedynie keylogger musia?by robi? ju? SS'y...
 
Last edited:

Sunovsky

User
Joined
Nov 29, 2008
Messages
29
Reaction score
4
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

To by?y by nowe keylogery,kt?ry by przechwytywa?y te has?o co wpisujesz aby? m?g? zn?w si? ruszy? itd.
Teraz wszystko zrobi?,trzeba po prostu sci?ga?,tylko z zaufanych stron,i skanowa?.
Bardzo dobre has?o i nie obawiasz si? hacka.
 

Rage

Active User
Joined
Mar 6, 2009
Messages
141
Reaction score
0
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Skrypt dobry dlatego ?e jak kto? si? dowiedzia? naszych pass?w nie przez keyloggera ale jako? zobaczy? lub co? to i tak depo nie otworzy...
 

Folgowsky

Active User
Joined
Jun 23, 2010
Messages
116
Reaction score
8
Age
30
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Witam , da si? go przerobi? na 8.0 ? Bardzo by si? przyda?o
 

Haloon19

Active User
Joined
Jul 21, 2010
Messages
65
Reaction score
1
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Dodalem do OTS no i
 

Owca155

Active User
Joined
Dec 11, 2009
Messages
73
Reaction score
17
Mo?e jeszcze konta bankowe? Porzyczki etc.. haah ! :D

Mo?e jeszcze konta bankowe? Porzyczki etc.. haah ! :D

Mo?e do banku jeszcze PIN? <Konto bankowe?>
Albo zrobi? ,?e ka?dy ma klucz do depo haha ;)..

<Joke>

Skrypt sam w sobie niez?y.
Przynajmniej po kradzie?y konta z przedmiot?w nici :D

Chcia?bym zobaczy? go w "Akcji"..
Mam nadziej? ,?e nie d?ugo zostanie to wprowadzone na r??ne OTS.

Pozdrawiam,
Owca155.
 

OSKI1992

User
Joined
Jul 14, 2010
Messages
45
Reaction score
2
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

Bardzo dobry pomys?, ale jedna uwaga. Czy m?g?by? zrobi? to samo, ale do domku np nie dostaniesz si? do domku, jak nie wpiszesz KODU PIN? Ale w drzwiach, aby mo?na by?o stac, owner tylko, ale nei dostanie si? bez pinu. W drzwiach by sta? tylko wtedy, gdyby drzwi zostawi? otwarte, b?d? PIN wpisywa? tylko wtedy, gdy by zamyka? drzwi do domku.

Pozdrawiam OSKI1992^^!
 
Last edited:

yokinoo

New User
Joined
Dec 22, 2008
Messages
5
Reaction score
3
Odp: Depo na PIN? Propozycja z forum tibia.com na OTS !

ma ktos z tym otsa :D? jak tak to niech da ip ^^,
 
Status
Not open for further replies.
Top