Jump to content

Recommended Posts

Posted

Witam!

Mam problemik. Chiałem na dole ekranu zrobić sobię belkę w dx...niestety niedziałała. Zrobiłem sobie obraz belki i chciałem to zrobić jako image tak jak jest w gui i na tym zrobic labelki ale też niedziała.

Mój skrypt na belke w gui wygląda tak:

czcionka = guiCreateFont("freshman.ttf", 12) 
  
local gracz = getPlayerName(getLocalPlayer()) 
  
addEventHandler("onClientRender",resourceRoot, 
    function() 
         
        Belka = {} 
        Nick = {} 
        Score = {} 
        Pieniadze = {} 
         
        Belka[1] = guiCreateStaticImage(0,0.9385,0.9992,0.0605,"belka_dolna.png",false) 
        Nick[1] = guiCreateLabel(124,12,358,50,"Nick: "..tostring(gracz)"",false,Belka[1]) 
        guiSetFont(Nick[1],"czcionka") 
        Score[1] = guiCreateLabel(472,12,358,50,"Score: "..getElementData("Score")"",false,Belka[1]) 
        guiSetFont(Score[1],"czcionka") 
        Pieniadze[1] = guiCreateLabel(802,12,477,50,"Pieniadze: "..getPlayerMoney()" $",false,Belka[1]) 
        guiSetFont(Pieniadze[1],"czionka") 
end) 

Meta:

    "MACIEKW89" version="1.0" type="script" name="Belka" description="Belka na dole ekranu....takie info o graczu..." /> 
  
    "belka_dolna.png" /> 
    "freshman.ttf" type="client" /> 
    

Te pliki mam w folderze "gracz" (belka_dolna.png , freshman.ttf , gracz_info_c.lua , meta.xml).

Skrypt na dx usunęłem niestety. Z powyższym skryptem proszę o pomoc. Zero błedów w debugu a belka się niewyświetla. Z góry thx.

Posted

Nie zawiesza Ci ten kod MTA? To chyba jakiś dobry garbage collector + zastępowanie gui jeżeli już jest jakieś pod daną zmienną

Zdefniniuj "nie działa". debugscript sprawdzałeś?

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

@Mefisto_PL ...używa sie też do zwykłego gui..

@dzek(varez):

debugscript sprawdzałeś?
Zero błedów w debugu a belka się niewyświetla.

MTA mi się niezawiesza.

Pomożecie?

Posted

Edit:

Do polskiej sekcji zagląda ok 5-10 użytkowników dziennie i raczej jest dla ludzi, którzy nie radzą sobie z angielskim

@MACIEK

Nie używa się. W tym momencie CO KAŻDĄ KLATKĘ GRY tworzysz kilka labeli i obrazków. W sekundę tworzysz ok. 30x4 = 120 elementów!!!

Wywal to.

A obrazek tworzysz o szerokości mniej niż jednego piksela (wysokość tak samo) - sprawdź wiki i parametr relative. W dodatku masz literówki w skrypcie, w guiSetFont podajesz parametr jako string.

I nie kojarzę już jak to działa, ale jeżeli MTA usuwa element GUI po utworzeniu takiego samego do tej samej zmiennej - to elementu GUI może nie być widać dlatego, że utworzenie GUI na bibliotece do GUI trwa parę klatek - skoro co każdą klatkę tworzysz nowy to po prostu nie zdąży się pojawić.

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

Napisałeś w trakcie jak ja kończyłem swoją wypowiedź to wysłałem

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

Hehe...temat można zamknąć, jeżeli zamykacie.

EDIT.

Mam nowy kod z pomocą ang i Creative dalej niedziała już błedów w debugu niema. Błagam pomóżcie.

local czcionka = guiCreateFont("freshman.ttf", 12) 
local player1= getLocalPlayer() 
Belka = {} 
Nick = {} 
Score = {} 
Pieniadze = {} 
  
  
    Belka[1] = guiCreateStaticImage(0,0.9385,0.9992,0.0605,"belka_dolna.png",false) 
    Nick[1] = guiCreateLabel(124,12,358,50,"",false,Belka[1]) 
    guiSetFont( Nick[1],czcionka ) 
    Score[1] = guiCreateLabel(472,12,358,50,"Score: ",false,Belka[1]) 
    guiSetFont( Score[1],czcionka ) 
    Pieniadze[1] = guiCreateLabel(802,12,477,50,"Pieniadze: $",false,Belka[1]) 
    guiSetFont( Pieniadze[1],czcionka ) 
  
  
  
function set1() 
    local gracz = getPlayerName ( player1) 
    local score = getElementData ( localPlayer,"Score" ) 
    local kasa = getPlayerMoney ( player1) 
    guiSetText ( Nick[1],"Nick: "..gracz.."") 
    guiSetText ( Score[1],"Score: "..score.."" ) 
    guiSetText ( Pieniadze[1],"Pieniadze: "..kasa.." $") 
 end 
 addEventHandler ( "onClientRender", getRootElement(), set1 ) 

Posted

Będę się kłócił bo tak mi podał Castillo....

A dokładniej tak:

addEventHandler ( "onClientResourceStart", resourceRoot, 
    function ( ) 
        font = guiCreateFont ( "freshman.ttf", 12 ) 
        Board = {} 
        Nick = {} 
        Score = {} 
        Money = {} 
  
        Board[1] = guiCreateStaticImage(0,0.9385,0.9992,0.0605,"belka_dolna.png",false) 
        Nick[1] = guiCreateLabel(124,12,358,50,"",false,Board[1]) 
        guiSetFont(Nick[1],font) 
        Score[1] = guiCreateLabel(472,12,358,50,"",false,Board[1]) 
        guiSetFont(Score[1],font) 
        Money[1] = guiCreateLabel(802,12,477,50,"",false,Board[1]) 
        guiSetFont(Money[1],font) 
  
        addEventHandler ( "onClientRender", root, render ) 
    end 
) 
  
  
function render ( ) 
    guiSetText ( Nick [ 1 ], "Nick: ".. getPlayerName ( localPlayer ) ) 
    guiSetText ( Score [ 1 ], "Score: ".. tostring ( getElementData ( localPlayer, "Score" ) ) ) 
    guiSetText ( Money [ 1 ], "Money: $".. getPlayerMoney ( ) ) 
end 

Dalej uważasz, że się rendera nieużywa w GUI? ...

Ja mam głęboko w 4 literach co wy mi tu napiszecie... chcę tylko pomocy z tą belką. A żeby sprawdzał i co chwile ustawiał nick score i kase trzeba rendera.

Posted

Pierwszy raz się z czymś takim spotykam, ale jak tam wolisz, tylko wiedz, że będziesz miał problemy z lagami jak będzie więcej graczy, a co do stałego aktualizowania danych powinieneś prędzej użyć dxDrawText, ponieważ w tej sprawie jest wydatniejsze ;) ( i jak tego użyjesz, będzie poprawnie funkcjonowało z onClientRender )

Posted

AKTUALIZACJA tekstu w GUI co każdą klatkę MA SENS.

TWORZENIE NOWEGO GUI z każdą nową klatką jest pozbawione jakiegokolwiek sensu.

Jeżeli nie używasz funkcji dx i masz zwykłe GUI to ja bym wrzucił to w setTimer z opóźnieniem 50ms - różnica w zasadzie niezauważalna, a ok 2-3x mniej operacji do liczenia (zupełnie nieskomplikowane operacje, ale gdy się serwer rozrasta - każda optymalizacja może być na wagę złota)

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

Dobra dzięki Mefisto_PL . Zrobiłem w DX z pomocą Castillo belka się pojawia już zrobiłem żeby ustawiało nick bez color code i pieniądze ...niestety niedziała score cały czas jest 0.

addEventHandler ( "onClientRender", root, 
    function ( ) 
        local it = getPlayerName ( localPlayer ):gsub ( "#%x%x%x%x%x%x", "" ) 
        local score = tostring ( tonumber ( getElementData ( localplayer, "Score" ) ) or 0 ) 
        local money = tostring ( getPlayerMoney ( ) ) 
        dxDrawRectangle(0, 725, 1024, 43, tocolor(0, 155, 255, 160), true) 
        dxDrawText("Nick:"..it, 90, 730, 362, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Nick:"..it, 90, 728, 362, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Nick:"..it, 88, 730, 360, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Nick:"..it, 88, 728, 360, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Nick:"..it, 89, 729, 361, 758, tocolor(255, 255, 255, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Score:"..score, 367, 730, 639, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Score:"..score, 367, 728, 639, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Score:"..score, 365, 730, 637, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Score:"..score, 365, 728, 637, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Score:"..score, 366, 729, 638, 758, tocolor(255, 255, 255, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Money:"..money.."$", 643, 730, 915, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Money:"..money.."$", 643, 728, 915, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Money:"..money.."$", 641, 730, 913, 759, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Money:"..money.."$", 641, 728, 913, 757, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
        dxDrawText("Money:"..money.."$", 642, 729, 914, 758, tocolor(255, 255, 255, 255), 1.00, "pricedown", "left", "bottom", false, false, true, false, false) 
    end 
) 

Castillo narazie nieodpisuje..pewnie niema czasu...pomożecie? Przepraszam za moje zachowanie...charakter po tatusiu :D

Posted
local score = getElementData ( localPlayer, "Score" ) 
local money = getPlayerMoney ( localPlayer ) 
  

W tych zmiennych masz już zdefiniowane liczby, więc po co chcesz liczby na liczby przerabiać?

Posted

Jak to zmieniłem to została belka i Nick, score i kasa zniknęły.

Potrzebuje też zrobić żeby każdy widział belkę tak jak ja...pomożesz?

Posted

To po stronie serwera może dlatego niedziala w belce?

function Rejestruj_Server(gracz,username, password) 
    local account = getAccount(username, password) 
    if (account ~= false) then 
    outputChatBox("Takie konto juz istnieje.",gracz,255,0,0) 
    else 
            account = addAccount(username, password) 
            setElementData(gracz,"konto_login",username) 
            givePlayerMoney( gracz, 5000 ) 
            setAccountData(account,"cash",5000) 
            setAccountData(account,"score",1) 
            setElementData(gracz,"Score",1) 
            outputChatBox("Pomyślnie zarejestrowano konto",gracz,255,20,255) 
            outputChatBox("Witaj!Jesteś nowy?Przeczytaj informacje pod klawiszem 'F9'",gracz,true,255,20,255) 
  
    end 
end 
addEvent("submitRegister",true) 
addEventHandler("submitRegister",getRootElement(),Rejestruj_Server) 

Reszty niedam bo się boję :D

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...