Witam zwracam się do was z pytaniem jak zabezpieczyć dany skrypt przed bugowaniem pieniędzy na ruletce ? Może ktoś będzie wiedział co zrobić z tym dlatego pisze tutaj.
Witam, jestem nowy na tym forum i chciałbym podzielic sie skryptem ktory napisalem w 5 minut moze sie komus przyda. Pod komenda /skin [id] skin gracza sie zmienia i to chyba tyle
Mam tu skrypt, który potrafi zapisać pozycje pojazdu (czyli gdzie został zostawiony), obrót, color i tunig. Jednak z nim jej taki problem że poprawnie zapisuje tylko pierwszy pojazd, a jak już się zeszpawnuje drugi o takim samy ID to po przemieszczeniu tego drugiego pojazdu już nie potrafi uaktualnić danych. Pamięta tylko gdzie został zeszpawnowany ten drugi pojazdu.
Ktoś może wie co jest nie tak?
[lua]
-- Plik: spawn_vehicle_server.lua
local spawnedVehicles = {}
local saveFileName = "spawned_vehicles.json"
function saveSpawnedVehicles()
local data = ""
for _, vehicleData in ipairs(spawnedVehicles) do
local line = toJSON(vehicleData)
data = data .. line .. "n"
end
local file = fileCreate(saveFileName)
if file then
fileWrite(file, data)
fileClose(file)
end
end
function loadSpawnedVehicles()
local file = fileOpen(saveFileName)
if file then
local data = fileRead(file, fileGetSize(file))
spawnedVehicles = {}
for line in string.gmatch(data, "[^rn]+") do
local vehicleData = fromJSON(line)
table.insert(spawnedVehicles, vehicleData)
end
fileClose(file)
end
end
function updateVehicleDataAndSave(vehicle, player)
local vehicleID = getElementModel(vehicle)
-- Pobierz informacje o tuningowaniu pojazdu
local upgrades = getVehicleUpgrades(vehicle)
Od dawien dawna testuje sobie ChatGPT. ChatGPT napisał mi nie jeden skrypt do MTA. Co o dziwo większość z nich działa. Jedno co mnie ciekawi na ile one są sprawne żeby można by było je wrzucić na serwer i nie powodowały błędów, mogli z nich korzystać inni gracze itd.
Sam się na dokładnej budowie skryptów nie znam, nie ogarniam tego. Jedynie potrafię takie bardzo proste skrypty napisać. Moim konikiem jest modelowanie modeli i w połączeniu z ChatGPT daje nowe możliwości w tworzeniu modeli. Tutaj dla przykładu podaje skrypt na radio. Radio można włączyć po przez markera. Zmienić stacje, wyłączyć i zmieniać głośność i to za pomocą klawiszy na klawiaturze. W sumie pytam z ciekawości. na ile on jest poprawnie napisany?
[lua]local markerX, markerY, markerZ = -684.65417, 935.66187, 12.33281
local marker = createMarker(markerX, markerY, markerZ, "cylinder", 1.0, 0, 255, 0, 150)
local defaultVolume, radioStream, currentStationIndex, isRadioPlaying, isInMarker, isBKeyUsed = 1.0, nil, 1, false, false, false
-- Dodaj stacje radiowe
local stations = {
{ url = "http://audio.radio.opole.pl:9000/ro1mp3", name = "Radio Opole" },
{ url = "http://n-16-8.dcs.redcdn.pl/sc/o2/Eurozet/live/meloradio.livx?audio=5", name = "Meloradio" },
{ url = "http://srv0.streamradiowy.eu:80/radio90-aac", name = "Radio 90" }
}
local lastVolumeUpdateTime = 0 -- Czas ostatniej aktualizacji głośności
local lastVolumeChan...
[center][b][size=22][color=#66ccff]KONKURS NA NAJLEPSZY SKRYPT LUA[/color][/size]
[color=white]W imieniu ca?ego grona administracji chcia?bym zaprosi? Was do udzia?u w konkursie na najlepszy skrypt LUA.
Konkurs zosta? podzielony na 4 kategorie - od bardzo ?atwej, a? po trudn? a wi?c ka?dy znajdzie kategori? odpowiedni? dla swoich umiej?tno?ci.
Aby Twoja praca zosta?a zaakceptowana musisz zapozna? si? z regulaminem konkursu, zasadami, kryteriami oceniania, a tak?e wymaganiami dotycz?cymi skryptu.[/b][/color]
[ramka][center][b][size=18][color=#66ccff]REGULAMIN[/center][/color][/size][/b][line][color=#66ccff]1.[/color] Wszystkie pliki wchodz?ce w sk?ad zasobu nale?y spakowa? do archiwum .zip lub .rar.
[color=#66ccff]2.[/color] Gotowe archiwum nale?y wrzuci? na zaufany hosting plik?w, np. mega.nz lub mediafire.com .
[color=#66ccff]3.[/color] Ka?da osoba maj?ca zamiar wzi?cia udzia?u mo?e uczestniczy? tylko i wy??cznie w jednej kategorii trudno?ci.
[color=#66ccff]4.[/color] Praca, w kt?rej jakikolwiek plik b?dzie zakodowany nie b?dzie brana pod uwag?.
[color=#66ccff]5.[/color] W konkursie mo?e bra? udzia? ka?dy u?ytkownik - z wyj?tkiem moderator?w i administrator?w.
[color=#66ccff]6.[/color] Uczestnik wysy?aj?cy prac? nie stworzon? przez niego zostanie surowo ukarany.
[color=#66ccff]7.[/color] Po zako?czeniu konkursu prace zostan? ocenione przez grono juror?w, a nast?pnie zostan? og?oszone wyniki wy?aniaj?ce zwyci?zc? w ka?dej z kategorii.
[color=#66ccff]8.[/colo...
Dobry wiecz?r, mam nast?puj?cy problem. Gdy kto? wyjdzie z serwera normalnie skin si? zapisuje, lecz gdy kto? umrze to skin zmienia si? w CJ. Podstaw? serwera jest Nitro RPG. Nie wiem w jakim skypcie zapisuje si? skin ale mog? wys?a? skrypt jak kto? mi powie w jakim si? to znajduje. Prosz? o pomoc z g?ry dzi?kuj?.
Mam taki skrypt, kt?ry po wej?ciu do markera i wci?ni?ciu klawisz H powinna si? otworzy? bram ale brama si? nie otwiera. Po wej?ciu do markera napisy si? pojawiaj?. W konsoli nie ma ?adnego b??du.
local function toggleBrama()
local status = getElementType(brama) == "object" and getElementData(brama, "brama:status") or "closed"
if status == "closed" then
moveObject(brama, 3000, 2505.52, -1690.99, 10.7281, 0, 0, 0)
setElementData(brama, "brama:status", "open")
else
moveObject(brama, 3000, 2505.52, -1690.99, 14.3281, 0, 0, 0)
setElementData(brama, "brama:status", "closed")
end
end
addEventHandler("onMarkerHit", marker, function(hitElement, matchingDimension)
if getElementType(hitElement) == "player" and matchingDimension then
outputChatBox("Wci?nij H, aby otworzy? bram?")
end
end)
addEventHandler("onMarkerLeave", marker, function(hitElement, matchingDimension)
if getElementType(hitElement) == "player" and matchingDimension then
outputChatBox("Opuszczasz marker")
end
end)
Witam mam skrypt na administracje (z pysa) niby duty itp smiga wszystko git ale gdy wpisuje /k nick powod nie kickuje go anie nie daje powiadomienia dodalem go do acl i dalej nic core tak samo co mozna z tym zrobic?
Witam mam do was pro?b? m?g?by kto? sprawdzi? czy dobrze napisany jest ten skrypt bo co? mi nie dzia?a jak chc? stworzy? organizacj? co do bazy danych to mam wszystko podpi?te tabela i kolumny pod skrypt zrobione
tutaj macie skrypt:
addEvent('organization:create',true)
addEventHandler('organization:create',resourceRoot,function(name)
local check = exports['pystories-db']:dbGet('select * from ms_organizacje where code=?',name)
if check[1] then outputChatBox('Podana nazwa organizacji jest ju? zaj?ta!',client) return end
if string.len(name) < 3 then outputChatBox('Nazwa organizacji jest zbyt kr?tka.',client) return end
local create = exports['pystories-db']:dbSet('insert into ms_organizacje (code, login, uid, actived, rank) values(?,?,?,now(),4)',tostring(name),getElementData(client,'player:nickname'),getElementData(client,'player:sid'))
if create then
outputChatBox('Pomy?lnie stworzy?e? organizacj? o nazwie: '..name..'!',client)
setElementData(client,'player:organization',tostring(name))
takePlayerMoney(client,15000000)
else outputChatBox('Wyst?pi? b??d, zg?o? go administracji.',client) end
end)
addEvent("jobMoney", true)
addEventHandler("jobMoney", root, function(plr, job)
if isElement(plr) then
local siano = math.random(settings[job].money[1], settings[job].money[2])
local exp = math.random(settings[job].exp[1], settings[job].exp[2])
local punkty = math.random(settings[job].jobPoints[1], settings[job].jobPoints[2])
local uid = getElementData(plr, "player:uid")
if uid and punkty then
exports['dmta_db']:dbSet('UPDATE dmta_users SET jobPoints=jobPoints+? WHERE id=?',math.floor(punkty), uid)
end
if getElementData(plr, "player:premium") then
local siano = math.floor((siano*1.2)*math.floor(mnoznik))
local exp = math.floor((exp*1.2)*math.floor(mnoznik))
givePlayerMoney(plr, siano)
exports.dmta_levels:addExp(plr, exp)
exports.dmta_interface:showPlayerNotification(plr, "Otrzymujesz wynagrodzenie w postaci "..siano.."$ oraz "..exp.." EXP", "info")
...
[center][b][size=22][color=#66ccff]KONKURS NA NAJLEPSZY SKRYPT LUA[/color][/size]
[color=white]W imieniu ca?ego grona administracji chcia?bym zaprosi? Was do udzia?u w konkursie na najlepszy skrypt LUA.
Konkurs zosta? podzielony na 4 kategorie - od bardzo ?atwej, a? po trudn? a wi?c ka?dy znajdzie kategori? odpowiedni? dla swoich umiej?tno?ci.
Aby Twoja praca zosta?a zaakceptowana musisz zapozna? si? z regulaminem konkursu, zasadami, kryteriami oceniania, a tak?e wymaganiami dotycz?cymi skryptu.[/b][/color]
[ramka][center][b][size=18][color=#66ccff]REGULAMIN[/center][/color][/size][/b][line][color=#66ccff]1.[/color] Wszystkie pliki wchodz?ce w sk?ad zasobu nale?y spakowa? do archiwum .zip lub .rar.
[color=#66ccff]2.[/color] Gotowe archiwum nale?y wrzuci? na zaufany hosting plik?w, np. zippyshare.com .
[color=#66ccff]3.[/color] Ka?da osoba maj?ca zamiar wzi?cia udzia?u mo?e uczestniczy? tylko i wy??cznie w jednej kategorii trudno?ci.
[color=#66ccff]4.[/color] Praca, w kt?rej jakikolwiek plik b?dzie zakodowany nie b?dzie brana pod uwag?.
[color=#66ccff]5.[/color] W konkursie mo?e bra? udzia? ka?dy u?ytkownik - z wyj?tkiem moderator?w i administrator?w.
[color=#66ccff]6.[/color] Uczestnik wysy?aj?cy prac? nie stworzon? przez niego zostanie surowo ukarany.
[color=#66ccff]7.[/color] Po zako?czeniu konkursu prace zostan? ocenione przez grono juror?w, a nast?pnie zostan? og?oszone wyniki wy?aniaj?ce zwyci?zc? w ka?dej z kategorii.
[color=#66ccff]8.[/color] Administr...
Siemka
Dzi? mam dla Was prosty, minimalistyczny a zarazem do?? ?adny HUD.
By? pisany jaki? czas temu dla kogo? lecz ta osoba go nie chcia?a wi?c oddaje Wam.
Je?li komu? si? spodoba to mo?e u?ywa?, przerabia? itd.
Eldaty s? pod pysa wi?c jak kto? b?dzie chcia? na sw?j serwer to raczej b?dzie potrafi? sobie przerobi?. Pozdrawiam
Autor: NotPaladyn
Prezentacja zasobu:
Link do pobrania
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Siemano je?eli ma kto? czas i ch?ci to prosi? bym o przerobienie mi tego skryptu. mianowicie chodzi mi o to ze w tym skrypcie mozna napadac ca?y czas a ja chcia?bym aby napadac mozna bylo Raz na 2godziny, czyli ktos napadnie na bank to mo?e dopiero napa?? za 2godziny i fajnie jak by pisalo np "Napada? mozesz co 2h"
Siema, mam problem, poniewa? ustawi?em punkt gastronomiczny, kt?ry polega na tym, jak si? kupi dan? rzecz to poprawia si? twoje "?ycie".
Jednak?e jak mam ju? na 100% to i tak moge kupi? i pobiera pieni?dze. Czym m?g?bym to zatrzyma??
Znalaz?em w jakiej? paczce skrypt na impuls elektromagnetyczny dla SAPD. Pozmienia?em w nim elementdaty aby pasowa?y pod moj? paczk? i wszystko wydaje si? by? w porz?dku. Gdy policjant wsiada do pojazdu wy?wietla mu si? informacje ?e mo?e odda? strza? itp. Problem jest w tym ?e gdy "strzela" pojawia si? przed nim na chwil? marker, ale pojazd przed nim nie ga?nie ani nic. Prosz? o pomoc
[lua]
Server side
function pokazIEM(player,seat,jacked)
if getElementData(player,"player:duty") == "SAPD" then
if seat == 0 then
triggerClientEvent("pokaz:IEM",player,player)
end
end
end
addEventHandler("onVehicleEnter",root,pokazIEM)
function schowajIEM(player,seat,jacked)
if getElementData(player,"player:duty") == "SAPD" then
if seat == 0 then
triggerClientEvent("schowaj:IEM",player,player)
end
end
end
addEventHandler("onVehicleExit",root,schowajIEM)
function funkcjeoff(hitElement)
local veh = getPedOccupiedVehicle(hitElement)
if not veh then return end
setVehicleEngineState(veh, false)
setVehicleOverrideLights(veh,1)
setElementData(veh,"veh:iem",true)
setElementData(veh, "stereo:use",false)
setTimer(removeElementData,15000,1,veh,"veh:iem")
setTimer(setElementData,15000,1,veh,"stereo:use",true)
outputChatBox("* Siln...
Witam. Posiadam spadki fps spowodowane najprawdopodobnie skryptem "vehicles".
Znajomi odczuwaj? spadki tak samo jak ja, a po restarcie skryptu wszystko wraca do normy na oko?o 10 min.
Gifts.create = function()
for k, v in ipairs(Gifts.position) do
v.pickup = createPickup(v[1], v[2], v[3], 3, Gifts.settings.pickupID, 0)
if v[4] then setElementDimension(v.pickup, v[4]) end
setElementData(v.pickup, "gift:id", k)
addEventHandler("onPickupHit", v.pickup, Gifts.hitPickup)
end
end
Gifts.hitPickup = function(player)
if player.type == "player" and not player.vehicle then
local gifts = exports["pystories-db"]:dbGet("select prezenty from ec_prezenty where id = ?", getElementData(player, "player:sid"))
if not gifts[1] or not gifts[1].prezenty then _gifts = {} else _gifts = fromJSON(gifts[1].prezenty) end
if not table.find(_gifts, getElementData(source, "gift:id")) then
table.insert(_gifts, getElementData(source, "gift:id"))
else
outputChatBox("#ff0000??— #ffffffZebra?‚e?› juĹĽ ten prezent!", player, 63, 173, 168, true)
return
end
if not gifts[1] then
exports["pystories-db"]:dbSet("insert into ec_prezenty values(?,?)", get...
Siema ostatnio ucz? si? programowa?, i mam tak ?e ?adne skrypty spisane z poradnika nie dzia?aj? u mnie. To jest ostatni m?j skrypt bardzo prosty, kt?ry ma pisa? wiadomo?? po zalogowaniu i nawet on nie dzia?a. Nie wiem o co chodzi.
Jest jakis sposob na sprawdzenie ktory skrypt ustawia elementdate? Probowalem z wykorzystaniem eventu onElementDataChange, ale ciagle wywalalo mi blad.
witam, od kilku dni ucz? si? j?zyka lua i w skrypcie poni?ej nie mog? si? doszuka? b??du. Powinno si? pokazywa? menu suszarki po zrestartowaniu skryptu, a tak si? jednak nie dzieje.
[code]
local screenX,screenY=guiGetScreenSize()
local px,py=(screenX/1920),(screenY/1080)
Siemka posiadam skrypt torby R1 problem polega na tym ze po wyci?gnieciu jej z karetki torba zostaje w miejscu zamiast przyklei? si? do gracza w skrypcie jest bone_attach ale co? jest nie tak a ?e skrypt nie jest m?j nie rozumiem co. dodam jeszcze ?e w swoj? przygod? z lua dopiero zaczynam i je?li mo?na prosi? bym o do?? ?opatologiczne wyja?nienie problemu
serwer
[lua]local tbl={}
-- [1878]="torbaz",
-- [1877]="torbao",
local isPR=(
function(plr)
if (getElementData(plr,"PR:ranga") and (getElementData(plr,"frakcja")=="PR") and getElementData(plr,"PR:sluzba")) or (getElementData(plr,"PSP:ranga") and getElementData(plr,"PSP:sluzba")) or (getElementData(plr,"OSP:ranga") and getElementData(plr,"OSP:sluzba")) then
return true
end
return false
end
)
addEvent("ev",true)
addEventHandler("ev",resourceRoot,
function(ev,arg1)
if (ev=="wez_torbe") then
local ma_torbe=false
if (#tbl==0) then
ma_torbe=false
else
for i,v in ipairs(tbl) do
if (v.plr==client) then
ma_torbe=v
end
end
end
if ma_torbe then
if not ma_torbe.polozona then
if ma_torbe.torba and isElement(ma_torbe.torba) then
destroyElement(ma_torbe.torba)
end
for i,v in ipairs(tbl) do
if (v.plr==client) then
table.remove(tbl,i)
break
end
end
...
Witam mam gor?c? pro?be do Was.
Zrobi mi kto? prost? komend?, po kt?rej wyskocz? napisy
Mia?o wygl?da? to tak:
Wpisuje np. /teleporty i wy?wietlaj? sie nazwy miejsc gdzie mo?na sie przeteleportowa?
Jestem kompletnie zielony w tym, a bardzo mi by sie to przyda?o.
Z g?ry dzi?kuje
Cze?c, Potrzebuje ogarn?c skrypt na panel sygna?k?w dla SAPD pod gm pystories - aby mog?a panelu uzywac tylko i wy?acznie frakcja SAPD, m?g?by kto? mi po krotce rozpisac jak to zrobic etc.?
Siemanko, mam problem ze skryptem na pod?wietlenie licznika.
Mianowicie po wjechaniu w blipa pod?wietlenie mo?na montowa? i ?miga, lecz nie pokazuje grafiki pod cen? z kolorem.
Grafika sama w sobie jest w folderze lecz jest drugi problem, po dopisaniu grafiki do mety wywala skrypt i nie dzia?a.
Kod skryptu
[lua]
--[[
Autor Skryptu: NexBoy
Zakaz Usuwania Autora i u?ywania tego kodu be? mojej zgody!
2016r
]]--
local screenW, screenH = guiGetScreenSize()
panelL = false