Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - antal1208

Oldalak: [1]
1
Archívum / outputChatBox WTF?!
« Dátum: 2015. december 28. - 20:17:43 »
Sziasztok! Nagyon sokszor van olyan, hogy a chatbox-ban többször is kiír valamit akár egymás után 10-szer azt amit egyébként csak kétszer kellene neki. Próbálkoztam a setTimer-el hogy csak egyszer fusson le de nem használt! :( Segítsetek! :(
 
local player = getLocalPlayer()
local tp_Time = 0;
function open_teleport_gui()
if not isPedInVehicle ( player ) then
if tp_Time == 0 then
unbindKey ( \"F1\", \"down\", open_teleport_gui)
   function teleport_time()
      tp_Time = tp_Time + 1
      if tp_Time == 60 then
         tp_Time = 0
      end
   end
   setTimer(teleport_time,1000,60)
 
   screen_x, screen_y = guiGetScreenSize()
   gui_x, gui_y = 1024,576
   x = (screen_x/2) - (gui_x/2)
   y = (screen_y/2) - (gui_y/2)
   ----GUI----
   showCursor(true)
   guiMap = guiCreateStaticImage(x, y, 1024, 576, \"images/gui_map.png\",false)
   guiSetVisible(guiMap, true)
   ----GUI----
   ----GOMBOK----
   btn_nagy_antenna = guiCreateLabel(49,131,240,151, \" \",false,guiMap)
   btn_parkolo = guiCreateLabel(393,131,240,151, \" \",false,guiMap)
   btn_sf_alatti = guiCreateLabel(738,131,240,151, \" \",false,guiMap)
   exit_button = guiCreateLabel(982,12,28,28,\" \",false,guiMap)
   ----GOMBOK----
   addEventHandler(\"onClientGUIClick\",btn_nagy_antenna,tp_nagy_antenna,false)
   addEventHandler(\"onClientGUIClick\",btn_parkolo,tp_parkolo,false)
   addEventHandler(\"onClientGUIClick\",btn_sf_alatti,tp_sf_alatti,false)
   addEventHandler(\"onClientGUIClick\",exit_button,hideguiMap,false)
else
      outputChatBox (\"#FF0000 [sERVER] #00FFFF Csak egyszer teleportálhatsz percenként!!! #FF0000Hátralévő idő:\"..(60-tp_Time)..\"mp\",255,255,255,true)
end
else
   outputChatBox (\"#FF0000 [sERVER] #00FFFF Teleportálás előtt #FF0000szálj ki#00FFFF a járművedből!\",255,255,255,true)
end
end
 
--addCommandHandler(\"teleport\",open_teleport_gui)
function hideguiMap()
showCursor(false)
function slow_alpha()
alpha = guiGetAlpha(guiMap)
guiSetAlpha(guiMap, alpha - 0.05)
if(alpha==0) then
   guiSetVisible(guiMap,false)
   bindKey ( \"F1\", \"down\", open_teleport_gui)
end
end
setTimer(slow_alpha,50,21)
 
end
 
function tp_nagy_antenna()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random(-346.6,-339.7) ,math.random(1535.5,1549), 75.6 )
hideguiMap()
end
function tp_parkolo()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random (2349.5,2356.1) ,math.random (1503.8,1512.5), 43 )
hideguiMap()
end
function tp_sf_alatti()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random(-2524.5,-2518) ,-622, 132 )
hideguiMap()
end
 
function bind_f1()
function cursor()
if isCursorShowing ( ) then
showCursor(false)
else
showCursor(true)
end
end
bindKey(\"m\", \"down\", cursor)
bindKey ( \"F1\", \"down\", open_teleport_gui)
end
addEventHandler(\"onClientResourceStart\",getRootElement(),bind_f1)

2
Archívum / Client marker!
« Dátum: 2015. december 27. - 22:04:17 »
Sziasztok! Van egy client oldali script, ami létrehoz egy markert a resource indulásakor! Abba a markerba ha belemegyek nekem létre kell hozni valahol máshol egy markert. De ha valaki más megy bele az első markárba én is látom az ő másodjára létrehozott markerét... ez miért van? O.o
 
function resource_start()
start_marker = createMarker(2297.2,1512.5,42.1,\"corona\",8,0,230,0,50)
function make_end_marker()
end_marker = createMarker(2308.4,1381.4,10,\"cylinder\",8,0,230,0,50)
end
addEventHandler(\"onClientMarkerHit\",start_marker,make_end_marker)
end
addEventHandler(\"onClientResourceStart\",getRootElement(),resource_start)

3
Archívum / destroyElement error
« Dátum: 2015. december 27. - 18:49:33 »
Sziasztok! Csináltam egy scriptet ami lerak egy objectet rá egy markert és ha valaki bele megy ad neki pénzt, de a function destroy résszel valami gond van, mert nem törli ki az objectet 15 másodperc után. :(
 
      if box_pos == 13 then
   x = 2259.3
   y = 1459
   z =   14.2
   basketball_13 = createObject ( 2114, x, y, z,  0, 0, 0, false )
   basketball_marker_13 = createMarker ( x, y, z,\"corona\",5,255,255,255,50)
   setObjectScale ( basketball_13, 3)
   function destroy()
      destroyElement ( basketball_13 )
      destroyElement ( basketball_marker_13 )
   end
   setTimer(destroy,15000,1)
   function onMarkerHit(source,moneyvalue)
      plus_money = getElementData(source,\"driftmoney\")
      old_money = getPlayerMoney(source)
      new_money = old_money + (plus_money/2)
      --outputChatBox(iDriftScore)
      setPlayerMoney(source,tonumber(new_money))
      if plus_money >= 30 then
         triggerClientEvent ( getRootElement(), \"play\", getRootElement())
         destroyElement ( basketball_13 )
         destroyElement ( basketball_marker_13 )
      end
   end
   addEventHandler(\"onMarkerHit\",basketball_marker_13,onMarkerHit)
end

4
Archívum / dxDrawText eltünik!
« Dátum: 2015. december 27. - 15:21:51 »
Sziasztok! Ez egy client oldali script amivel szeretném \"kiíratni\" a pénzt. De megjelenik a pénz és pár másodperc múlva pedig eltűnik :(
 
function hud_components()
local myfont = dxCreateFont (\"rapier.ttf\",40,_,\"cleartype_natural\")
local player = getLocalPlayer()
local money = getPlayerMoney(player)
local x,y = guiGetScreenSize()
--dxDrawText ( money..\" $\", x/1.3, y/15,0,0, tocolor( 0, 0, 0, 255 ),0.81, myfont )
dxDrawText ( money..\" $\", x/1.3, y/9,0,0, tocolor( 255, 215,0, 255 ),0.8, myfont )
end
addEventHandler ( \"onClientRender\", root, hud_components)

5
Archívum / getElementData false
« Dátum: 2015. december 26. - 17:05:24 »
Sziasztok! Nagyon alap kocsi rendszert csinálok set, getElementData-val. El is menti amit el kell mentenie be is tölti, de ki és belépéskor amikor beírom hogy /smc a getElementData false-t ad vissza :(
Client oldal:
 

function buy_bravura()
carId = 401
triggerServerEvent (\"carBuy\", getLocalPlayer(),carId)
end

 
 
Szerver:
 
function spawnMyCar(source,carId)
local carId = getElementData(source,\"ownCarId\")
outputChatBox(tostring(carId))
local player_x,player_y,player_z = getElementPosition(source)
createVehicle(carId,player_x+5,player_y,player_z)
end
addCommandHandler(\"smc\",spawnMyCar,false)
function carBuy(carId)
outputChatBox(\"Megvéve!\",source)
outputChatBox(carId)
setElementData(source,\"ownCarId\", carId)
carId = getElementData(source,\"ownCarId\")
outputChatBox(\"CARID:\"..carId)
end
addEvent(\"carBuy\",true)
addEventHandler( \"carBuy\", getRootElement(), carBuy)

6
Archívum / Guminyom.
« Dátum: 2015. december 24. - 13:03:26 »
Sziasztok! Meg lehet azt valahogy oldani, hogy a guminyom ne tűnjön el? Mondjuk szerver újraindításig vagy valami? Már drift szerón szerintem nem lenne baj ha ott maradna a guminyom, elég rossz, hogy pár másodperc múlva eltűnik.
Kellemes Ünnepeket, és Boldog Karácsonyt mindenkinek! :)

7
Archívum / MySql help!
« Dátum: 2015. december 23. - 17:37:50 »
Hali srácok! Lenne pár kérdésem, oda értem, hogy most már el kezdett érdekelni a MySql mert ez tűnik a legjobb adat mentési opciónak! A mysql az tulajdonképp olyan mint az Access, jól gondolom? Azzal már volt dolgom érettségin, de gondolom a MySql az kicsit más. Az első kérdés, hogy ide mindent lementhetek-e amit szeretnék? Van-e olyan ami felesleges oda menteni? Van egy olyan amit nem szabad oda menteni? Második. Keresgéltem a neten, és nem igazán találtam róla anyagot, videóban egyáltalán mivel mindenki letöltött egy modot azt összekapcsolta MySql-el és konyec filma. A Wiki-s MySql részleg hát az valahogy nem jött át. Sikerült telepíteni a MySql-t a szerverre, van XAMPP-om de azt már nem igazán találtam meg, hogy végülis a local hostname, local username, local password, local database-t tartalmazó lua scriptet azt most szerver vagy client oldaliként kell menteni? Odáig jutottam, hogy handler = mysql_connect ( host, username, password, database) és akkor innen hogyan tovább? Mondjuk ha van egy local value = 156 és már van MySql-en egy MTA táblám hogy tudom beleírtani/menteni ezt a változót? És hogyan tudom ezt legközelebb előcsalogatni? Ha van rá mód örülnék ha saját szavaitokkal magyaráznátok el és nem linkelgetnétek. Ja és egy nagyon egyszerű példa scriptet is szeretnék ha lehet!! :) Köszönöm! :)

8
Pluginok és Programok / C játék!
« Dátum: 2015. december 22. - 21:20:22 »
Sziasztok! Ezt a programot majd 2 éve csináltam amikor a programozást kezdtem, az első nyelv amit elkezdtem tanulni a C volt. Most ráleltem egy programra 2014.01-hóban volt rajta az utolsó módosítás! :) C-be íródott az egész! És jelztem, méri az időt is, és tudni illik a C az nem egy multitaskingos nyelv! :D Van egy ennél érdekesebb is, ami kitalálja, hogy mire gondoltál, de azt most nem találom, de ha valakit érdekel jobban áttúrom a dolgokat és felrakom! :)
http://ddl3.data.hu/get/0/9346321/jatek.rar  Nincs benne keylogger meg ilyesmi :D

9
Archívum / gui WTF?!
« Dátum: 2015. december 22. - 19:56:43 »
Sziasztok! Épp egy scriptet írok ami F1-re előhoz egy ablakot amin 3 kép van(3 pálya). Amelyikre kattint a player oda teleportálja. Amikor rákattint szépen lassan elhalványul az ablak, de ha mégegyszer megnyomom az F1-et megint előhozza és bebugol, nem lehet becsukni etc.. erre kitaláltam, hogy amikor előhozza az ablakot UnBindelem az F1-et aztán ha teljesen eltünt az ablak akkor újra be kellene, hogy bindelje. De valamiért nem működik. Elteleportál, az ablak eltünik, de nem bindeli vissza az F1-et és amikor előhozom a kurzort és simán odakattintok a pálya helyére újra odateleportál, ekkor már visszabindeli, de csomoszór kiírja egyszerre h nem teleportálhatsz még X ideig. Szóval valahol nagyon elronthattam. Ha hiba szerintem a function hideguiMap()-ben keresendő! HELP!! :wall:
EDIT: Már csak az a hiba áll fent, hogy az ablak eltűnése utána, valamelyik pályára vagy is akkor már csak a hekyére kattintok ugyan úgy elteleportál :SS
 
local player = getLocalPlayer()
local tp_Time = 0;
function open_teleport_gui()
if tp_Time == 0 then
--unbindKey ( \"F1\", \"down\", open_teleport_gui)
function teleport_time()
   tp_Time = tp_Time + 1
   if tp_Time == 60 then
      tp_Time = 0
   end
end
setTimer(teleport_time,1000,60)
screen_x, screen_y = guiGetScreenSize()
gui_x, gui_y = 1280,720
x = (screen_x/2) - (gui_x/2)
y = (screen_y/2) - (gui_y/2)
----GUI----
showCursor(true)
guiMap = guiCreateStaticImage(x, y, 1280, 720, \"images/gui_map.png\",false)
guiSetVisible(guiMap, true)
----GUI----
----GOMBOK----
btn_nagy_antenna = guiCreateLabel(66,168,289,180, \" \",false,guiMap)
btn_parkolo = guiCreateLabel(496,168,289,180, \" \",false,guiMap)
btn_sf_alatti = guiCreateLabel(926,168,289,180, \" \",false,guiMap)
exit_button = guiCreateLabel(1228,20,30,30,\" \",false,guiMap)
----GOMBOK----
addEventHandler(\"onClientGUIClick\",btn_nagy_antenna,tp_nagy_antenna,false)
addEventHandler(\"onClientGUIClick\",btn_parkolo,tp_parkolo,false)
addEventHandler(\"onClientGUIClick\",btn_sf_alatti,tp_sf_alatti,false)
addEventHandler(\"onClientGUIClick\",exit_button,hideguiMap,false)
else
outputChatBox (\"#FF0000 [sERVER] #00FFFF Csak egyszer teleportálhatsz percenként!!! #FF0000Hátralévő idő:\"..(60-tp_Time),255,255,255,true)
end
end
addCommandHandler(\"teleport\",open_teleport_gui)
function hideguiMap()
showCursor(false)
function slow_alpha()
alpha = guiGetAlpha(guiMap)
guiSetAlpha(guiMap, alpha - 0.05)
end
setTimer(slow_alpha,50,20)
if (alpha==0) then
   guiSetVisible(guiMap,false)
end   
end
 
function tp_nagy_antenna()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random(-346.6,-339.7) ,math.random(1535.5,1549), 75.6 )
hideguiMap()
end
function tp_parkolo()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random (2349.5,2356.1) ,math.random (1503.8,1512.5), 43 )
hideguiMap()
end
function tp_sf_alatti()
--outputChatBox(\"Jó helyen van!\")
setElementPosition ( player, math.random(-2524.5,-2518) ,-622, 132 )
hideguiMap()
end
 
function bind_f1()
function cursor()
showCursor(true)
end
bindKey(\"m\", \"down\", cursor)
bindKey ( \"F1\", \"down\", open_teleport_gui)
end
addEventHandler(\"onClientResourceStart\",getRootElement(),bind_f1)

10
Archívum / Saját kocsi system!
« Dátum: 2015. december 21. - 19:11:29 »
Sziasztok! Ismét én! :D Mivel most tanulgatom azt MTA scriptelést sok kérdést írok ki ide és még fogok is! Mint ahogy eddig is, most sem azt fogom kérni, hogy írjátok meg helyettem, hanem, hogy indítsatok el egy úton! A következő amit szeretnék, a saját kocsi system. Fogalmam sincs, hogy kezdjek hozzá. Azt tudom, hogy szeretnék egy panelt, amin lesz kocsikról kép és rákattintáskor megveszi, levonja a pénzt, le spawnolja mellénk. És ez a kocsi mindig megmaradt, úgy mint egy Rp szerón! Tehát azt is szeretném, hogy a tuning megmaradjon rajta stb... Kérlek segítsetek, elméleti síkon indítsatok el aztán, ha elkezdtem és közbe van kérdés majd írok! :D Köszönöm! :D

11
Archívum / Drift Score elmentése, betöltése!
« Dátum: 2015. december 20. - 20:10:54 »
Sziasztok! Kezdem érteni ezt a setElementData meg getElementData dolgok de mégis kellene egy kis segítség:  :unsure:
Client oldali script. iMaxScore-t elmentem driftscore néven setElementData-val amikor véget ér a drift. Ezt le is ellenőrzöm, elmenti. Ezt amikor kilép a player server oldalon lekérem. De aztán mikor belép a játékos hogy töltsem ezt neki be az iMaxScore-ba hogy lássa mennyivel lépett ki előzőleg?! :(
Client:
 
local iDriftScore = 0;
local iMaxScore = 0;
local iScore = 0;
local iMyCombo = 1;
local fCustomFontScale = 2;
local bJustFinished = false;
local player = getLocalPlayer( )
 
addEventHandler( \"onClientMapStarting\", root,
function( tMapInfo )
iMaxScore = 0;
iDriftScore = 0;
iMyCombo = 0;
txtBestScore: text( \"Best score:\" );
for i, v in pairs( tMapInfo ) do
   outputDebugString( tostring( i )  .. \" :  \" .. tostring( v ) );
end
end
);
 
addEventHandler( \"onClientResourceStart\", resourceRoot,
function(  )
dxSetTestMode( \"none\" );
 
txtCombo = dxText: create( \"x2\", screenSize[ 1 ] - 100, screenSize[ 2 ] / 2 , false, \"default-bold\", 5 );
txtCombo: type( \"shadow\", 4 );
txtCombo: visible( false );
txtComboTitle = dxText: create( \"COMBO\", screenSize[ 1 ] * 0.9, screenSize[ 2 ] / 2 - 60, false, \"default-bold\", 3 );
txtComboTitle: type( \"shadow\", 3 );
txtComboTitle: visible( false );
txtScoreTitle = dxText: create( \"DRIFT\", screenSize[ 1 ] / 2, screenSize[ 2 ] / 5.6, false, \"default-bold\", 3 );
txtScoreTitle: type( \"shadow\", 3 );
txtScoreTitle: visible( false );
txtScore = dxText: create( \"\", screenSize[ 1 ] / 2, screenSize[ 2 ] / 4, false, \"default-bold\", 3 );
txtScore: visible( false );
txtScore: type( \"shadow\", 3 );
txtBestScore = dxText: create( \"Best score: 0\", screenSize[ 1 ] * 0.8, 20, false, \"arial\", 2 );
txtBestScore: type( \"shadow\", 2 );
ftDigitalism = dxCreateFont( \"digitalism.ttf\", 20, true );
if ftDigitalism then
   txtCombo: font( ftDigitalism );
   txtCombo: scale( fCustomFontScale );
   txtComboTitle: font( ftDigitalism );
   txtComboTitle: scale( fCustomFontScale*.7 );
   txtScore: font( ftDigitalism );
   txtScore: scale( fCustomFontScale );
   txtScoreTitle: font( ftDigitalism );
   txtScoreTitle: scale( fCustomFontScale );
   txtBestScore: font( ftDigitalism );
   txtBestScore: scale( fCustomFontScale/2 );
end
end
)
addEventHandler( \"onClientVehicleStartDrift\", root,
function( )
addEventHandler( \"onClientVehicleDrift\", root, drift );
if not bJustFinished then
   txtScore: text( \"0\" );
   txtScore: visible( true );
   txtScoreTitle: visible( true );
   local r,g,b,a = txtScore: color( );
   txtScore: color( r, g, b, 255 );
end
end
)
addEventHandler( \"onClientVehicleEndDrift\", root,
function( )
removeEventHandler( \"onClientVehicleDrift\", root, drift );
iLastScore = iDriftScore * iMyCombo;
 
txtCombo: visible( false );
txtComboTitle: visible( false );
txtScore: text( tostring( iLastScore ) );
Animation.createAndPlay( txtScore,
   Animation.presets.dxTextMove(
      screenSize[ 1 ] / 2,
      screenSize[ 2 ] / 4,
      100, false,
      screenSize[ 1 ] * .3,
      screenSize[ 2 ] / 4
      )
);
--Animation.createAndPlay( txtScore, Animation.presets.dxTextFadeIn( 100 ) );
Animation.createAndPlay( txtScoreTitle,
   Animation.presets.dxTextMove(
      screenSize[ 1 ] / 2,
      screenSize[ 2 ] / 5.6,
      100, false,
      screenSize[ 1 ] * .7,
      screenSize[ 2 ] / 5.6
      )
);
--Animation.createAndPlay( txtScoreTitle, Animation.presets.dxTextFadeIn( 300 ) );
 
if iLastScore > iMaxScore then
   txtBestScore: text( \"Best Score: \" .. tostring( iLastScore ) );
   iMaxScore = iLastScore;
 
end
bJustFinished = true;
setTimer( changeFinishedState, 2000, 1 );
setTimer( centreScore, 100, 1 );
iDriftScore = 0;
iMyCombo = 1;
setElementData(player, \"driftscore\", iMaxScore)
lol = getElementData(player, \"driftscore\")
outputChatBox(lol)
 
end
)
addEventHandler( \"onClientVehicleDriftCombo\", root,
function( iCombo )
txtCombo: text( \"x\"..tostring( iCombo ) );
txtCombo: visible( true );
txtComboTitle: visible( true );
playSoundFrontEnd( 43 );
Animation.createAndPlay( txtCombo, Animation.presets.dxTextMoveResize(
   screenSize[ 1 ] * 0.9,
   screenSize[ 2 ] / 2 - 10,
   ftDigitalism and fCustomFontScale*.75 or 5,
   300, false, -- time, loop,
   screenSize[ 1 ] * 0.9,
   screenSize[ 2 ] / 2 - 10,
   ftDigitalism and fCustomFontScale*3 or 15 ) );
Animation.createAndPlay( txtCombo, Animation.presets.dxTextFadeIn( 300 ) );
iMyCombo = iCombo;
end
);
 
function drift( fAngle, fSpeed, sSide, iDriftTime )
local iNewScore = math.ceil( iDriftScore + (fAngle/25) * (fSpeed/15) );
if not bJustFinished then
txtScore: text( tostring( iNewScore ) );
txtScore: visible( true );
txtScoreTitle: visible( true );
local r,g,b = txtScore: color( );
txtScore: color( r, g, b, 255 );
end
iDriftScore = iNewScore;
end
function centreScore( )
txtScore: position( screenSize[ 1 ] / 2, screenSize[ 2 ] / 4, false )
txtScoreTitle: position( screenSize[ 1 ] / 2, screenSize[ 2 ] / 5.6, false );
end
function changeFinishedState( )
bJustFinished = false;
if iDriftScore == 0 then
txtScore: visible( false );
txtScoreTitle: visible( false );
else
txtScore: text( tostring( iDriftScore ) );
end
end
function iMaxScore()
iMaxScore = getElementData(player, \"driftscore\")
end
addEventHandler(\"onClientResourceStart\",root,iMaxScore)
 

 
Server:
 

local iMaxScore = getElementData(source, \"driftscore\")
 
end
addEventHandler(\"onPlayerQuit\",myscore)]

12
Archívum / setElementData CLIENT SIDE!
« Dátum: 2015. december 18. - 17:47:55 »
Miért nem működik? Client oldali teszt függvényem gyakorlásnak a setElementData, és getElementDatához, de valamiért nem menti el a pénzt/nem töltibe.
local player = getLocalPlayer( )
local penz = 1;
function addmoney()
penz=penz+10;
outputChatBox(\"Penzed novelve, erteke:\"..penz..\"\",source)
end
addCommandHandler(\"addmoney\",addmoney)
function mymoney()
outputChatBox(\"A penzed:\"..penz..\"\")
end
addCommandHandler(\"mymoney\",mymoney)
 
function onPlayerQuit()
setElementData(player,\"MONEY\",penz)
end
addEventHandler(\"onClientPlayerQuit\",getRootElement(),onPlayerQuit)
function onPlayerLogin()
local penz = getElementData(player, \"MONEY\")
end
addEventHandler(\"onClientPlayerSpawn\",getRootElement(),onPlayerLogin)

13
Archívum / Teleport Problem!
« Dátum: 2015. december 16. - 21:18:43 »
Sziasztok! Valaki kérem magyarázza el ez így ebben a formában miért nem jó márt már kihullik a hajam és, hogy a function paramétereihez mikor mit kell írni :S Meg ,hogy az addEventHandler második paramétere mire jó. Köszönöm! :)
 
local marker_1 = createMarker ( 3453.8, 1989.85, 50,\"cylinder\",1)
local marker_2 = createMarker ( 3454.5, 2000, 50,\"cylinder\",1)
function login_marker(playerSource)
local player = getPlayerName(playerSource)
setElementPosition  (player, 2346.5,1518.2,50)
fadeCamera (source, true)
setCameraTarget (source, source)   
setPlayerBlurLevel ( source, 0 )
 
end
addEventHandler(\"onMarkerHit\", marker_1, login_marker)

14
Archívum / Account data probléma!
« Dátum: 2015. december 15. - 16:11:11 »
Sziasztok! Lua-t tanulok, nem rég kezdtem. De már is egy kis gondba ütköztem! Vázolom. Van egy drift score mérő script ami méri a Best Score-t ez egy client oldali lua fájl. De amikor kilépek és be, ugye ez le nullázódik, és ezt szeretném kiküszöbölni! Az tudom, hogy ezt a négy utasítást kellene használni, a getElementData, getAccountData, setElementData, és setAccountData. Ezt a négyet. Sikerült is ezekből egy olyan scriptet írnom ami az alap pénzt menti kilépéskor belépéskor pedig betölti. Ez már nem megy a drift score elmentésével, több napja próbálkozom de nem megy. Itt a client oldali drift mérő lua fájl:
 

--ez az alap file
local iDriftScore = 0;
local iMaxScore = 0;
local iScore = 0;
local iMyCombo = 1;
local fCustomFontScale = 2;
local bJustFinished = false;
addEventHandler( \"onClientMapStarting\", root,
function( tMapInfo )
iMaxScore = 0;
iDriftScore = 0;
iMyCombo = 0;
txtBestScore: text( \"Best Score: 0\" );
for i, v in pairs( tMapInfo ) do
   outputDebugString( tostring( i )  .. \" :  \" .. tostring( v ) );
end
end
);
 
addEventHandler( \"onClientResourceStart\", resourceRoot,
function(  )
dxSetTestMode( \"none\" );
 
txtCombo = dxText: create( \"x2\", screenSize[ 1 ] - 100, screenSize[ 2 ] / 2 , false, \"default-bold\", 5 );
txtCombo: type( \"shadow\", 4 );
txtCombo: visible( false );
txtComboTitle = dxText: create( \"COMBO\", screenSize[ 1 ] * 0.9, screenSize[ 2 ] / 2 - 60, false, \"default-bold\", 3 );
txtComboTitle: type( \"shadow\", 3 );
txtComboTitle: visible( false );
txtScoreTitle = dxText: create( \"DRIFT\", screenSize[ 1 ] / 2, screenSize[ 2 ] / 5.6, false, \"default-bold\", 3 );
txtScoreTitle: type( \"shadow\", 3 );
txtScoreTitle: visible( false );
txtScore = dxText: create( \"\", screenSize[ 1 ] / 2, screenSize[ 2 ] / 4, false, \"default-bold\", 3 );
txtScore: visible( false );
txtScore: type( \"shadow\", 3 );
txtBestScore = dxText: create( \"Best Score: 0\", screenSize[ 1 ] * 0.8, 20, false, \"arial\", 2 );
txtBestScore: type( \"shadow\", 2 );
ftDigitalism = dxCreateFont( \"digitalism.ttf\", 20, true );
if ftDigitalism then
   txtCombo: font( ftDigitalism );
   txtCombo: scale( fCustomFontScale );
   txtComboTitle: font( ftDigitalism );
   txtComboTitle: scale( fCustomFontScale*.7 );
   txtScore: font( ftDigitalism );
   txtScore: scale( fCustomFontScale );
   txtScoreTitle: font( ftDigitalism );
   txtScoreTitle: scale( fCustomFontScale );
   txtBestScore: font( ftDigitalism );
   txtBestScore: scale( fCustomFontScale/2 );
end
end
)
addEventHandler( \"onClientVehicleStartDrift\", root,
function( )
addEventHandler( \"onClientVehicleDrift\", root, drift );
if not bJustFinished then
   txtScore: text( \"0\" );
   txtScore: visible( true );
   txtScoreTitle: visible( true );
   local r,g,b,a = txtScore: color( );
   txtScore: color( r, g, b, 255 );
end
end
)
addEventHandler( \"onClientVehicleEndDrift\", root,
function( )
removeEventHandler( \"onClientVehicleDrift\", root, drift );
iLastScore = iDriftScore * iMyCombo;
txtCombo: visible( false );
txtComboTitle: visible( false );
txtScore: text( tostring( iLastScore ) );
Animation.createAndPlay( txtScore,
   Animation.presets.dxTextMove(
      screenSize[ 1 ] / 2,
      screenSize[ 2 ] / 4,
      100, false,
      screenSize[ 1 ] * .3,
      screenSize[ 2 ] / 4
      )
);
--Animation.createAndPlay( txtScore, Animation.presets.dxTextFadeIn( 100 ) );
Animation.createAndPlay( txtScoreTitle,
   Animation.presets.dxTextMove(
      screenSize[ 1 ] / 2,
      screenSize[ 2 ] / 5.6,
      100, false,
      screenSize[ 1 ] * .7,
      screenSize[ 2 ] / 5.6
      )
);
--Animation.createAndPlay( txtScoreTitle, Animation.presets.dxTextFadeIn( 300 ) );
if iLastScore > iMaxScore then
   txtBestScore: text( \"Pénz(drift score): \" .. tostring( iLastScore ) );
   iMaxScore = iLastScore;
end
bJustFinished = true;
setTimer( changeFinishedState, 2000, 1 );
setTimer( centreScore, 100, 1 );
iDriftScore = 0;
iMyCombo = 1;
end
)
addEventHandler( \"onClientVehicleDriftCombo\", root,
function( iCombo )
txtCombo: text( \"x\"..tostring( iCombo ) );
txtCombo: visible( true );
txtComboTitle: visible( true );
playSoundFrontEnd( 43 );
Animation.createAndPlay( txtCombo, Animation.presets.dxTextMoveResize(
   screenSize[ 1 ] * 0.9,
   screenSize[ 2 ] / 2 - 10,
   ftDigitalism and fCustomFontScale*.75 or 5,
   300, false, -- time, loop,
   screenSize[ 1 ] * 0.9,
   screenSize[ 2 ] / 2 - 10,
   ftDigitalism and fCustomFontScale*3 or 15 ) );
Animation.createAndPlay( txtCombo, Animation.presets.dxTextFadeIn( 300 ) );
iMyCombo = iCombo;
end
);
 
function drift( fAngle, fSpeed, sSide, iDriftTime )
local iNewScore = math.ceil( iDriftScore + (fAngle/25) * (fSpeed/15) );
if not bJustFinished then
txtScore: text( tostring( iNewScore ) );
txtScore: visible( true );
txtScoreTitle: visible( true );
local r,g,b = txtScore: color( );
txtScore: color( r, g, b, 255 );
end
iDriftScore = iNewScore;
end
function centreScore( )
txtScore: position( screenSize[ 1 ] / 2, screenSize[ 2 ] / 4, false )
txtScoreTitle: position( screenSize[ 1 ] / 2, screenSize[ 2 ] / 5.6, false );
end
function changeFinishedState( )
bJustFinished = false;
if iDriftScore == 0 then
txtScore: visible( false );
txtScoreTitle: visible( false );
else
txtScore: text( tostring( iDriftScore ) );
end
end

 
Ez pedig a saját kódóm arra, hogy elmentsem. Lehet több sebből is vérzik, de ez a legutóbbi próbálkozásom a sok közül:
 
function onPlayerQuit( )
local playeraccount = getPlayerAccount(source)
local ertek = iMaxScore --getPlayerMoney ( source )
setAccountData(playeraccount, \"driftscore\", ertek)
   
end
function onPlayerLogin(_, playeraccount)
local ertek = getAccountData(playeraccount, \"driftscore\")
--setPlayerMoney(source, ertek )
setElementData ( source, iMaxScore, \"driftscore\")
end
addEventHandler(\"onPlayerLogin\",getRootElement(),onPlayerLogin)
addEventHandler(\"onPlayerQuit\",getRootElement(),onPlayerQuit)

 
Annak is örülök ha valaki átírja nekem, és elmagyarázza, hogy ez miért így vagy. De annak is örülnék ha valaki elmondaná, az elvet hogyan kellene, és hogy ez a 4 utasítás a paraméterei-vel együtt mit csinál?! Bármilyen segítséget elfogadok akár TS-en is Team Viewer-el is meg tudjuk beszélni ha dobsz egy pü.-t! Előre is köszönöm szépen! :)

Oldalak: [1]
SimplePortal 2.3.7 © 2008-2024, SimplePortal