Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-07-23, 23:22


BoCzKu

Mapper & Lua






Wiek: 24
Na forum: 3465 dni
Posty: 87
Nick w MP: BoKu

Piwa: 331

Respekt: 135
Respekt: 135

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(plrthen
    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 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(amountthen
        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)
    fetchRemotequeryresult,"",falseclient,amount,number)
end)

function result(responseDataerrnoplayerToReceive,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,4then
    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(dnithen outputChatBox("/dajvipa [gracz] [dni]",plr) return end
        local target=exports["sW-Core"]:findPlayer(plr,cel)
        if not target then
            outputChatBox("* Nie znaleziono podanego gracza."plr25500)
            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,3then
    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,3then
    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(redgreenbluealpha)
    if ( (red or red 255 or green or green 255 or blue or blue 255) or (alpha and (alpha 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.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 120
Respekt: 120

Ten kod jest odpowiedzialny tylko za aktywacje premium. Musisz przy logowaniu, po sprawdzeniu czy gracz ma to premium nadawa? elementDate.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-24, 11:01


Querex







Wiek: 32
Na forum: 4149 dni
Posty: 79
Nick w MP: Querex

Piwa: 41

Respekt: 50

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


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-30, 01:43


BoCzKu

Mapper & Lua






Wiek: 24
Na forum: 3465 dni
Posty: 87
Nick w MP: BoKu

Piwa: 331

Respekt: 135
Respekt: 135

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 (resultAthen 
setElementData(gracz,"player:premium",true) 
else 
setElementData(gracz,"player:premium",falseend 
    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!"gracz255255255,true)
    end


Praktycznie on dzia?a, ale nie tak jak trzeba... Ka?dy kto wejdzie na serwer otrzymuje premium NIE kupuj?c jego.

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: nie :: zapisuje :: premium :: wejściu :: serwer
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku