Yami
Mapper / Uczeń LUA
Wiek: 25 Na forum: 3059 dni Posty: 379
Piwa : 97
Siema, ot?? hosting serverproject oferuje system kupna premium poprzez sms
I tutaj pytanie do was czy musze co? w nim przerobi? czy s? tu ju? podane moje dane z hostingu (kod api itd) i jak wgram na serwer to bedzie dzia?a??
Kod servera:
--
-- Name : Panel zakupu us ? ugi Premium wykonany dla ServerProject . pl
-- Author : . WhiteBlue ( oszymon08 @ gmail . com ) ( www . life - center . eu )
--
-- 1. Mo ? esz ode mnie uzyska ? zakup us ? ugi dzia ? aj ? cy z gamemodem OG .
-- 1. Zapraszam na mojego emaila po wi ? cej informacji .
--
-- 2. Nie odpowiadam za z ? e skonfigurowanie skryptu przez u ? ytkownik ? w .
-- 2. Skrypt nale ? y konfigurowa ? z g ? ow ?, gdy ? nawet jedna liter ? wka w cenie mo ? e spowodowa ? problemy .
--
-- 3. Obowi ? zuje ca ? kowity zakaz usuwania informacji o autorze .
-- 3. Wi ?? e si ? to z brakiem supportu z mojej strony dotycz ? cym tego zasobu .
--
-- @ updates :
-- - Poprawiono sprawdzanie kodu , teraz powinno by ? ju ? dobrze . [ 25.12.2016 ]
--
-- Variables
local premium = {
[ 'api_key' ] = '' ,
}
-- Functions
function result ( responseData , errno , playerToReceive )
if string . find ( responseData , '"error":"bad_code"' ) then
outputChatBox ( '* Wprowadzony kod jest nieprawid?owy lub zosta? wykorzystany.' , playerToReceive )
return
end
if string . find ( responseData , '"status":"fail"' ) then
outputChatBox ( '* Wyst?pi? nieznany b??d podczas zakupu us?ugi.' , playerToReceive )
return
end
--
-- Zabezpieczenie kt ? re zabrania graczowi zakupu us ? ugi na 30 dni z otrzymanym kodem us ? ugi na 3 dni .
-- Gdy kwoty po stronie Clienta ulegn ? zmianie , nale ? y je uzupe ? ni ? tak ? e tutaj .
--
local days = nil
if string . find ( responseData , '"amount":"1"' ) then days = 3 end
if string . find ( responseData , '"amount":"2"' ) then days = 7 end
if string . find ( responseData , '"amount":"3"' ) then days = 14 end
if string . find ( responseData , '"amount":"4"' ) then days = 30 end
if not days then return end
--
-- Koniec zabezpieczenia
--
--
-- Od tego momentu mo ? na ustawi ? co ma si ? wykonywa ? po prawid ? owym wprowadzeniu kodu .
-- Je ? eli chcemy pobra ? ilo ?? dni zakupionej us ? ugi nale ? y wprowadzi ? w danym miejscu 'days' .
-- Przyk ? ad u ? ycia znajduje si ? poni ? ej .
--
outputChatBox ( '* Kod prawid?owy, zakupi?e?/a? na ' .. days .. ' dni us?ug? Premium.' , playerToReceive )
end
addEvent ( 'premium:checkCode' , true )
addEventHandler ( 'premium:checkCode' , resourceRoot , function( code , netto )
if not code then return end
local string = string . format ( 'https://admin.serverproject.eu/api/smsapi.php?key=%s&amount=%d&code=%s&desc=Premium' , premium [ 'api_key' ], netto , code )
fetchRemote ( string , result , "" , false , client )
end )
Kod clienta:
--
-- Name : Panel zakupu us ? ugi Premium wykonany dla ServerProject . pl
-- Author : . WhiteBlue ( oszymon08 @ gmail . com ) ( www . life - center . eu )
--
-- 1. Mo ? esz ode mnie uzyska ? zakup us ? ugi dzia ? aj ? cy z gamemodem OG .
-- 1. Zapraszam na mojego emaila po wi ? cej informacji .
--
-- 2. Nie odpowiadam za z ? e skonfigurowanie skryptu przez u ? ytkownik ? w .
-- 2. Skrypt nale ? y konfigurowa ? z g ? ow ?, gdy ? nawet jedna liter ? wka w cenie mo ? e spowodowa ? problemy .
--
-- 3. Obowi ? zuje ca ? kowity zakaz usuwania informacji o autorze .
-- 3. Wi ?? e si ? to z brakiem supportu z mojej strony dotycz ? cym tego zasobu .
--
-- @ updates :
-- - Poprawiono sprawdzanie kodu , teraz powinno by ? ju ? dobrze . [ 25.12.2016 ]
--
-- Variables
local options = {
{ service = 'Premium 3 dni' , content = 'AA.SP' , number = '7136' , cost = '1.23' , cost_netto = 1 , }, -- 3 dni
{ service = 'Premium 7 dni' , content = 'AA.SP' , number = '7255' , cost = '2.46' , cost_netto = 2 , }, -- 7 dni
{ service = 'Premium 14 dni' , content = 'AA.SP' , number = '7355' , cost = '3.69' , cost_netto = 3 , }, -- 14 dni
{ service = 'Premium 30 dni' , content = 'AA.SP' , number = '7455' , cost = '4.92' , cost_netto = 4 , }, -- 30 dni
}
-- Gui
local gui = {}
gui . window = guiCreateWindow ( 0.28 , 0.24 , 0.44 , 0.53 , 'Panel zakupu wirtualnej us?ugi na serwerze' , true )
guiWindowSetSizable ( gui . window , false )
guiSetVisible ( gui . window , false )
gui . radio = guiCreateRadioButton ( 0.05 , 0.10 , 0.02 , 0.03 , '' , true , gui . window )
guiRadioButtonSetSelected ( gui . radio , false )
gui . label_rules = guiCreateLabel ( 0.13 , 0.10 , 0.81 , 0.04 , 'O?wiadczam i? zapozna?em/am si? z regulaminem us?ugi Premium dost?pnym na forum.' , true , gui . window )
gui . label_service = guiCreateLabel ( 0.05 , 0.18 , 0.14 , 0.04 , 'Wybierz us?ug?:' , true , gui . window )
gui . gridlist = guiCreateGridList ( 0.05 , 0.23 , 0.88 , 0.25 , true , gui . window )
guiGridListAddColumn ( gui . gridlist , 'Us?uga' , 0.30 )
guiGridListAddColumn ( gui . gridlist , 'Numer' , 0.20 )
guiGridListAddColumn ( gui . gridlist , 'Tre??' , 0.20 )
guiGridListAddColumn ( gui . gridlist , 'Koszt' , 0.30 )
gui . label_code = guiCreateLabel ( 0.05 , 0.52 , 0.23 , 0.04 , 'Wprowad? otrzymany kod:' , true , gui . window )
gui . edit = guiCreateEdit ( 0.05 , 0.57 , 0.35 , 0.07 , '' , true , gui . window )
-- gui . banner = guiCreateStaticImage ( 0.05 , 0.85 , 0.88 , 0.08 , 'i/banner.png' , true , gui . window )
gui . button_buy = guiCreateButton ( 0.05 , 0.69 , 0.35 , 0.10 , 'Zakup us?ug?' , true , gui . window )
gui . button_cancel = guiCreateButton ( 0.59 , 0.69 , 0.35 , 0.10 , 'Anuluj' , true , gui . window )
-- Functions
addEventHandler ( 'onClientGUIClick' , resourceRoot , function( button )
if not guiGetVisible ( gui . window ) or button ~= 'left' then return end
if source == gui . button_buy then
local selectedRow = guiGridListGetSelectedItem ( gui . gridlist )
if selectedRow < 0 then return end
local service = guiGridListGetItemText ( gui . gridlist , selectedRow , 1 )
local number = guiGridListGetItemText ( gui . gridlist , selectedRow , 2 )
local content = guiGridListGetItemText ( gui . gridlist , selectedRow , 3 )
local cost = guiGridListGetItemData ( gui . gridlist , selectedRow , 4 )
if service and number and content and cost then
local radio = guiRadioButtonGetSelected ( gui . radio )
if not radio then
outputChatBox ( '* Nie zaakceptowa?e?/a? regulamin us?ugi.' )
return
end
local code = guiGetText ( gui . edit )
if not code or string . len ( code ) ~= 6 then
outputChatBox ( '* Tw?j kod musi zawiera? 6 znak?w.' )
return
end
triggerServerEvent ( 'premium:checkCode' , resourceRoot , code , cost )
end
end
if source == gui . button_cancel then
showCursor ( false )
guiSetVisible ( gui . window , false )
end
end )
bindKey ( 'F9' , 'down' , function()
if not guiGetVisible ( gui . window ) then
showCursor ( true )
guiSetVisible ( gui . window , true )
guiGridListClear ( gui . gridlist )
for k , v in pairs ( options ) do
local row = guiGridListAddRow ( gui . gridlist )
guiGridListSetItemText ( gui . gridlist , row , 1 , v [ 'service' ], false , false )
guiGridListSetItemText ( gui . gridlist , row , 2 , v [ 'number' ], false , false )
guiGridListSetItemText ( gui . gridlist , row , 3 , v [ 'content' ], false , false )
guiGridListSetItemText ( gui . gridlist , row , 4 , v [ 'cost' ] .. ' PLN' , false , false )
guiGridListSetItemData ( gui . gridlist , row , 4 , v [ 'cost_netto' ])
end
end
end )
fileDelete ( 'premium_c.lua' )