Wysłany: 2012-07-24, 18:04
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Witam, Jak wi?kszo?? z nas wie, Skille broni resetuj? si? po wyjsciu z serwera.
Mam takie pytanie Czego u?y? aby si? to zapisywa?o??
Po za oczywistymi
setAccountData
getAccountData
onPlayerJoin
onPlayerQuit
getPedStat
setPedStat
Co by?oby potrzebne do stworzenia takiego skryptu, zaznacz? i? nie chc? udzia?u MySql.
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Ostatnio zmieniony przez irvs126 2012-07-24, 19:31, w całości zmieniany 1 raz
Wysłany: 2012-07-24, 18:59
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Jak nie MySQL to setAccountData ewentualnie do XML, ale ostatecznie do XML
Wysłany: 2012-07-24, 19:29
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Napisa?em nast?puj?cy kod strona server:
Kod: addEventHandler("onPlayerLogin", getRootElement(),
function()
local account = getPlayerAccount(source)
if account then
local M4 = getAccountData(account, "stats.M4")
setPedStat(source, M4)
else
outputChatBox("Nie jeste? zalogowany", source, 250, 0, 0, true)
end
end)
addEventHandler("onPlayerQuit", getRootElement(),
function()
local account = getPlayerAccount(source)
if account then
local M4 = getPedStat ( source, 78 )
setAccountData(account, "stats.M4", M4)
addEventHandler("onPlayerLogin", getRootElement(),
else
outputChatBox("Nie jeste? zalogowany", source, 250, 0, 0, true)
end
end)
niestety b??dny argument przy obydwu lokalnych:
Kod:
local account = getPlayerAccount(source)
przy jednej podczas wychodzenia a przy drugiej podczas wchodzenia na serwer.
Jest to kod skr?cony tylko dla M4.
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-24, 19:50
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Kod:
addEventHandler("onPlayerLogin", getRootElement(),
function(player)
local account = getPlayerAccount(player)
if account then
local M4 = getAccountData(account, "stats.M4")
setPedStat(player, M4)
else
outputChatBox("Nie jeste? zalogowany", player, 250, 0, 0, true)
end
end)
addEventHandler("onPlayerQuit", getRootElement(),
function(player)
local account = getPlayerAccount(player)
if account then
local M4 = getPedStat ( player, 78 )
setAccountData(account, "stats.M4", M4)
addEventHandler("onPlayerLogin", getRootElement(),
else
outputChatBox("Nie jeste? zalogowany", player, 250, 0, 0, true)
end
end)
Powinno dzia?a?
Wysłany: 2012-07-24, 20:13
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Nadal to samo.
Debug:
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-25, 09:36
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Wysłany: 2012-07-25, 10:39
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
C??, ju? blisko rozwi?zanie, lecz powsta? jeszcze jeden problem
przy Evencie onPlayerLogin
Kod:
WARNING: skillsave/server.lua:6: Bad argument @ 'setPedStat'
z?y argument, zastosowa?em tak jak na wiki w setAccountData czyli source
nie dzia?a,zastosowa?em tak jak w przyk?adzie na wiki thePlayer, r?wnie? nie dzia?a.
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-25, 11:55
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
A masz dodany argument do funkcji "thePlayer" tak jak ja dalem "player"?
Wysłany: 2012-07-25, 12:01
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Tak.
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-25, 12:03
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Wysłany: 2012-07-25, 12:07
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Kod: addEventHandler("onPlayerLogin", getRootElement(),
function(_, playeraccount, thePlayer)
if playeraccount then
local M4 = getAccountData(playeraccount, "stats.M4")
setPedStat(thePlayer, M4)
end
end)
addEventHandler("onPlayerQuit", getRootElement(),
function()
local account = getPlayerAccount(source)
if ( account ) and not isGuestAccount ( account ) then
local M4 = getPedStat ( source, 78 )
setAccountData(account, "stats.M4", M4)
end
end)
b??d jest w 5 linii
Kod: setPedStat(thePlayer, M4)
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-25, 12:32
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Kod: addEventHandler("onPlayerLogin", getRootElement(),
function(_, playeraccount)
if playeraccount then
local M4 = getAccountData(playeraccount, "stats.M4")
setPedStat(source, M4)
end
end)
addEventHandler("onPlayerQuit", getRootElement(),
function()
local account = getPlayerAccount(source)
if ( account ) and not isGuestAccount ( account ) then
local M4 = getPedStat ( source, 78 )
setAccountData(account, "stats.M4", M4)
end
end)
Nie ma parametru "thePlayer" na wiki, wi?c i tutaj nie powinno by?.
Wysłany: 2012-07-25, 12:59
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Nadal z?y argument.
setPedStat(source, M4)
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Wysłany: 2012-07-25, 14:45
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Dobra, ale kt?ry. My?l?, ?e "M4", ale mog? si? myli?.
Wysłany: 2012-07-25, 15:00
irvs126
www.lss-rp.pl
Wiek: 36 Na forum: 5461 dni Posty: 109
Nick w MP: irvs126
Piwa : 97
Tego nie moge okre?li? kod b??du jest tylko taki:
Kod: WARNING: skillsave/server.lua:5: Bad argument @ 'setPedStat'
wyst?puje tylko przy logowaniu
[ Dodano : 2012-07-25, 15:36 ]
Kod: addEventHandler("onPlayerLogin", getRootElement(),
function(_, playeraccount)
if playeraccount then
local M4 = getAccountData(playeraccount, "stats.M4")
setPedStat(source, 78, M4)
end
end)
addEventHandler("onPlayerQuit", getRootElement(),
function()
local account = getPlayerAccount(source)
if ( account ) and not isGuestAccount ( account ) then
local M4 = getPedStat ( source, 78 )
setAccountData(account, "stats.M4", M4)
end
end)
Obecne kod wygl?da jak wy?ej
b??dy znikn??y poprzez dodanie ID Skilla w 5 linijce. LECZ, tego skilla przy logowaniu nie daje, a b??d?w w debug nie ma ani w logach.
[ Dodano : 2012-07-25, 18:15 ]
Dodam ?e co ciekawe zrobi?em ten kod dla Eventu onPlayerWasted, i o dziwo dzia?a.
[ Dodano : 2012-07-25, 18:27 ]
Uda?o si? !
Ca?kowicie inaczej przerobi?em kod, i si? uda?o
Szczeg?lnie dzi?kuj? za pomoc Piorunowi kt?ry nakierowa? mnie na to ?e b??dem nie musi by? pierwszy argument.
Dla wszystkich pomagaj?cych, Piwka.
Pozdrawiam, Do zamkni?cia.
Podpis
[you]
, Sprawdź pierwszy serwer Roleplay, stawiający duży nacisk na grę In Character!
www.lss-rp.pl
Tagi: save :: system :: skills
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: