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

Wysłany: 2019-08-14, 10:16


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

Hejkaaa, mam tu slabiutki skrypt ktory pisalem sam (dlatego jest slabiutki i nie dziala), ale chcial bym zeby jednak dzialal, bo sie przyda.
DB3: brak
Kod:

function ustalanieKontaOrazWczytanielvla(plr)
        local kontoGracza getPlayerAccount(plr)
        if kontoGracza and not isGuessAccount(kontoGraczathen
        local lvlGracza getAccountData(kontoGracza"Level")
        setAccountData(kontoGracza"Level")
        end
    end
addEventHandler('onPlayerLogin'getRootElement(), ustalanieKontaOrazWczytanielvla)

function lvlZaMinIH(plr)
        setTimer(przydzielanielvla60*50*20)
        setTimer(czacikdlatestumordo60*50*20)
        local czacikdlatestumordo outputChatBox("Tw?j obecny level wynosi".. getAccountData(kontoGracza"Level"), plr)
        local kontoGracza getPlayerAccount(plr)
        if kontoGracza and not isGuessAccount(kontoGraczathen
        getPlayerFromName(plr)
        local przydzielanielvla setAccountData(kontoGracza"Level"tonumber(getAccountData(kontoGracza"Level")) + 1)
        end
    end
addEventHandler('onPlayerLogin'getRootElement(), lvlZaMinIH)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-08-14, 12:51


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

?r?d?em eventu onPlayerLogin jest gracz, kt?ry si? zalogowa?.
Za? pierwszy argumentem funkcji podpi?tej pod w/w event jest poprzednie konto gracza, kt?ry si? w?a?nie zalogowa?.

Radz? poczyta?:

Więcej informacji znajdziesz w Wikipedii MTA:

onPlayerLogin


Pierwszy event:
jest ca?kiem bez sensu: najpierw pobierasz dane, potem ustawiasz te same dane pod t? sam? accountDat?.
Mo?e chodzi?o Ci o elementDat??
Nie ma po co sprawdza?, czy gracz jest go?ciem, poniewa? na pewno zalogowa? si? na jakie? konto - czyli mia? je stworzone.

Drugi event:
Tworzysz timery do funkcji, kt?rych pewnie nie ma. Zobacz na to. Nie maj? one podanej ilo?ci powt?rze?.
Konto, na kt?re gracz si? zalogowa? jest definiowane przez drugi argument funkcji podpi?tej pod ten event.
Definiowanie outputChatBox to troch? zb?dne. ?le zrobiony timer, musisz zrobi? oddzieln? funkcj? i wtedy podpi?? j? pod timer, tak jak ni?ej.
Po co jest ta linijka: "getPlayerFromName(plr)"? Nigdzie nie wykorzystujesz danych, kt?re Ci ona zwraca.
Po co defninujesz setAccountData, je?li nigdzie nie wykorzystujesz danych, kt?re Ci ona zwraca?

Te 2 eventy robi? praktycznie to samo (chodzi o ustawienie accountDaty, usun??em jeden).

function przydzielanielvla(kontogracz)
   if (getPlayerAccount(gracz) == kontothen
       local aktualny_lvl = (getAccountData(konto"Level") or 0)
       outputChatBox("Tw?j obecny level wynosi".. aktualny_lvl gracz)
       setAccountData(konto"Level"aktualny_lvl  1)
   end
end

addEventHandler("onPlayerLogin"getRootElement(), 
function(_konto_obecne)
    setTimer(przydzielanielvla60*50*200konto_obecnesource)
    local aktualny_lvl = (getAccountData(konto_obecne"Level") or 0)
    outputChatBox("Tw?j obecny level wynosi".. aktualny_lvl source)
end)


Radz? doda?

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Szyszka947
Wysłany: 2019-08-14, 13:05


Szyszka947

ASP NET Core / Lua






Wiek: 19
Na forum: 2579 dni
Posty: 288

Piwa: 16

Respekt: 90

dzieki, niestety respektu nie moge juz Ci dac ;c

Postaw piwo autorowi tego posta
 

 
Tagi: system :: lvli
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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