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

Wysłany: 2014-04-04, 23:05


Daisu

Programista Lua






Wiek: 26
Na forum: 4585 dni
Posty: 192
SPONSOR
Nick w MP: Daisu

Piwa: 24

Respekt: 90

Witam mam skrypt na zapis scora ale po wy??czeniu go score si? resetuje.
A Chcia?bym ?eby zapisywa?o i po restarcie / w??czeniu skryptu Pokazywa?o nadal ile mam scora.
Prosz? O Pomoc.
Dodam ?e Wzorowa?em si? na zapisi? scora by Marmat !
KOD META.xml :


<meta>
<info name="ScoreSaver" author="Marmat000 and KineQ" type="ScoreSaver" version="1.0" />

    <script src="scores.lua" type="server" />
    <script src="savescore.lua" type="server" />        
    
</meta>


KOD savescore.lua


function onPlayerLogin ()
        local playeraccount = getPlayerAccount ( source )
        if ( playeraccount ) then
                if not isGuestAccount ( playeraccount ) then
                        local playerpkt = getAccountData ( playeraccount, "points" )
                        --local playermoney = getAccountData ( playeraccount, "s.HandMoney" )
            --setPlayerMoney( getRootElement(), playermoney )
                        if ( playerpkt ) then
                                setElementData(source, "Score", tonumber(playerpkt))
                                --setElementData(source, "Kasa", tonumber(playermoney))
                --setPlayerMoney( getRootElement(), playermoney )

                        end
                end
        end
end

function onPlayerQuit ()
        local playeraccount = getPlayerAccount ( source )
        if ( playeraccount ) then
                if not isGuestAccount ( playeraccount ) then
                        local playerpkt = getElementData ( source, "Score" )
                       -- local playermoney = getPlayerMoney(source)
            --setAccountData ( playeraccount, "s.HandMoney", playermoney )
                        if ( playerpkt ) then
                                setAccountData ( playeraccount, "points", playerpkt )
                               -- setAccountData ( playeraccount, "s.HandMoney", playermoney )
                        end
                end
        end
end

addEventHandler ( "onPlayerLogin", getRootElement (), onPlayerLogin )
addEventHandler ( "onPlayerQuit", getRootElement (), onPlayerQuit )
addEventHandler ("onResourceRestart", getRootElement (), onPlayerQuit )
addEventHandler ("onResourceStop", getRootElement (), onPlayerQuit )



KOD scores.lua :


--[[
UWAGA !!!

LICENCJA SKRYPTU "RPG by marmat00"

1. Ca?y skrypt jest stworzony na modyfikacji licencji Creative Commons
2. Autorem skryptu jest Marcin "marmat00" Magacz
3. Kontakt:
    Mail: marcin.magacz@op.pl
    GG: 2321919


UWAGA!!! Zapoznaj si? z t? licencj?. Je?eli z?amiesz j? poniesie? za to odpowiedzialno??


1. Warunkiem na u?ywanie skrypt?w jest zostawienie nicku autora (marmat00) a obok autora modyfikacji.
2. Zakaz sprzedawania skryptu zmodyfikowanego lub niezmodyfikowanego.
4. Zakaz usuwania autora z pliku meta.xml oraz z gry.
5. Je?eli przerobisz skrypt masz obowi?zek udost?pnienia go na tej smaej licencji a autorem tego skryptu pozostajesz ty oraz marcin magacz (marmat00)
--]]
addEventHandler('onResourceStart',getResourceRootElement(),
function()
    call(getResourceFromName("scoreboard"), "addScoreboardColumn", "Score")
    call(getResourceFromName("scoreboard"), "addScoreboardColumn", "Kasa")
    for theKey,thePlayer in ipairs(getElementsByType ( "player" )) do
        setElementData(thePlayer,"Score",0)
    setElementData(thePlayer,"Kasa",0)
    end
end)

addEventHandler('onPlayerJoin',getRootElement(),
function()

    setElementData(source,"Score",0)
    setElementData(source,"Kasa",0)
end)

function addScore(points)
    setElementData(source, "points", getElementData(source, "points") + points)
    setElementData(source, "money", getPlayerMoney(getLocalPlayer()))
end

addEvent("addScore", true)
addEventHandler("addScore", getRootElement(), addScore)
---------dawanie score

addCommandHandler ( "zmienscore",
function ( player, cmd, nick, kwota )


        if nick and kwota then
            local aplayer = getPlayerFromName ( nick )
            if aplayer then
                kwota = tonumber(kwota)
           
                    setElementData(aplayer,"Score",kwota)
                    --givePlayerMoney ( aplayer, kwota )
        outputDebugString ( "Score dodane" )

else
      outputChatBox( "Nie jestes MarMat'em", getRootElement())   
    outputDebugString ( "Nieudana proba dodania score." )

end 
end
end )






Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Kacap12
Wysłany: 2014-04-05, 01:22


Artysta

Lua, Lua, Czekolada






Wiek: 28
Na forum: 4607 dni
Posty: 240
Nick w MP: Artysta/Koojot

Piwa: 1427

Respekt: 205,8
Respekt: 205,8Respekt: 205,8

Zobacz takie savescore.


function onPlayerLogin ()
        local konto = getPlayerAccount ( source )
                if not isGuestAccount ( konto ) then
                        local score = getAccountData ( konto, "scoregracza" )
                     setElementData(source, "Score", tonumber(score))
                        end
                end
function onPlayerQuit ()
        local konto = getPlayerAccount ( source )
                if not isGuestAccount ( konto ) then
                        local score = getElementData ( source, "Score" )
                       setAccountData ( konto, "scoregracza", tonumber(score))
                        end
                        end
addEventHandler ( "onPlayerLogin", getRootElement (), onPlayerLogin )
addEventHandler ( "onPlayerQuit", getRootElement (), onPlayerQuit )
addEventHandler ("onResourceRestart", getRootElement (), onPlayerQuit )
addEventHandler ("onResourceStop", getRootElement (), onPlayerQuit )


Podpis
Something is coming..
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-04-05, 10:16


Daisu

Programista Lua






Wiek: 26
Na forum: 4585 dni
Posty: 192
SPONSOR
Nick w MP: Daisu

Piwa: 24

Respekt: 90

Wy?wietla Mi Jak Wy??cz? ?e nadal mam ten score ale jak w??cz? ten skrypt to mi zeruje dodam ?e si? loguje a w consoli taki b??d.
Kod:


[04] WARNING: [RPG-KineQ]/ScoreSave/savescore.lua:11: Bad argument @ 'isGu
estAccount' [Expected account at argument 1, got boolean]
[04] WARNING: [RPG-KineQ]/ScoreSave/savescore.lua:13: Bad argument @ 'setA
ccountData' [Expected account at argument 1, got boolean]


@up

NAPRAWIONE DZI?KI I LECI :piwo:

[ Dodano: 2014-04-05, 16:23 ]
Sorka ?e znowu zawracam g?owe ale nie dzia?a na TAB pisz? Tabela SCORE a wniej puste i skrypt si? popsu? pomocy .

____
Dyslekcja !

Postaw piwo autorowi tego posta
 

 
Tagi: save :: score
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