Szerző Téma: Változók, hozzáadás, elvonás  (Megtekintve 1691 alkalommal)

Változók, hozzáadás, elvonás
« Dátum: 2017. Február 19. - 12:11:11 »
0
Sziasztok! Azt hogy lehet megcsinálni hogy ha hozzáadok a változóhoz 1-et egy gomb megnyomásakor és ha mégegyszer megnyomom de adja hozzá?

Változók, hozzáadás, elvonás
« Válasz #1 Dátum: 2017. Február 19. - 12:30:24 »
+1
Hát ha jól értettem, akkor valami ilyesmi:
 

local szam = 0
-- Ez történik ha lenyomod a gombot:
szam = szam + 1

 
És akkor ez mindig növeli az értéket.

Változók, hozzáadás, elvonás
« Válasz #2 Dátum: 2017. Február 19. - 12:32:42 »
0
Igen, de nekem olyan kéne hogy csak egyszer növeli az értéket!

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Változók, hozzáadás, elvonás
« Válasz #3 Dátum: 2017. Február 19. - 12:39:00 »
0
MTA-ban nemtudom pontosan, hogyan nézz ki maga a kód. De logikailag úgy tudod, ezt megcsinálni, hogy raksz bele egy feltétel vizsgálatot.
 
Csinálsz egy változót pl.\"bool:megnyomta\". és ha a \"megnyomta\" változó értéke hamis, akkor hozzáadja a valamihez azt az 1-et. Majd a \"megnyomta\" változót átrakod igazra. Így ha mégegyszer megnyomja akkor, már igaz lesz a \"megnyomta\" így az \"else\" ágra ugrik, ha pedig nincsen, akkor nemfut tovább.
 
 

Változók, hozzáadás, elvonás
« Válasz #4 Dátum: 2017. Február 19. - 12:40:51 »
+1
Akkor arra megint több módszer van:
 

local szam = 0
local megnyomva = false
-- Lekérdezheted, hogy megnyomta-e már a gombot:
if not megnyomva then
   szam = szam + 1
   megnyomva = true
end
-- Vagy ha mondjuk 0-ról akarod 1-re, akkor így is lehet:
if tonumber(szam) ~= 1 then
   szam = szam + 1
end
-- Vagy ha csak egy bizonyos értékre akarod módosítani, akkor:
szam = 1

 
 
 
Vagy nem tudom, hogy állandó értéket akarsz beállítani, amit relognál mindig visszatöltenél elementdatával, vagy hogy mihez kell.
« Utoljára szerkesztve: 2017. Február 19. - 12:42:03 írta Hasirama »

Változók, hozzáadás, elvonás
« Válasz #5 Dátum: 2017. Február 19. - 12:47:40 »
0
Köszönöm szépen! Sikerült!
Lenne még egy kérdésem. Van négy gombom, és ha az egyikre rákattintok akkor rendereljen egy szöveget, ha a másikra kattolok akkor megint másikat de a régit eltüntesse. Ezt hogy lehetne hogy ne zabáljon sok fps-t?

Változók, hozzáadás, elvonás
« Válasz #6 Dátum: 2017. Február 19. - 12:52:45 »
+1
A dxdraw tudomásom szerint nem zabál semmit se, csak pixeleket színez át.
 
 
 
A legjobb talán az, hogy folyamatosan futtatsz egy rendert, és az alá raksz elágazásokat.
 

local aktivgomb = 0
-- Ha az egyik gombra kattintasz:
aktivgomb = 1
-- Ha másikra
aktivgomb = 2
....
function szovegRender()
if tonumber(aktivgomb) == 1 then
   Egyik gomb dxdraw szövege
elseif tonumber(aktivgomb) == 2 then
   Másik gomb dxdraw szövege
....
end
end
addEventHandler(\"onClientRender\", root, szovegRender)

 
 

Változók, hozzáadás, elvonás
« Válasz #7 Dátum: 2017. Február 19. - 13:20:00 »
0
Köszönöm szépen! Sokat segítettél! 

Változók, hozzáadás, elvonás
« Válasz #8 Dátum: 2017. Február 19. - 16:14:53 »
0
Nos sikerült egy kicsit másképp, de az a gondom hogy csak azt hozza be amire először kattintottam, ha másikra akarok akkor nem csinál semmi! Mit ronthattam el?

Változók, hozzáadás, elvonás
« Válasz #9 Dátum: 2017. Február 19. - 17:34:30 »
0
Mutasd kérlek a kódot. Ezt vakon nem tudom megmondani.

Változók, hozzáadás, elvonás
« Válasz #10 Dátum: 2017. Február 19. - 17:40:07 »
0

local screenW, screenH = guiGetScreenSize()
local font = dxCreateFont( \"font/myriadproregular.ttf\", 11 )
local font1 = dxCreateFont( \"font/OpenSansB.ttf\", 12 )
local font2 = dxCreateFont( \"font/OpenSans.ttf\", 12 )
local monitorSize = {guiGetScreenSize()}
local panelSize = {500, 400}
local panelX, panelY = monitorSize[1]/2-panelSize[1]/2, monitorSize[2]/2-panelSize[2]/2
local mutat = false
local jelenAblak = 0
local gombkatt = 0
local megnyomva = false
function isCursorOnBox(xS,yS,wS,hS)
if(isCursorShowing()) then
   XY = {guiGetScreenSize()}
   local cursorX, cursorY = getCursorPosition()
   cursorX, cursorY = cursorX*XY[1], cursorY*XY[2]
   if(cursorX >= xS and cursorX <= xS+wS and cursorY >= yS and cursorY <= yS+hS) then
      return true
   else
      return false
   end
end   
end
function dobozbaVan(dX, dY, dSZ, dM, eX, eY)
if(eX >= dX and eX <= dX+dSZ and eY >= dY and eY <= dY+dM) then
   return true
else
   return false
end
end
 
 
function rajzol()
local id = getElementData(localPlayer, \"char:id\")
local name = getElementData(localPlayer, \"acc:name\")
local admin = getElementData(localPlayer, \"acc:admin\")
local penz = getElementData(localPlayer, \"char:money\")
local ig_name = getElementData(localPlayer, \"char:name\")
local pp = getElementData(localPlayer, \"char:pp\")
local skin = getElementData(localPlayer, \"char:skin\")
local vehSlot = getElementData(localPlayer, \"char:vehSlot\")
local garageSlot = getElementData(localPlayer, \"char:houseSlot\")
local jatszottperc = getElementData(localPlayer, \"char:playedTime\")
--if show then
--addEventHandler(\"onClientClick\", root, semmisem)
--
--else
--end
 
   --dxDrawText(\"Skin ID:\", panelX+122, panelY+50, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\", true, true, true, true)         
   -----dxDrawText(\"#d8a84e\"..skin, panelX+220, panelY+50, 400, 400, tocolor(255,255,255), 1, font2, \"center\", \"center\", true, true, true, true)         
   --dxDrawText(\"#d8a84e\"..pp..\"#ffffffPP\", panelX+145, panelY, 400, 400, tocolor(255,255,255), 1, font2, \"center\", \"center\", true, true, true, true)         
   --dxDrawText(\"#4286f4\"..penz..\" #ffffff$\", panelX+260, panelY-50, 400, 400, tocolor(255,255,255), 1, font2, \"center\", \"center\",  true, true, true, true)         
   --dxDrawText(\"#4286f4\"..penz..\"#ffffff$\", panelX+260, panelY-50, 400, 400, tocolor(255,255,255), 1, font2, \"center\", \"center\",  true, true, true, true)         
   --dxDrawText(\"Admin:\", panelX+120, panelY+100, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\",  true, true, true, true)         
   ----dxDrawText(\"Autó slotok:\", panelX+120, panelY+100, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\",  true, true, true, true)         
   --dxDrawText(\"Játszott percek:\", panelX+190, panelY+150, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\",  true, true, true, true)         
   --dxDrawText(\"#41f48f\"..jatszottperc..\" #ffffffperc\", panelX+380, panelY+150, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\",  true, true, true, true)         
   
   
   
   dxDrawImage(panelX-170, panelY-77, 24, 24, \"image/info.png\", 0, 0, 0, tocolor(255, 255, 255, 200), true)
   dxDrawImage(panelX+50, panelY-77, 24, 24, \"image/car_garage.png\", 0, 0, 0, tocolor(255, 255, 255, 200), true)
   dxDrawImage(panelX+260, panelY-77, 24, 24, \"image/admin.png\", 0, 0, 0, tocolor(255, 255, 255, 200), true)
   dxDrawImage(panelX+476, panelY-77, 24, 24, \"image/settings.png\", 0, 0, 0, tocolor(255, 255, 255, 200), true)
   --dxDrawImage(panelX-170, panelY-77, 24, 24, \"image/info.png\", 0, 0, 0, tocolor(255, 255, 255, 150), true)
        dxDrawRectangle((screenW - 847) / 2, (screenH - 481) / 2, 847, 481, tocolor(0, 0, 0, 247), false) --bg
        dxDrawLine(297 - 1, 173 - 1, 297 - 1, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(498, 173 - 1, 297 - 1, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(297 - 1, 199, 498, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(498, 199, 498, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(512 - 1, 173 - 1, 512 - 1, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(713, 173 - 1, 512 - 1, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(512 - 1, 199, 713, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(713, 199, 713, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(727 - 1, 173 - 1, 727 - 1, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(928, 173 - 1, 727 - 1, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(727 - 1, 199, 928, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(928, 199, 928, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(943 - 1, 173 - 1, 943 - 1, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(1144, 173 - 1, 943 - 1, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(943 - 1, 199, 1144, 199, tocolor(0, 0, 0, 255), 1, false)
        dxDrawLine(1144, 199, 1144, 173 - 1, tocolor(0, 0, 0, 255), 1, false)
   
      --dxDrawText(\"\", 89, 383, 180, 444, tocolor(255, 255, 255, 255), 1.00, \"default\", \"left\", \"top\", false, false, false, false, false)
      --dxDrawText(\"\", 89, 383, 180, 444, tocolor(255, 255, 255, 255), 1.00, \"default\", \"left\", \"top\", false, false, false, false, false)
      --dxDrawText(\"\", 89, 383, 180, 444, tocolor(255, 255, 255, 255), 1.00, \"default\", \"left\", \"top\", false, false, false, false, false)
   informat = dxDrawRectangle(panelX-173, panelY-77, 201, 26, tocolor(0, 0, 0, 195))
   vagyonos = dxDrawRectangle(panelX+42, panelY-77, 201, 26, tocolor(0, 0, 0, 195), false) --2. gomb
   adminyok = dxDrawRectangle(panelX+257, panelY-77, 201, 26, tocolor(0, 0, 0, 195), false) --3. gomb
   beall = dxDrawRectangle(panelX+473, panelY-77, 201, 26, tocolor(0, 0, 0, 195), false) --4. gomb
   dxDrawImage(panelX-145, panelY-10, 128, 256, \"files/Skinek/\"..getElementModel(localPlayer)..\".jpg\", 0, 0, 0, tocolor(255, 255, 255, 255)) ---<[ Skin kép ]>---
   dxDrawImage(panelX-151, panelY-17, 256, 512, \"files/Skinek/frame.png\", 0, 0, 0, tocolor(0, 0, 0, 255)) ---<[ Skin kép ]>---
if gombkatt == 1 then
   dxDrawText(\"Név:\", panelX+100, panelY-100, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\", true, true, true, true)         
elseif gombkatt == 2 then
   dxDrawText(\"#d8a84e\"..ig_name, panelX+200, panelY-100, 400, 400, tocolor(255,255,255), 1, font2, \"center\", \"center\",  true, true, true, true)         
elseif gombkatt == 3 then
dxDrawText(\"Készpénz:\", panelX+143, panelY-50, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\", true, true, true, true)         
elseif gombkatt == 4 then
dxDrawText(\"PP:\", panelX+88, panelY, 400, 400, tocolor(255,255,255), 1, font1, \"center\", \"center\", true, true, true, true)         
end
      
      
      
if(isCursorOnBox(panelX-173, panelY-77, 201, 26)) then   
dxDrawRectangle(panelX-173, panelY-77, 201, 26, tocolor(60, 114, 201), false)
end
if(isCursorOnBox(panelX+42, panelY-77, 201, 26)) then   
dxDrawRectangle(panelX+42, panelY-77, 201, 26, tocolor(60, 114, 201), false) --2. gomb
end
if(isCursorOnBox(panelX+257, panelY-77, 201, 26)) then   
dxDrawRectangle(panelX+257, panelY-77, 201, 26, tocolor(60, 114, 201), false) --3. gomb
end
if(isCursorOnBox(panelX+473, panelY-77, 201, 26)) then   
dxDrawRectangle(panelX+473, panelY-77, 201, 26, tocolor(60, 114, 201), false) --4. gomb
end
 
end
 
 
 

-------------------------Klikkelések-----------------------------------      
   
function menuClick(gomb,stat,x,y)
if jelenAblak == 1 then
   if megnyomva then
      if gomb == \"left\" and stat == \"down\" then

         if (dobozbaVan(panelX+473, panelY-77, 201, 26, x, y)) then
         gombkatt = gombkatt + 1
         elseif (dobozbaVan(panelX+257, panelY-77, 201, 26, x, y)) then
         gombkatt = gombkatt + 2
         elseif (dobozbaVan(panelX+42, panelY-77, 201, 26, x, y)) then
         gombkatt = gombkatt + 3
         elseif (dobozbaVan(panelX-173, panelY-77, 201, 26, x, y)) then
         gombkatt = gombkatt + 4
         end
      end
   end
end
end
 

   
bindKey(\"home\", \"down\", function()
addEventHandler(\"onClientRender\", root, rajzol)
toggleControl(\"change_camera\",false)
if tonumber(jelenAblak) ~= 1 then
jelenAblak = jelenAblak + 1
end
 
addEventHandler(\"onClientClick\", root, menuClick)
 
end)
 
bindKey(\"backspace\", \"down\", function()
if tonumber(jelenAblak) ~= 0 then
jelenAblak = jelenAblak - 1
end
removeEventHandler(\"onClientRender\", root, rajzol)
toggleControl(\"change_camera\",true)
end)

 
 

Nem elérhető Tarack

  • 177
    • Profil megtekintése
Változók, hozzáadás, elvonás
« Válasz #11 Dátum: 2017. Február 20. - 12:34:01 »
0
A gombkattoknál ne a gombkatt változóhoz adj hozzá, hanem az értéket állítsd be így: Erre javítsd ki a gombkattos részt:
 


if (dobozbaVan(panelX+473, panelY-77, 201, 26, x, y)) then
gombkatt = 1
elseif (dobozbaVan(panelX+257, panelY-77, 201, 26, x, y)) then
gombkatt = 2
elseif (dobozbaVan(panelX+42, panelY-77, 201, 26, x, y)) then
gombkatt = 3
elseif (dobozbaVan(panelX-173, panelY-77, 201, 26, x, y)) then
gombkatt = 4
end
« Utoljára szerkesztve: 2017. Február 20. - 12:34:30 írta Tarack »

Változók, hozzáadás, elvonás
« Válasz #12 Dátum: 2017. Február 20. - 19:05:44 »
0
Igen szépen köszönöm szépen! Sikerült! :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal