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

Wysłany: 2019-02-10, 15:06


killercycDDS

Migacz






Wiek: 25
Na forum: 4512 dni
Posty: 629
Nick w MP: killer_cyc[DDS]

Piwa: 1659

Respekt: 22

Witam bawi? si? w robienie panelu premium i mam pewien problem a mianowicie nie nadaje pieni?dzy i setimer nie dzia?a. Kod jest po stronie serwera

function loshajs()
    local money math.random(15,50)
    outputChatBox("Wylosowa?e? " ..money.. "$.")
    if getElementData(source"losuj:hajs") == 2 then return end
    setElementData(source"losuj:hajs"2)
    setTimer(function()
    outputChatBox ("Losowa?e? ju? dzisiaj")
   setElementData(source"losuj:hajs"false)
   givePlayerMoney(money)
    end5000001)
end
addEvent("loshajs"true)
addEventHandler("loshajs"resourceRootloshajs)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 15:55


Mikołajj







Wiek: 22
Na forum: 2885 dni
Posty: 303
Nick w MP: Mikołaj

Piwa: 132

Respekt: 91

Spr?buj tak:

addEvent("loshajs"true)
addEventHandler("loshajs"root, function()
    local money math.random(15,50)
    outputChatBox("Wylosowa?e? " ..money.. "$."source)
    if getElementData(source"losuj:hajs") == 2 then return end
    setElementData(source"losuj:hajs"2)
    setTimer(function()
        outputChatBox ("Losowa?e? ju? dzisiaj"source)
        setElementData(source"losuj:hajs"false)
        givePlayerMoney(sourcemoney)
    end5000000)
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 16:24


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Funkcja w setTimerze musi zawiera? argumenty, kt?rych chcesz u?y? a w samym setTimerze w argumencie 4 i 5 wstawiasz swoje dane (kasa i client).

function loshajs()
    local money math.random(15,50)
    outputChatBox("Wylosowa?e? " ..money.. "$."client)
    if getElementData(client"losuj:hajs") == 2 then return end
    setElementData(client"losuj:hajs"2)
    setTimer(function(kasagracz)
    outputChatBox("Losowa?e? ju? dzisiaj"gracz)
    setElementData(gracz"losuj:hajs"false)
    givePlayerMoney(graczkasa)
    end5000001moneyclient)
end
addEvent("loshajs"true)
addEventHandler("loshajs"getRootElement(), loshajs)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 16:52


BlueCry

ŚĆRIPTER LUJA






Wiek: 25
Na forum: 4006 dni
Posty: 78
Nick w MP: BlueCry

Piwa: 2176

Respekt: 110
Respekt: 110

Poprawi?em tw?j kod troch?, jest bardziej przejrzysty:
    function loshajs(source)
        outputChatBox ("Trwa losowanie..."source)
        if getElementData(source"losuj:hajs") == 2 then
        setTimer(function()
        outputChatBox ("Losowa?e? ju? dzisiaj"source)
       setElementData(source"losuj:hajs"false)
    end50001)
else
    local money math.random(15,50)
    setTimer(function()
        outputChatBox("Wylosowa?e? " ..money.. "$."source)
        givePlayerMoney(sourcemoney)
        setElementData(source"losuj:hajs"2)
        setElementData(source"losuj:hajs"false)
    end50001)
end
end
addEvent("loshajs"true)
addEventHandler("loshajs"resourceRootloshajs)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 17:05


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

"muciu2404" napisał/a:

Poprawi?em tw?j kod troch?, jest bardziej przejrzysty:
    function loshajs(source)
        outputChatBox ("Trwa losowanie..."source)
        if getElementData(source"losuj:hajs") == 2 then
        setTimer(function()
        outputChatBox ("Losowa?e? ju? dzisiaj"source)
       setElementData(source"losuj:hajs"false)
    end50001)
else
    local money math.random(15,50)
    setTimer(function()
        outputChatBox("Wylosowa?e? " ..money.. "$."source)
        givePlayerMoney(sourcemoney)
        setElementData(source"losuj:hajs"2)
        setElementData(source"losuj:hajs"false)
    end50001)
end
end
addEvent("loshajs"true)
addEventHandler("loshajs"resourceRootloshajs)


Po co dodatkowy argument w funkcji, je?li z klienta nie prze?lemy innego gracza ni? client (nie wliczam w to przesy?ania server -> client -> server).
Faktycznie, estetyczniejsze - doda?e? warunek sprawdzaj?cy, kt?ryego killercycDDS nie mia? w kodzie -- sk?d wiesz, ?e autor postu uwzgl?dnia go w triggerClientEvent, po stronie klienta, w 3/4 argumencie?
Tabulatory krzywo dodane, zero estetyki.
Je?li masz zamiar edytowa? kod na szybko bazuj?c na mojej odpowiedzi to si??u?miej?.

Timer dalej nie b?dzie dzia?a? bo nic w nim nie zmieni?e? - tylko doda?e? zb?dny kod i tyle. Je?li ju? chcesz pomaga? i nabija? sobie posty to przeanalizuj kod wcze?niej.
Nie chc? kogo? urazi?, ale dobry przyk?ad Support-Teamu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 20:31


killercycDDS

Migacz






Wiek: 25
Na forum: 4512 dni
Posty: 629
Nick w MP: killer_cyc[DDS]

Piwa: 1659

Respekt: 22

"Wilq" napisał/a:

Funkcja w setTimerze musi zawiera? argumenty, kt?rych chcesz u?y? a w samym setTimerze w argumencie 4 i 5 wstawiasz swoje dane (kasa i client).

function loshajs()
    local money math.random(15,50)
    outputChatBox("Wylosowa?e? " ..money.. "$."client)
    if getElementData(client"losuj:hajs") == 2 then return end
    setElementData(client"losuj:hajs"2)
    setTimer(function(kasagracz)
    outputChatBox("Losowa?e? ju? dzisiaj"gracz)
    setElementData(gracz"losuj:hajs"false)
    givePlayerMoney(graczkasa)
    end5000001moneyclient)
end
addEvent("loshajs"true)
addEventHandler("loshajs"getRootElement(), loshajs)


Niestety nie dzia?a hajsu dalej nie dodaje i timer te? nie dzia?a. I tak mam triggera po stronie clienta

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-10, 21:04


BlueCry

ŚĆRIPTER LUJA






Wiek: 25
Na forum: 4006 dni
Posty: 78
Nick w MP: BlueCry

Piwa: 2176

Respekt: 110
Respekt: 110

"Wilq" napisał/a:

"muciu2404" napisał/a:

Poprawi?em tw?j kod troch?, jest bardziej przejrzysty:
    function loshajs(source)
        outputChatBox ("Trwa losowanie..."source)
        if getElementData(source"losuj:hajs") == 2 then
        setTimer(function()
        outputChatBox ("Losowa?e? ju? dzisiaj"source)
       setElementData(source"losuj:hajs"false)
    end50001)
else
    local money math.random(15,50)
    setTimer(function()
        outputChatBox("Wylosowa?e? " ..money.. "$."source)
        givePlayerMoney(sourcemoney)
        setElementData(source"losuj:hajs"2)
        setElementData(source"losuj:hajs"false)
    end50001)
end
end
addEvent("loshajs"true)
addEventHandler("loshajs"resourceRootloshajs)


Po co dodatkowy argument w funkcji, je?li z klienta nie prze?lemy innego gracza ni? client (nie wliczam w to przesy?ania server -> client -> server).
Faktycznie, estetyczniejsze - doda?e? warunek sprawdzaj?cy, kt?ryego killercycDDS nie mia? w kodzie -- sk?d wiesz, ?e autor postu uwzgl?dnia go w triggerClientEvent, po stronie klienta, w 3/4 argumencie?
Tabulatory krzywo dodane, zero estetyki.
Je?li masz zamiar edytowa? kod na szybko bazuj?c na mojej odpowiedzi to si??u?miej?.

Timer dalej nie b?dzie dzia?a? bo nic w nim nie zmieni?e? - tylko doda?e? zb?dny kod i tyle. Je?li ju? chcesz pomaga? i nabija? sobie posty to przeanalizuj kod wcze?niej.
Nie chc? kogo? urazi?, ale dobry przyk?ad Support-Teamu.

Po 1 dla mnie kod kt?ry wys?a?em wygl?da estetyczniej i jest bardziej czytelny.
Po 2 nie bazowa?em na twoim kodzie, przerobi?em pierwotny kod.
Po 3 nie wiem jak ty ale ja zawsze sprawdzam to co wysy?am i kod kt?ry poda?em dzia?a w por?wnaniu do twojego.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-11, 10:06


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Nie wiem czy wiesz, ale timer na dawanie kasy ustawi?e? na 500 sekund (~8,5minut).
Czyli: po wykonaniu triggerClientEvent, za 8 minut otrzymasz kas?.

Musisz si? upewni?, ?e Twoja elementData "losuj:hajs" jest ustawiona na false.
Je?li timer ustawi si? raz wraz z elementDat?, musisz wykona? reconnect albo ustawi? sobie r?cznie elementDat? na false.

Kod, kt?ry dzia?a i sprawdzi?em (zmie? sobie czas timera je?li chcesz otrzyma? kas? natychmiast):
function loshajs()
    local money math.random(15,50)
    outputChatBox("Wylosowa?e? " .. money .. "$."client)
    if getElementData(client"losuj:hajs"then return end
    setElementData(client"losuj:hajs"true)
    setTimer(function()
    outputChatBox("Losowa?e? ju? dzisiaj"client)
    setElementData(client"losuj:hajs"false)
    givePlayerMoney(clienttonumber(money))
    end5000001)
end
addEvent("loshajs"true)
addEventHandler("loshajs"getRootElement(), loshajs)


Od siebie proponowa?bym taki kod:
function loshajs()
    if getElementData(client"losuj:hajs"then 
        outputChatBox("Losowa?es ju? dzisiaj!"client)
        return 
    end
    local money math.random(1550)
    outputChatBox("Wylosowa?e? " .. money .. "$"client)
    setElementData(client"losuj:hajs"true)
    givePlayerMoney(clientmoney)
end
addEvent("loshajs"true)
addEventHandler("loshajs"getRootElement(), loshajs)


Je?li chcia?by? resetowanie elementDaty po okre?lonym czasie, dodaj taki setTimer po givePlayerMoney:
local za_ile 10 --ilo?? sekundza ile resetujemy elementDat?
function loshajs()
    if getElementData(client"losuj:hajs"then 
        outputChatBox("Losowa?es ju? dzisiaj!"client)
        return 
    end
    local money math.random(1550)
    outputChatBox("Wylosowa?e? " .. money .. "$"client)
    setElementData(client"losuj:hajs"true)
    givePlayerMoney(clientmoney)
    setTimer(function()
        setElementData(client"losuj:hajs"false)
    endza_ile 10001)
end
addEvent("loshajs"true)
addEventHandler("loshajs"getRootElement(), loshajs)


Zmienna 'za_ile' okre?la, po ilu sekundach chcesz zresetowa? elementDat?, aby gracz m?g? ponownie przyst?pi? do losowania pieni?dzy.

Postaw piwo autorowi tego posta
 

 
Tagi: losowanie :: pieniędzy
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » losowanie pieniędzy Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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