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

Wysłany: 2020-07-31, 20:09


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

Witam mam problem z skryptem na bankomat. Bankomat znalaz?em na jednej z paczek. Bankomat dzia?a og?lnie dobrze , ale nie dzia?aj? przyciski "WP?A?" i "WYP?A?". Prosi?bym kogo? z czytaj?cych ten temat o pomoc w skrypcie.
Je?li kto? by m?g? to prosi?bym o przes?anie naprawionego skryptu.

[bankomaty]

addEvent("onPlayerRequestATMInfo"true)
addEventHandler("onPlayerRequestATMInfo"resourceRoot, function()
    local dbid=getElementData(client,"player:uid")
    if not dbid then
        triggerClientEvent(client,"doFillATMInfo"resourceRootfalse)
        return
    end
    local sr=exports["ogrpg-db"]:pobierzWyniki("SELECT bank_money FROM ogrpg_users WHERE id="..(tonumber(dbid) or 0).." LIMIT 1")
    if not sr or not sr.bank_money then
        triggerClientEvent(client,"doFillATMInfo"resourceRootfalse)
        return
    end
    triggerClientEvent(client,"doFillATMInfo"resourceRoottruetonumber(sr.bank_money))
end)

addEvent("doATMOperation"true)
addEventHandler("doATMOperation"resourceRoot, function(kwota)
    -- kwota dodatnia wplata
    -- kwota ujemna wyplata
    if kwota>and kwota>getPlayerMoney(clientthen return end -- komunikat bledu po stronie klienta
    local dbid=getElementData(client,"player:uid")
    if not dbid then return end -- nie powinno sie zdarzyc
    if kwota>0 then
        if getPlayerMoney(client)<kwota then return end
        takePlayerMoney(clientkwota)
        exports["ogrpg-db"]:zapytanie("UPDATE ogrpg_users SET bank_money=bank_money+"..(tonumber(kwota) or 0).." WHERE id="..tonumber(dbid).." LIMIT 1")
        --triggerEvent("broadcastCaptionedEvent"clientgetPlayerName(client).." wp?aca pieni?dze do bankomatu"320true)
        outputChatBox("Wp?aci?es pieni?dze"client255,0,0)
    elseif kwota<0 then
        local sr=exports["ogrpg-db"]:pobierzWyniki("SELECT `bank_money` FROM `ogrpg_users` WHERE id="..tonumber(dbid).." LIMIT 1")
        if not sr or not sr.bank_money then return end -- nie opwinno sie wydarzyc
        sr.bank_money=tonumber(sr.bank_money)
        if (sr.bank_money<math.abs(kwota)) then
            outputChatBox("Nie masz tyle ?rodk?w na koncie!"client255,0,0)
--            triggerClientEvent(client,"onAnnouncement3"root"Nie masz tyle ?rodk?w na koncie!"5)
            return
        end
        outputChatBox("Wyp?aci?e? pieni?dze"client255,0,0)
        exports["ogrpg-db"]:zapytanie("UPDATE ogrpg_users SET bank_money=bank_money-"..math.abs(tonumber(kwota)).." WHERE id="..tonumber(dbid).." LIMIT 1")
        givePlayerMoney(clientmath.abs(kwota))
    end
    

end)

[bankomaty_c] - TU JEST PROBLEM !! !

addEvent("onPlayerRequestATMInfo"true)
addEventHandler("onPlayerRequestATMInfo"resourceRoot, function()
    local dbid=getElementData(client,"player:uid")
    if not dbid then
        triggerClientEvent(client,"doFillATMInfo"resourceRootfalse)
        return
    end
    local sr=exports["ogrpg-db"]:pobierzWyniki("SELECT bank_money FROM ogrpg_users WHERE id="..(tonumber(dbid) or 0).." LIMIT 1")
    if not sr or not sr.bank_money then
        triggerClientEvent(client,"doFillATMInfo"resourceRootfalse)
        return
    end
    triggerClientEvent(client,"doFillATMInfo"resourceRoottruetonumber(sr.bank_money))
end)

addEvent("doATMOperation"true)
addEventHandler("doATMOperation"resourceRoot, function(kwota)
    -- kwota dodatnia wplata
    -- kwota ujemna wyplata
    if kwota>and kwota>getPlayerMoney(clientthen return end -- komunikat bledu po stronie klienta
    local dbid=getElementData(client,"player:uid")
    if not dbid then return end -- nie powinno sie zdarzyc
    if kwota>0 then
        if getPlayerMoney(client)<kwota then return end
        takePlayerMoney(clientkwota)
        exports["ogrpg-db"]:zapytanie("UPDATE ogrpg_users SET bank_money=bank_money+"..(tonumber(kwota) or 0).." WHERE id="..tonumber(dbid).." LIMIT 1")
        --triggerEvent("broadcastCaptionedEvent"clientgetPlayerName(client).." wp?aca pieni?dze do bankomatu"320true)
        outputChatBox("Wp?aci?es pieni?dze"client255,0,0)
    elseif kwota<0 then
        local sr=exports["ogrpg-db"]:pobierzWyniki("SELECT `bank_money` FROM `ogrpg_users` WHERE id="..tonumber(dbid).." LIMIT 1")
        if not sr or not sr.bank_money then return end -- nie opwinno sie wydarzyc
        sr.bank_money=tonumber(sr.bank_money)
        if (sr.bank_money<math.abs(kwota)) then
            outputChatBox("Nie masz tyle ?rodk?w na koncie!"client255,0,0)
--            triggerClientEvent(client,"onAnnouncement3"root"Nie masz tyle ?rodk?w na koncie!"5)
            return
        end
        outputChatBox("Wyp?aci?e? pieni?dze"client255,0,0)
        exports["ogrpg-db"]:zapytanie("UPDATE ogrpg_users SET bank_money=bank_money-"..math.abs(tonumber(kwota)).." WHERE id="..tonumber(dbid).." LIMIT 1")
        givePlayerMoney(clientmath.abs(kwota))
    end
    

end)

[meta.xml]
Kod:


<?xml version="1.0"?>

-<meta>

<script type="client" src="bankomaty_c.lua"/>

<script type="server" src="bankomaty.lua"/>

</meta>

Prosi?bym o napraw? skryptu , poniewa? szuka?em go ponad 1.5h. Je?li kto? by naprawi? ten skrypt to prosz? o porad? co zmieni? lub wys?a? gotowy skrypt. lol

Ostatnio zmieniony przez Wilq 2020-07-31, 20:19, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-31, 20:20


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wys?a?e? 2 razy ten sam kod, po stronie serwera i klienta. Mo?e przez to nie dzia?a?

Zerknij na b??dy /debugscript 3 i nam je tutaj wklej.
Na przysz?o??: korzystaj z BBCode [lua] oraz [code].

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-31, 20:42


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Podaj stron? clienta, tam jest b??d.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 08:48


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

for i,v in ipairs(bankomaty) do

    v.obiekt=createObject(2942,v[1],v[2],v[3],v[4],v[5],v[6])
    setElementInterior(v.obiekt,v[7] or 0)
    setElementDimension(v.obiekt,v[8] or 0)
    setElementFrozen(v.obiekt,true)
    setObjectBreakable v.obiektfalse )
    
--    v.mapicon=createBlip(v[1],v[2],v[3], 522255,255,255,255, -1000300)
    v.mapicon=createBlip(v[1],v[2],v[3], 5215,255,5,255, -1000150)
    setElementInterior(v.mapicon,v[7] or 0)
    setElementDimension(v.mapicon,v[8] or 0)
    
    v.cs=createColSphere(v[1],v[2],v[3]+11)
    setElementInterior(v.cs,v[7] or 0)
    setElementDimension(v.cs,v[8] or 0)
    v.text=createElement('text')
    setElementData(v.text,"name","Bankomat")
    setElementPosition(v.text,v[1],v[2],v[3])
end


local bw={}
bw.win guiCreateWindow(0.7236,0.3398,0.2314,0.5,"Bankomat",true)
guiWindowSetMovable(bw.win,false)
guiWindowSetSizable(bw.win,false)
bw.lbl1 guiCreateLabel(0.0633,0.0997,0.903,0.1571,"Stan konta:\n0PLN",true,bw.win)
local font0_money guiCreateFont(":ogrpg-gui/fonts/money.ttf"14)
guiSetFont(bw.lbl1font0_money)    
guiLabelSetVerticalAlign(bw.lbl1,"center")
guiLabelSetHorizontalAlign(bw.lbl1,"center",false)
local font1_money guiCreateFont(":ogrpg-gui/droid-sans.ttf"7)

bw.lbl2 guiCreateLabel(0.0759,0.2734,0.8861,0.0695,"Wp?ata &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;",true,bw.win)


bw.edt1 guiCreateEdit(0.0675,0.3385,0.8608,0.0859,true,bw.win)
bw.btn_wplac guiCreateButton(0.0717,0.4427,0.8608,0.0911,"Wp?a?",true,bw.win)

bw.lbl3 guiCreateLabel(0.0759,0.5626,0.8861,0.0695,"Wyp?ata ".."&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;",true,bw.win)
bw.edt2 guiCreateEdit(0.0675,0.6276,0.8608,0.0859,true,bw.win)
bw.btn_wyplac guiCreateButton(0.0717,0.7344,0.8608,0.0911,"Wyp?a?",true,bw.win)

bw.btn_zamknij guiCreateButton(0.0717,0.888,0.8608,0.0859,"Zamknij",true,bw.win)
guiSetFont(bw.winfont1_money)
guiSetFont(bw.lbl2font1_money)
guiSetFont(bw.edt1font1_money)
guiSetFont(bw.btn_wplacfont1_money)
guiSetFont(bw.lbl3font1_money)
guiSetFont(bw.edt2font1_money)
guiSetFont(bw.btn_wyplacfont1_money)
guiSetFont(bw.btn_zamknijfont1_money)


guiSetVisible(bw.winfalse)



addEventHandler("onClientColShapeHit"resourceRoot, function(el,md)
    if not md or el~=localPlayer then return end
--    outputChatBox("Bankomat pokazuje napis: AWARIA.")
--    if getPlayerName(localPlayer)=="Carolynn_Trench" or getPlayerName(localPlayer)=="Bob_Euler" then
        
        
        guiSetVisible(bw.wintrue)
        guiSetEnabled(bw.btn_wyplacfalse)
        guiSetEnabled(bw.btn_wplacfalse)
        guiSetText(bw.lbl1,"Trwa otwieranie konta bankowego...")
        triggerServerEvent("onPlayerRequestATMInfo"resourceRoot)
--showCursor(true,true)
        guiSetInputMode("no_binds_when_editing")
            guiSetText(bw.winstring.format("Bankomat F3-KURSOR (UID:%d)",getElementData(el,"player:uid"))) 
            guiSetText(bw.lbl2"Wp?ata &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;")
            guiSetText(bw.lbl3"Wyp?ata &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;")
            guiSetVisible(bw.btn_wyplactrue)
            guiSetPosition(bw.btn_wplac0.0717,0.4427true)
--    end
end)

local function closeATMWin()
    if guiGetVisible(bw.winthen
        guiSetVisible(bw.winfalse)
--showCursor(false)
    end
end

addEventHandler("onClientGUIClick"bw.btn_zamknijcloseATMWinfalse)
addEventHandler("onClientColShapeLeave"resourceRoot, function(el,md)
    if el~=localPlayer then return end
    closeATMWin()
end)

-- triggerClientEvent(client,"doFillATMInfo"resourceRoottruesr.bank_money)
addEvent("doFillATMInfo"true)
addEventHandler("doFillATMInfo"resourceRoot, function(successbalance)
    if not success then
        guiSetText(bw.lbl1,"Stan Twojego konta:".."\n".. balance.." PLN")   --Musisz byzarejestrowanym graczem aby skorzystaz bankomatu.
        return
    end
    guiSetText(bw.lbl1,"Stan Twojego konta:".."\n".. balance.." PLN")
    setElementData(bw.win"balance"tonumber(balance))
    guiSetText(bw.edt2,100 balance and balance or 100)
    if balance>0 then
        guiSetEnabled(bw.btn_wyplactrue)
    end

    guiSetText(bw.edt1,balance)
    guiSetEnabled(bw.btn_wplactrue)
end)

addEventHandler("onClientPlayerSpawn"localPlayercloseATMWin)


addEventHandler("onClientGUIClick"bw.btn_wplac, function()
    local kwotae=tonumber(guiGetText(bw.edt1))
    if not kwotae then return end
    local kwota=math.floor(kwotae)
    if not kwota or kwota<1 then
--        triggerEvent("onAnnouncement3"root"Nieprawid?owa kwota wp?aty."4)
        outputChatBox("Nieprawid?owa kwota wp?aty!"255,0,0)
        return
    end
    
    if guiGetVisible(bw.btn_wyplacthen --normalna wplata
    
        if kwota>getPlayerMoney() then
            outputChatBox("Nie masz tyle got?wki!"255,0,0)
            return
        end
        
        closeATMWin()
        triggerServerEvent("doATMOperation"resourceRootkwota)
    end

endfalse)

addEventHandler("onClientGUIClick"bw.btn_wyplac, function()
    if not tonumber(guiGetText(bw.edt2)) then return end
    local kwotae=tonumber(guiGetText(bw.edt2))
    if not kwotae then return end
    local kwota=math.floor(kwotae)
    if not kwota or kwota<1 then
--        triggerEvent("onAnnouncement3"root"Nieprawid?owa kwota wyp?aty."4)
        outputChatBox("Nieprawid?owa kwota wp?aty!"255,0,0)
        return
    end
    if getPlayerMoney()+kwota>99999999 then
--        triggerEvent("onAnnouncement3"root"Nie mo?esz mie? tyle got?wki przy sobie."4)
        outputChatBox("Maksymalna ilo?? got?wki kt?r? mo?esz mie? przy sobie to 99999999 PLN"255,0,0)
        return
    end
    closeATMWin()
    triggerServerEvent("doATMOperation"resourceRoot, -kwota)

endfalse)


Komentarz Wilq dodany 2020-08-01, 09:31Używaj BBCode [lua]!
Ostatnio zmieniony przez Wilq 2020-08-01, 09:31, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 09:32


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wklej b??dy /debugscript 3.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 13:45


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

bw.lbl2 = guiCreateLabel(0.0759,0.2734,0.8861,0.0695,"Wp?ata ───────────────────────",true,bw.win)


bw.edt1 = guiCreateEdit(0.0675,0.3385,0.8608,0.0859,true,bw.win)
bw.btn_wplac = guiCreateButton(0.0717,0.4427,0.8608,0.0911,"Wp?a?",true,bw.win)

bw.lbl3 = guiCreateLabel(0.0759,0.5626,0.8861,0.0695,"Wyp?ata ".."───────────────────────",true,bw.win)
bw.edt2 = guiCreateEdit(0.0675,0.6276,0.8608,0.0859,true,bw.win)
bw.btn_wyplac = guiCreateButton(0.0717,0.7344,0.8608,0.0911,"Wyp?a?",true,bw.win)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 13:50


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

To jest kod, kolega prosil o bledy z db3


komenda /debugscript 3

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 13:54


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

Sorka ?e pytam ale t? komend? gdzie mam wpisa? ? Ja nie bardzo czaj? , dopiero zaczynam z LUA.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 14:37


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

To po co od razu si? brac za system bankomatow? udaj sie do poradnik?w naucz sie bynajmniej podstaw i zacznij od czego? ma?ego, nie warto robic serwera bez ?adnych umiej?tno?ci.


Cmd wszystkie wpisujemy w chat albo konsole.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 16:24


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

Wklejam b??dy:
/bankomaty_c.lua:77: Bad argument @ 'guiSentFont'
[Excepted gui-font at argument 2, got boolean]

/bankomaty_c.lua:78: Bad argument @ 'guiSentFont'
[Excepted gui-font at argument 2, got boolean]

/bankomaty_c.lua:79: Bad argument @ 'guiSentFont'
[Excepted gui-font at argument 2, got boolean]

/bankomaty_c.lua:80: Bad argument @ 'guiSentFont'
[Excepted gui-font at argument 2, got boolean]

/bankomaty_c.lua:81: Bad argument @ 'guiSentFont'
[Excepted gui-font at argument 2, got boolean]

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 16:26


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Masz b??d z drugim argumentem funkcji guiSetFont, zobacz czy zdefiniowa?e? pod podan? zmienn? guiCreateFont

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 16:32


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

Co? takiego:

local font0_money = guiCreateFont(":ogrpg-gui/fonts/money.ttf", 14)
guiSetFont(bw.lbl1, font0_money)

local font1_money = guiCreateFont(":ogrpg-gui/droid-sans.ttf", 7)

A potem mam takie co?:

guiSetFont(bw.win, font1_money)
guiSetFont(bw.lbl2, font1_money)
guiSetFont(bw.edt1, font1_money)
guiSetFont(bw.btn_wplac, font1_money)
guiSetFont(bw.lbl3, font1_money)
guiSetFont(bw.edt2, font1_money)
guiSetFont(bw.btn_wyplac, font1_money)
guiSetFont(bw.btn_zamknij, font1_money)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 18:22


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Czy elementy kt?rym ustawiasz fonty, to elementy gui czy dx?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-01, 20:15


kewen6969

Mapper / Modeler 3D






Wiek: 26
Na forum: 2226 dni
Posty: 11
Nick w MP: zct7zct

Piwa: 1

Respekt: 50

EDIT: Og?lnie to naprawi?em sytuacje , ale nadal nie dzia?aj? przyciski "WP?A?" oraz "WYP?A?".

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-02, 21:00


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Pisz?c "nie dzia?aj?", masz na my?li to, ?e klikasz w nie i nic si? nie dzieje (?adnego powiadomienia na czacie tudzie? na ekranie), czy nie mo?esz w nie klikn?? bo s? przygaszone / wy??czone?

Postaw piwo autorowi tego posta
 

 
Tagi: bankomat
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Bankomat Odpowiedz do tematu

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