• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Creaturescripts 50 punkt?w dla 100 pierwszych zalogowanych graczy.

Status
Zamknięty.

Sooh

Advanced User
Dołączył
Czerwiec 26, 2014
Posty
489
Liczba reakcji
25
Wiek
32
50 Punkt?w dla 100 pierwszych zalogowanych graczy.​

creaturescripts.xml> <event type="login" name="PunktyPremium" event="script" value="ppremium.lua"/>
nastepnie tworzymy plik ppremium.lua z zawartoscia:
[lua]
function onLogin(cid)
local global_storage = 6456951
local player_storage = 6456951
local max_players = 100
local premium_points = 50
if (#getPlayersByIp(getPlayerIp(cid)) >= 2) then
return true
end
if (getPlayerStorageValue(cid, player_storage) == 1) then
return true
end
if (getStorage(global_storage) >= max_players) then
return true
end
if (getGlobalStorageValue(global_storage) <= -1) then
setGlobalStorageValue(global_storage, 1)
else
setGlobalStorageValue((global_storage), getGlobalStorageValue(global_storage) +1)
end
setPlayerStorageValue(cid, player_storage, 1)
db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. (premium_points) .. " WHERE `id` = " .. (getPlayerAccountId(cid)))
doPlayerSendTextMessage(cid, MESSAGE_BLUE, "Congratulations! You are " .. (getGlobalStorageValue(global_storage)) .. " first logged player on the server. Your account has been recharged with " .. (premium_points) .. " premium points.")
return true
end
[/lua]
wchodzimy do login.lua i dodajemy pod koniec
registerCreatureEvent(cid, "PunktyPremium")
 
Odp: 50 punkt?w dla 100 pierwszych zalogowanych graczy.

Co gdzie wklejac?
 
Odp: 50 punkt?w dla 100 pierwszych zalogowanych graczy.

Przecie? wszystko dok?adnie opisa?em co, gdzie i kiedy.
 
Odp: 50 punkt?w dla 100 pierwszych zalogowanych graczy.

Tak od biedy to by sie mozna czepiac optymalizacji. Chociaz w sumie mozna to tez jebac, bo marne ma to znaczenie. I tak kazdy na to leje zawsze przy pisaniu jakichs bzdetnych skryptow do otsow i chyba jakos niespecjalnie to komus przeszkadza.
Ale... deklarowanie zmiennych przy kazdym logowaniu kazdego gracza? Warunki mogly by byc w lepszej kolejnosci, zeby po ewentualnym rozdaniu punktow juz wszystkim skrypt jak najmniej dzialal. Mozna by inaczej liczyc, a nie zapisywac wszystko w storage. Poza tym na jakim silniku testowane i z jaka baza? Moze byc problem ze storage powyzej 65k, bo domyslnie czasem wlasnie do 2^16-1 jest limit z racji typu tabel lub zmiennych w silniku.
Ogolnie chujowo. A nawet mi sie nie chce patrzec dokladnie na to co jest w kodzie, tylko szybki rzut oka i widac slabosc xD
Ale jak dziala to dziala i mozna uzywac, na chuj drazyc temat, nikt z tego powodu nie umrze. Bardziej gowniane skrypty sa uzywane przez 99% ludzi i jest ok.
Lece spac. Cya ;D
 
Odp: 50 punkt?w dla 100 pierwszych zalogowanych graczy.

Masz racj?, ale jak za darmo to niech chapi?.
 
Status
Zamknięty.
Do góry