Wysłany: 2014-11-16, 23:42
wwa22442
Wiek: 38 Na forum: 4706 dni Posty: 127
Piwa : 82
Witam.
Mam system bank?w, lecz chcia?bym aby guzik F2 lub komenda /bank dzia?a?a tylko w tej pozycji :
Kod:
A oto kod skryptu:
------------------------------
key = 'F2'
cmd = 'bank'
------------------------------
g_Me = localPlayer
function centerWindow ( center_window )
local screenW , screenH = guiGetScreenSize ( );
local windowW , windowH = guiGetSize ( center_window , false );
local x , y = ( screenW - windowW ) / 2 , ( screenH - windowH ) / 2
guiSetPosition ( center_window , x , y , false );
end
function updateMoney ( Function, player , label )
local theUpdateIsCorrect = setTimer ( function ( )
guiSetText ( label , 'Your Money : \n\n $ ' ..Function ( player ) );
end , 1000 , 0 );
if theUpdateIsCorrect then
return true
else
return false
end
end
BS = {
button = {},
window = {},
label = {},
edit = {},
checkbox = {}
}
addEventHandler ( 'onClientResourceStart' , resourceRoot ,
function ( )
BS . window [ 1 ] = guiCreateWindow ( 277 , 229 , 501 , 228 , 'Bank System | Register' , false );
guiWindowSetSizable ( BS . window [ 1 ], false );
guiSetAlpha ( BS . window [ 1 ], 1 );
guiSetVisible ( BS . window [ 1 ], false );
BS . window [ 2 ] = guiCreateWindow ( 300 , 193 , 469 , 306 , '.:[ The Bank System | v 1.5 ]:.' , false );
guiWindowSetSizable ( BS . window [ 2 ], false );
guiSetAlpha ( BS . window [ 2 ], 1 );
guiSetVisible ( BS . window [ 2 ], false );
BS . window [ 3 ] = guiCreateWindow ( 344 , 207 , 337 , 293 , '.:[ The Bank System | Control Panel ]:.' , false );
guiWindowSetSizable ( BS . window [ 3 ], false );
guiSetAlpha ( BS . window [ 3 ], 1 );
guiSetVisible ( BS . window [ 3 ], false );
---
for _ , w in next , getElementsByType ( 'gui-window' , guiRoot ) do
centerWindow ( w );
end
---
BS . button [ 1 ] = guiCreateButton ( 379 , 164 , 112 , 27 , 'Cancel' , false , BS . window [ 1 ] );
BS . button [ 2 ] = guiCreateButton ( 254 , 164 , 112 , 27 , 'Done' , false , BS . window [ 1 ] );
BS . button [ 3 ] = guiCreateButton ( 397 , 27 , 58 , 22 , 'Exit' , false , BS . window [ 2 ] );
BS . button [ 4 ] = guiCreateButton ( 326 , 191 , 119 , 29 , 'Login' , false , BS . window [ 2 ] );
BS . button [ 5 ] = guiCreateButton ( 154 , 139 , 119 , 28 , 'Exit' , false , BS . window [ 3 ] );
BS . button [ 6 ] = guiCreateButton ( 154 , 182 , 119 , 28 , 'Execute' , false , BS . window [ 3 ] );
---
BS . checkbox [ 1 ] = guiCreateCheckBox ( 19 , 171 , 117 , 29 , ' Withdraw' , false , false , BS . window [ 3 ] );
BS . checkbox [ 2 ] = guiCreateCheckBox ( 19 , 132 , 117 , 29 , ' Deposit' , false , false , BS . window [ 3 ] );
---
BS . edit [ 1 ] = guiCreateEdit ( 21 , 76 , 223 , 36 , '' , false , BS . window [ 1 ] );
guiEditSetMaxLength ( BS . edit [ 1 ], 20 );
BS . edit [ 2 ] = guiCreateEdit ( 21 , 160 , 223 , 36 , '' , false , BS . window [ 1 ] );
guiEditSetMasked ( BS . edit [ 2 ], true );
guiEditSetMaxLength ( BS . edit [ 2 ] , 20 );
BS . edit [ 3 ] = guiCreateEdit ( 16 , 149 , 300 , 32 , '' , false , BS . window [ 2 ] );
guiEditSetMaxLength ( BS . edit [ 3 ] , 20 );
BS . edit [ 4 ] = guiCreateEdit ( 16 , 222 , 300 , 32 , '' , false , BS . window [ 2 ] );
guiEditSetMasked ( BS . edit [ 4 ], true );
guiEditSetMaxLength ( BS . edit [ 4 ] , 20 );
BS . edit [ 5 ] = guiCreateEdit ( 59 , 238 , 239 , 34 , '' , false , BS . window [ 3 ] );
guiEditSetMaxLength ( BS . edit [ 5 ] , 7 );
---
BS . label [ 1 ] = guiCreateLabel ( 22 , 127 , 222 , 23 , 'Password :' , false , BS . window [ 1 ] );
BS . label [ 2 ] = guiCreateLabel ( 260 , 64 , 231 , 63 , 'Welcome To The Bank System ,,#\n\nPlease chose a username and a password\nto register to the bank system .' , false , BS . window [ 1 ] );
BS . label [ 3 ] = guiCreateLabel ( 21 , 43 , 136 , 23 , 'Username :' , false , BS . window [ 1 ] );
BS . label [ 4 ] = guiCreateLabel ( 30 , 112 , 158 , 20 , 'Username :' , false , BS . window [ 2 ] );
BS . label [ 5 ] = guiCreateLabel ( 30 , 192 , 158 , 20 , 'Password :' , false , BS . window [ 2 ] );
BS . label [ 6 ] = guiCreateLabel ( 20 , 31 , 238 , 64 , 'Welcome To The Bank System ,,#\n\n\nLogin so you can access your balance .' , false , BS . window [ 2 ] );
BS . label [ 7 ] = guiCreateLabel ( 19 , 213 , 68 , 20 , 'Amount :' , false , BS . window [ 3 ] );
BS . label [ 8 ] = guiCreateLabel ( 12 , 27 , 261 , 47 , 'Your Money : \n\n $ ' .. getPlayerMoney ( g_Me ), false , BS . window [ 3 ] );
updateMoney ( getPlayerMoney , g_Me , BS . label [ 8 ] );
BS . label [ 9 ] = guiCreateLabel ( 12 , 80 , 261 , 47 , 'Your Balance : \n\n $ 0' , false , BS . window [ 3 ] );
BS . label [ 10 ] = guiCreateLabel ( 29 , 248 , 15 , 14 , '$' , false , BS . window [ 3 ] );
end
);
addCommandHandler ( cmd , function ( )
if getElementData ( g_Me , 'HaveAccount' ) then
if getElementData ( g_Me , 'Loggedin' ) then
guiSetVisible ( BS . window [ 3 ], not guiGetVisible ( BS . window [ 3 ] ) );
showCursor ( guiGetVisible ( BS . window [ 3 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 3 ] ) );
else
guiSetVisible ( BS . window [ 2 ], not guiGetVisible ( BS . window [ 2 ] ) );
showCursor ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 2 ] ) );
end
else
guiSetVisible ( BS . window [ 1 ], not guiGetVisible ( BS . window [ 1 ] ) );
showCursor ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 1 ] ) );
end
end );
bindKey ( key , 'down' , cmd );
addEventHandler ( 'onClientGUIClick' , root ,
function ( )
if source == BS . button [ 1 ] then
guiSetVisible ( BS . window [ 1 ], false );
showCursor ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetText ( BS . edit [ 1 ], '' );
guiSetText ( BS . edit [ 2 ], '' );
elseif source == BS . button [ 2 ] then
local user = guiGetText ( BS . edit [ 1 ] );
local pass = guiGetText ( BS . edit [ 2 ] );
if user ~= '' and pass ~= '' then
if #user > 5 and #user <20 and #pass > 5 and #pass <20 then
triggerServerEvent ( 'onAccountRegister' , g_Me , user , pass );
guiSetVisible ( BS . window [ 1 ], false );
showCursor ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 1 ] ) );
else
outputChatBox ( '#FF0000* #FFFFFFTo short username and \ or password .' , 0 , 0 , 0 , true );
end
else
outputChatBox ( '#FF0000* #FFFFFFYou\' re #FF0000missing #FFFFFFthe username and \ or the password .', 0, 0, 0, true );
end
elseif source == BS . button [ 3 ] then
guiSetVisible ( BS . window [ 2 ], false );
showCursor ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetText ( BS . edit [ 3 ], '' );
guiSetText ( BS . edit [ 4 ], '' );
elseif source == BS . button [ 4 ] then
local user = guiGetText ( BS . edit [ 3 ] );
local pass = guiGetText ( BS . edit [ 4 ] );
if user ~= '' and pass ~= '' then
if #user > 5 and #user <20 and #pass > 5 and #pass <20 then
local userCheck = getElementData ( g_Me , 'User' )
local passCheck = getElementData ( g_Me , 'Pass' )
if userCheck == user and passCheck == pass then
guiSetVisible ( BS . window [ 2 ], false );
showCursor ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 2 ] ) );
setElementData ( g_Me , 'Loggedin' , true );
outputChatBox ( '#FF0000* #FFFFFFYou\' ve logged in #00FF00successfuly #FFFFFF.', 0, 0, 0, true );
else
outputChatBox ( '#FF0000* Wrong #FFFFFF username and \ or password .' , 0 , 0 , 0 , true );
end
else
outputChatBox ( '#FF0000* #FFFFFFTo short username and \ or password .' , 0 , 0 , 0 , true );
end
else
outputChatBox ( '#FF0000* #FFFFFFYou\' re #FF0000missing #FFFFFFthe username and \ or the password .', 0, 0, 0, true );
end
elseif source == BS . button [ 5 ] then
guiSetVisible ( BS . window [ 3 ], false );
showCursor ( guiGetVisible ( BS . window [ 3 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 3 ] ) );
elseif source == BS . button [ 6 ] then
if guiCheckBoxGetSelected ( BS . checkbox [ 1 ] ) then
local money = getElementData ( g_Me , 'Balance' );
local amount = guiGetText ( BS . edit [ 5 ] );
if amount == '' then
outputChatBox ( '#FF0000* #FFFFFFYou didn\' t right the #00FF00amount #FFFFFF.', 0, 0, 0, true );
return
end
if tonumber ( amount ) > money then
outputChatBox ( '#FF0000* #FFFFFFYou don\' t have enough balance . ', 0, 0, 0, true );
return
end
triggerServerEvent ( ' onBalanceWithdraw ', g_Me, tonumber( amount ) );
outputChatBox ( ' #FF0000* #FFFFFFYou\'ve successfuly drawed $ #00FF00'..amount..' #FFFFFFfrom your balance .', 0, 0, 0, true );
guiSetText ( BS . edit [ 5 ], '' );
guiCheckBoxSetSelected ( BS . checkbox [ 1 ], false );
elseif guiCheckBoxGetSelected ( BS . checkbox [ 2 ] ) then
local money = getPlayerMoney ( g_Me );
local amount = guiGetText ( BS . edit [ 5 ] );
if amount == '' then
outputChatBox ( '#FF0000* #FFFFFFYou didn\' t right the #00FF00amount #FFFFFF.', 0, 0, 0, true );
return
end
if tonumber ( amount ) > money then
outputChatBox ( '#FF0000* #FFFFFFYou don\' t have enough money . ', 0, 0, 0, true );
return
end
triggerServerEvent ( ' onBalanceDeposit ', g_Me, tonumber( amount ) );
outputChatBox ( ' #FF0000* #FFFFFFYou\'ve successfuly deposit $ #00FF00'..amount..' #FFFFFFto your balance .', 0, 0, 0, true );
guiSetText ( BS . edit [ 5 ], '' );
guiCheckBoxSetSelected ( BS . checkbox [ 2 ], false );
else
outputChatBox ( '#FF0000* #FFFFFFYou must chose an option to execute ( #00FF00withdraw #FFFFFFor #00FF00Deposit #FFFFFF) .' , 0 , 0 , 0 , true );
end
elseif source == BS . checkbox [ 1 ] then
guiCheckBoxSetSelected ( BS . checkbox [ 2 ], false );
elseif source == BS . checkbox [ 2 ] then
guiCheckBoxSetSelected ( BS . checkbox [ 1 ], false );
end
end
);
addEventHandler ( 'onClientElementDataChange' , root , function ( theData )
if theData == 'Balance' then
guiSetText ( BS . label [ 9 ], 'Your Balance : \n\n $ ' .. getElementData ( g_Me , 'Balance' ) );
end
end );
addEventHandler ( 'onClientGUIAccepted' , root , function ( )
if source == BS . edit [ 1 ] or source == BS . edit [ 2 ] then
local user = guiGetText ( BS . edit [ 1 ] );
local pass = guiGetText ( BS . edit [ 2 ] );
if user ~= '' and pass ~= '' then
triggerServerEvent ( 'onAccountRegister' , g_Me , user , pass );
guiSetVisible ( BS . window [ 1 ], false );
showCursor ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 1 ] ) );
else
outputChatBox ( '#FF0000* #FFFFFFYou\' re #FF0000missing #FFFFFFthe username and \ or the password .', 0, 0, 0, true );
end
elseif source == BS . edit [ 3 ] or source == BS . edit [ 4 ] then
local user = guiGetText ( BS . edit [ 3 ] );
local pass = guiGetText ( BS . edit [ 4 ] );
if user ~= '' and pass ~= '' then
local userCheck = getElementData ( g_Me , 'User' )
local passCheck = getElementData ( g_Me , 'Pass' )
if userCheck == user and passCheck == pass then
guiSetVisible ( BS . window [ 2 ], false );
showCursor ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 2 ] ) );
setElementData ( g_Me , 'Loggedin' , true );
outputChatBox ( '#FF0000* #FFFFFFYou\' ve logged in #00FF00successfuly #FFFFFF.', 0, 0, 0, true );
else
outputChatBox ( '#FF0000* Wrong #FFFFFF username and \ or password .' , 0 , 0 , 0 , true );
end
else
outputChatBox ( '#FF0000* #FFFFFFYou\' re #FF0000missing #FFFFFFthe username and \ or the password .', 0, 0, 0, true );
end
elseif source == BS . edit [ 5 ] then
if guiCheckBoxGetSelected ( BS . checkbox [ 1 ] ) then
local money = getElementData ( g_Me , 'Balance' );
local amount = guiGetText ( BS . edit [ 5 ] );
if amount == '' then
outputChatBox ( '#FF0000* #FFFFFFYou didn\' t right the #00FF00amount #FFFFFF.', 0, 0, 0, true );
return
end
if tonumber ( amount ) > money then
outputChatBox ( '#FF0000* #FFFFFFYou don\' t have enough balance . ', 0, 0, 0, true );
return
end
triggerServerEvent ( ' onBalanceWithdraw ', g_Me, tonumber( amount ) );
outputChatBox ( ' #FF0000* #FFFFFFYou\'ve successfuly drawed $ #00FF00'..amount..' #FFFFFFfrom your balance .', 0, 0, 0, true );
guiSetText ( BS . edit [ 5 ], '' );
guiCheckBoxSetSelected ( BS . checkbox [ 1 ], false );
elseif guiCheckBoxGetSelected ( BS . checkbox [ 2 ] ) then
local money = getPlayerMoney ( g_Me );
local amount = guiGetText ( BS . edit [ 5 ] );
if amount == '' then
outputChatBox ( '#FF0000* #FFFFFFYou didn\' t right the #00FF00amount #FFFFFF.', 0, 0, 0, true );
return
end
if tonumber ( amount ) > money then
outputChatBox ( '#FF0000* #FFFFFFYou don\' t have enough money . ', 0, 0, 0, true );
return
end
triggerServerEvent ( ' onBalanceDeposit ', g_Me, tonumber( amount ) );
outputChatBox ( ' #FF0000* #FFFFFFYou\'ve successfuly deposit $ #00FF00'..amount..' #FFFFFFto your balance .', 0, 0, 0, true );
guiSetText ( BS . edit [ 5 ], '' );
guiCheckBoxSetSelected ( BS . checkbox [ 2 ], false );
else
outputChatBox ( '#FF0000* #FFFFFFYou must chose an option to execute ( #00FF00withdraw #FFFFFFor #00FF00Deposit #FFFFFF) .' , 0 , 0 , 0 , true );
end
end
end );
addEventHandler ( 'onClientGUIChanged' , root ,
function ( element )
if ( element == BS . edit [ 5 ] ) then
local ID = guiGetText ( BS . edit [ 5 ] );
if not tonumber ( ID ) then
return guiSetText ( BS . edit [ 5 ], '' );
end
end
end
);
moglbym prosic o zrobienie rowniez na tej pozycji tzw. checkpointa [k??eczka] w do kt?rego jak si? wjedzie bedzie mozna uzyc tego guzika albo komendy, oraz po wejsciu w niego aby wyswietlal tekst : "witaj w banku. aby skorzystac z bankomatu wpisz /bank".
Pozdrawiam. Za pomoc daje zimne piwka
Wysłany: 2014-11-17, 14:28
Vini
Piszący...
Wiek: 27 Na forum: 4556 dni Posty: 23
Nick w MP: Vini
Piwa : 2
Dodaj sobie w kodzie
local x,y,z = getElementPosition(source)
if (x == 2309) and (y==-13) and (y==27) then
--Kod
end
Powinno zadzia?a?
Wysłany: 2014-11-18, 10:48
Blur
Wiek: 28 Na forum: 4298 dni Posty: 47
Nick w MP: Blu
Piwa : 2
Vini , przyjacielu, to strona clienta, nie servera.
local x , y , z = getElementPosition ()
if x == 2309 and y == - 13 and y == 27 then
Wysłany: 2014-11-18, 22:40
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Blur , duchowi pobierasz te x,y,z?
Wysłany: 2014-11-19, 00:25
Wielebny
Wiek: 41 Na forum: 5498 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
"Vini" napisał/a :local x,y,z = getElementPosition(source)
if (x == 2309) and (y==-13) and (y==27) then
Powinno zadzia?a?
Bardzo precyzyjnie mu odpowiedzia?e?, gorzej, ?e gracz nigdy nie stanie w dok?adnie tej pozycji. Zamiast tego proponuj? wyliczy? odleg?o???od podanego punktu:
local x , y , z = getElementPosition ( gracz )
if getDistanceBetweenPoints3D ( x , y , z , 2309 ,- 13 , 27 )< 5 then
-- gracz jest w zasiegu
end
Opr?cz tego warto te? sprawdzi? interior i dimension.
Cytat:
Vini, przyjacielu, to strona clienta, nie servera.
Funkcja getElementPosition dzia?a tak samo[1] po obu stronach i w obu przypadkach wymaga podania argumentu.
[1] prawie tak samo - po stronie klienta zwraca mniej dok?adne warto?ci dla element?w bed?cych w ruchu i poza zasi?giem strumieniowania, np. dla graczy na drugim ko?cu mapy.
Wysłany: 2014-11-19, 00:53
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Wielebny , nie lepiej b?dzie jakiego? colshape'a wsadzi? w danym miejscu, a potem odpowiedni? funkcj? sprawdzi? czy gracz jest w ?rodku :E ?
Mniej liczenia, mniej problem?w .
Wysłany: 2014-11-19, 07:40
Wielebny
Wiek: 41 Na forum: 5498 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Colshape to inna metoda na zrobienie tego, ta operacje jest na tyle banalna, ?e zaryzykuj? stwierdzenie, ?e to zupe?nie bez r??nicy.
edit: w sumie rozwa?amy tu tylko teoretycznie, bo najlepszym rozwi?zaniem by?oby co?, co zobaczy gracz - np. marker.
Wysłany: 2014-11-19, 20:19
piotr172
Wiek: 26 Na forum: 4417 dni Posty: 130
Piwa : 2329
"Wielebny" napisał/a :
edit: w sumie rozwa?amy tu tylko teoretycznie, bo najlepszym rozwi?zaniem by?oby co?, co zobaczy gracz - np. marker.
Wielebny mo?na to zrobi? tak: Wstawi? tam Colshape odpowiedzialny za te funkcje itp i doda? marker w tym miejscu kt?ry nic nie robi, nie odpowiada ?adnej funkcji.
Wysłany: 2014-11-19, 23:24
Wielebny
Wiek: 41 Na forum: 5498 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
"piotr172" napisał/a :
Wielebny mo?na to zrobi? tak: Wstawi? tam Colshape odpowiedzialny za te funkcje itp i doda? marker w tym miejscu kt?ry nic nie robi, nie odpowiada ?adnej funkcji.
Nie trzeba stawia? dodatkowego colshape, ka?dy marker jeden ma wbudowany - mo?esz go nawet pobra? funkcj? getElementColShape.
Wysłany: 2014-11-20, 11:07
wwa22442
Wiek: 38 Na forum: 4706 dni Posty: 127
Piwa : 82
A w kt?rym miejscu to wklei? ? Oboj?tnie gdzie w kodzie ?
Wysłany: 2014-11-20, 11:43
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Wysłany: 2014-11-20, 16:10
Wielebny
Wiek: 41 Na forum: 5498 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
"wwa22442" napisał/a :A w kt?rym miejscu to wklei? ? Oboj?tnie gdzie w kodzie ?
Zaraz po:
addCommandHandler ( cmd , function ( )
wstaw:
local x , y , z = getElementPosition ( localPlayer )
if not getDistanceBetweenPoints3D ( x , y , z , 2309 ,- 13 , 27 )< 15 then
outputChatBox ( "Musisz by? wewn?trz banku" )
return
end
Zasi?g (15) wyreguluj w zale?no?ci od rozmiaru budynku.
Wysłany: 2014-11-24, 15:51
wwa22442
Wiek: 38 Na forum: 4706 dni Posty: 127
Piwa : 82
addCommandHandler ( cmd , function ( )
local x , y , z = getElementPosition ( localPlayer )
if not getDistanceBetweenPoints3D ( x , y , z , 2309 ,- 13 , 27 )< 15 then
outputChatBox ( "Musisz by? wewn?trz banku" )
return
end
if getElementData ( g_Me , 'HaveAccount' ) then
if getElementData ( g_Me , 'Loggedin' ) then
guiSetVisible ( BS . window [ 3 ], not guiGetVisible ( BS . window [ 3 ] ) );
showCursor ( guiGetVisible ( BS . window [ 3 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 3 ] ) );
else
guiSetVisible ( BS . window [ 2 ], not guiGetVisible ( BS . window [ 2 ] ) );
showCursor ( guiGetVisible ( BS . window [ 2 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 2 ] ) );
end
else
guiSetVisible ( BS . window [ 1 ], not guiGetVisible ( BS . window [ 1 ] ) );
showCursor ( guiGetVisible ( BS . window [ 1 ] ) );
guiSetInputEnabled ( guiGetVisible ( BS . window [ 1 ] ) );
end
end
);
Tak ?
Tagi: komenda :: lub :: guzik :: danej :: pozycji
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: