Wysłany: 2017-07-23, 23:22
BoCzKu
Mapper & Lua
Wiek: 24 Na forum: 3465 dni Posty: 87
Nick w MP: BoKu
Piwa : 331
Witam, tak jak w temacie. Na serwerze dodaje komu? premium, po wyj?ciu z serwera w MySQL wszystko si? zapisuje, ale jak wejdzie na serwer to nie posiada owej premki.
api = "3dJ02IcwJagzYrpVuGhAeSxPo"
function getPremiumDate ( plr )
local queryA = exports [ 'sW-db' ]: dbGet ( "SELECT * FROM Ev_Konta WHERE UID=? AND premiumdate>NOW() LIMIT 1" , getElementData ( plr , "UID" ))
if ( queryA and #queryA > 0) then
return queryA [ 1 ]. premiumdate
end
return false
end
function setPremiumDay ( plr , days )
if getPremiumDate ( plr ) then
local queryA = exports [ 'sW-db' ]: dbSet ( string . format ( "UPDATE Ev_Konta SET premiumdate = DATE(premiumdate) + INTERVAL %d DAY WHERE UID=%d" , days , getElementData ( plr , "UID" )))
return end
local queryA = exports [ 'sW-db' ]: dbSet ( string . format ( "UPDATE Ev_Konta SET premiumdate = DATE(curdate()) + INTERVAL %d DAY WHERE UID=%d" , days , getElementData ( plr , "UID" )))
end
addEvent ( "premiumActive" , true )
addEventHandler ( "premiumActive" , root , function( code , amount , number )
if not code then return end
outputDebugString ( code .. ":" .. amount )
local x = exports [ 'sW-db' ]: dbGet ( "SELECT * from Premium_Kody where code=?" , code )
if x and #x > 0 then
if x [ 1 ]. active < 1 then outputChatBox ( "*B??dny Kod" , client ) return end
local xamount = tonumber ( x [ 1 ]. amount )
if xamount == tonumber ( amount ) then
exports [ 'sW-db' ]: dbSet ( "UPDATE Premium_Kody set active=0,active_date=NOW(),active_uid=? where code=?" , getElementData ( client , "UID" ), code )
if tonumber ( amount ) == 1508 then amount = 15 else amount = 30 end
setPremiumDay ( client , amount )
triggerEvent ( "save:player" , root , client )
triggerEvent ( "load:player" , root , client )
setElementData ( client , "player:premium" , true )
outputChatBox ( "Kupiono konto premium na " .. amount .. " dni! Dzi?kujemy za dotacje !" , client )
else
outputChatBox ( "B??dny ekod" , client ) return
end
return end
local query = string . format ( "http://admin.serverproject.pl/api/smsapi.php?key=" .. api .. "&amount=%s&code=%s&desc=%s" , number , code , amount )
fetchRemote ( query , result , "" , false , client , amount , number )
end )
function result ( responseData , errno , playerToReceive , amount )
if errno == 0 then
local x = split ( responseData , "," )
if not x then return end
if string . find ( x [ 1 ], "1" ) then
if tonumber ( amount ) == 1508 then amount = 15 else amount = 30 end
setPremiumDay ( playerToReceive , amount )
outputChatBox ( "Kupiono konto premium na " .. amount .. " dni! Dzi?kujemy za dotacje !" , playerToReceive )
-- setElementData ( playerToReceive , "player:premium" , true )
triggerEvent ( "save:player" , root , playerToReceive )
triggerEvent ( "load:player" , root , playerToReceive )
else
outputChatBox ( "B??dny Kod (" .. responseData .. ")" , playerToReceive )
-- outputChatBox ( "*B??dny Kod" , client )
end
end
end
addCommandHandler ( "dajvipa" ,function( plr , cmd , cel , dni )
if exports [ 'sW-Admins' ]: getAdmin ( plr , 3 ) or exports [ 'sW-Admins' ]: getAdmin ( plr , 4 ) then
if not cel then outputChatBox ( "/dajvipa [gracz] [dni]" , plr ) return end
if not dni then outputChatBox ( "/dajvipa [gracz] [dni]" , plr ) return end
if not tonumber ( dni ) then outputChatBox ( "/dajvipa [gracz] [dni]" , plr ) return end
local target = exports [ "sW-Core" ]: findPlayer ( plr , cel )
if not target then
outputChatBox ( "* Nie znaleziono podanego gracza." , plr , 255 , 0 , 0 )
return
end
setPremiumDay ( target , dni )
outputChatBox ( "Nadano konto premium na " .. dni .. " dni dla " .. getPlayerName ( target ): gsub ( "#%x%x%x%x%x%x" , "" ), plr )
outputChatBox ( "Otrzymales konto premium na " .. dni .. " dni od " .. getPlayerName ( plr ): gsub ( "#%x%x%x%x%x%x" , "" ), target )
triggerEvent ( "save:player" , root , target )
triggerEvent ( "load:player" , root , target )
setElementData ( target , "player:premium" , true )
end
end )
addCommandHandler ( "losvip" ,function( plr )
if exports [ 'sW-Admins' ]: getAdmin ( plr , 3 ) then
local los = getRandomPlayer ()
if not los then return end
setPremiumDay ( los , 15 )
outputChatBox ( "Losowanie konta premium na 15 dni..." , root )
outputChatBox ( "Losowe konto PREMIUM otrzymuje gracz o nicku " .. getPlayerName ( los ): gsub ( "#%x%x%x%x%x%x" , "" ).. " na 15 dni!" , root )
outputChatBox ( "Otrzymales konto premium na 15 dni." , los )
triggerEvent ( "save:player" , root , los )
triggerEvent ( "load:player" , root , los )
setElementData ( los , "player:premium" , true )
end
end )
addCommandHandler ( "losvip2" ,function( plr )
if exports [ 'sW-Admins' ]: getAdmin ( plr , 3 ) then
local los2 = getRandomPlayer ()
if not los2 then return end
setPremiumDay ( los2 , 30 )
outputChatBox ( "Losowanie konta premium na 30 dni..." , root )
outputChatBox ( "Losowe konto PREMIUM otrzymuje gracz o nicku " .. getPlayerName ( los2 ): gsub ( "#%x%x%x%x%x%x" , "" ).. " na 30 dni!" , root )
outputChatBox ( "Otrzymales konto premium na 30 dni." , los2 )
triggerEvent ( "save:player" , root , los2 )
triggerEvent ( "load:player" , root , los2 )
setElementData ( los2 , "player:premium" , true )
end
end )
function RGBToHex ( red , green , blue , alpha )
if ( ( red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 ) or ( alpha and ( alpha < 0 or alpha > 255 ) ) ) then
return nil
end
if ( alpha ) then
return string . format ( "#%.2X%.2X%.2X%.2X" , red , green , blue , alpha )
else
return string . format ( "#%.2X%.2X%.2X" , red , green , blue )
end
end
Prosze o pomoc. Daje Repke oraz Piwko.
Wysłany: 2017-07-24, 00:12
Szymczu
Programista bo tak
Wiek: 27 Na forum: 3434 dni Posty: 194
Nick w MP: Szymczu
Piwa : 36
Ten kod jest odpowiedzialny tylko za aktywacje premium. Musisz przy logowaniu, po sprawdzeniu czy gracz ma to premium nadawa? elementDate.
Wysłany: 2017-07-24, 11:01
Querex
Wiek: 32 Na forum: 4149 dni Posty: 79
Nick w MP: Querex
Piwa : 41
Dodaj co? na podobe tego do skryptu wczytywania danych o graczu z bazy
Kod:
local queryA=string.format("SELECT * FROM Ev_Konta WHERE UID=%d AND premiumdate>NOW() LIMIT 1", getElementData(gracz,"UID"))
local resultA=exports['sW-db']:dbGet(queryA)
if (resultA) then
setElementData(gracz,"player:premium",true)
else
setElementData(gracz,"player:premium",false)
end
Wysłany: 2017-07-30, 01:43
BoCzKu
Mapper & Lua
Wiek: 24 Na forum: 3465 dni Posty: 87
Nick w MP: BoKu
Piwa : 331
Wraa, mam taki kod
local queryA = string . format ( "SELECT * FROM Ev_Konta WHERE UID=%d AND premiumdate>NOW() LIMIT 1" , getElementData ( gracz , "UID" ))
local resultA = exports [ 'sW-db' ]: dbGet ( queryA )
if ( resultA ) then
setElementData ( gracz , "player:premium" , true )
else
setElementData ( gracz , "player:premium" , false )
end
if getElementData ( gracz , "player:premium" ) then
local queryA = string . format ( "SELECT * FROM Ev_Konta WHERE UID=%d AND premiumdate>NOW() LIMIT 1" , getElementData ( gracz , "UID" ))
outputChatBox ( "#FFFF00[#A4A4A4Premium#FFFF00]#a4a4a4 Posiadasz konto ze statusem #FFFF00PREMIUM, #a4a4a4dzi?kujemy za wsparcie!" , gracz , 255 , 255 , 255 , true )
end
Praktycznie on dzia?a, ale nie tak jak trzeba... Ka?dy kto wejdzie na serwer otrzymuje premium NIE kupuj?c jego.
Tagi: nie :: zapisuje :: premium :: wejściu :: serwer
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: