Master_MTA Posted November 10, 2016 Share Posted November 10, 2016 السلام عليكم ورحمة الله وبركاته شباب الحين بغيت اسالكم عن شي وهو هذا ذا يطلعلي اسم حساب صاحب البيت if px then local owner = getElementData( v, 'HS_INFO' )[7]; local price = getElementData( v, 'HS_INFO' )[6]; local r, g, b = getMarkerColor( v ); if r == 0 and g == 153 and b == 255 then r, g, b = 255, 255, 255; end; if owner then if owner == '' then owner = 'none'; end; dxDrawText( 'المالك: '..owner, px + 1, py + scY/38, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'المالك: '..owner, px, py + scY/38, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px + 1, py + scY/15, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px, py + scY/15, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawImage( px-l_w/2, py - scY/17, l_w, l_h, 'images/script/house_.png', 0, 0, 0, tocolor( r, g, b, 255 ) ); انا ابيه يطلع اسمه بالسيرفر مش اسم حسابه اتمنى تفيدوني لو سمحتو Link to comment
' A F . Posted November 10, 2016 Share Posted November 10, 2016 عدل على المود وخليه يوم يشتري البيت وضيف ب الداتا اسمه واستقبله هنا Link to comment
Master_MTA Posted November 10, 2016 Author Share Posted November 10, 2016 (edited) 6 minutes ago, Default said: عدل على المود وخليه يوم يشتري البيت وضيف ب الداتا اسمه واستقبله هنا اخوي حاولت المشكله ان في 2 داتا بس ما زبط ما اعرف اضيفه لاي وحده Edited November 10, 2016 by Master_MTA Link to comment
Master_MTA Posted November 10, 2016 Author Share Posted November 10, 2016 Just now, Default said: اطرح محاولاتك تفضل اخوي سيرفر سايد t[7] = accName; t[8] = key; t[9] = getElementData( client, 'mrk_in' ); t[10] = getPlayerName( client ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9],t[10] } ); اما كلنت عدلت على شي واحد بس local owner = getElementData( v, 'HS_INFO' )[10]; بس هذا السطر طبعا التي متعرف كود الكلنت كامل addEventHandler( 'onClientRender', root, function() for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement(), true ) ) do if getElementData( v, 'HS_INFO' ) then local x, y, z = getElementPosition( v ); local cx, cy, cz = getCameraMatrix(); if isLineOfSightClear( cx, cy, cz, x, y, z, false, false, false, false, false, false, false, v ) then local dist = getDistanceBetweenPoints3D( cx, cy, cz, x, y, z ); if dist >= 5 and dist <= 15 then local px, py = getScreenFromWorldPosition( x, y, z + 1.8, 0.06 ); if px then local owner = getElementData( v, 'HS_INFO' )[10]; local price = getElementData( v, 'HS_INFO' )[6]; local r, g, b = getMarkerColor( v ); if r == 0 and g == 153 and b == 255 then r, g, b = 255, 255, 255; end; if owner then if owner == '' then owner = 'none'; end; dxDrawText( 'المالك: '..owner, px + 1, py + scY/38, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'المالك: '..owner, px, py + scY/38, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px + 1, py + scY/15, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px, py + scY/15, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawImage( px-l_w/2, py - scY/17, l_w, l_h, 'images/script/house_.png', 0, 0, 0, tocolor( r, g, b, 255 ) ); end; end; end; end; end; end; end ); function getHouseByID( ID ) for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then if getElementData( v, 'HS_INFO' )[9] == ID then return v; end; end; end; return false; end; وكود السيرفر كامل addEvent( 'HOUSE_Buy', true ); addEventHandler( 'HOUSE_Buy', root, function( cost, key ) local accName = getAccountName( getPlayerAccount( client ) ); local houseCounter = 0; for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then local owner = getElementData( v, 'HS_INFO' )[7]; if owner == accName then houseCounter = houseCounter + 1; end; end; end; if houseCounter >= tonumber( get( 'playerHouseCounter' ) ) then outputChatBox( '* You can not buy more than #00FF00'..get( 'playerHouseCounter' )..' house(-s)#FF3324 at the same time!', client, 255, 51, 36, true ); setPedFrozen( client, false ); return false; end; if getPlayerMoney( client ) >= tonumber( cost ) then outputChatBox( '* الرقم السري الرجاء عد نسيانه to #00FF00'..key, client, 255, 51, 36, true ); outputChatBox( '* تهانينا تم شراء البيت بنجاح!', client, 255, 255, 0 ); sql.Query( "UPDATE house_data SET owner = '"..accName.."', key = '"..key.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); takePlayerMoney( client, cost ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = accName; t[8] = key; t[9] = getElementData( client, 'mrk_in' ); t[10] = getPlayerName( client ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9],t[10] } ); setMarkerColor( mrk, 255, 51, 36, 150 ); local exitMrkTable = allHousesTable["ID"..tostring(t[9])] allHousesTable["ID"..tostring(t[9])] = { exitMrkTable[1], exitMrkTable[2], exitMrkTable[3], exitMrkTable[4], accName }; setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, true ); else outputChatBox( '* ليس لديك مال كافي لشراء البيت!', client, 255, 51, 36 ); onPlayerHouseMarkerHit( client, getHouseByID( getElementData( client, 'mrk_in' ) ), true ); end; end ); Link to comment
N3xT Posted November 10, 2016 Share Posted November 10, 2016 طيب كودك اللي فوق صح, وش المشكلة؟ Link to comment
Master_MTA Posted November 10, 2016 Author Share Posted November 10, 2016 15 minutes ago, N3xT said: طيب كودك اللي فوق صح, وش المشكلة؟ ما ادري ما يزبط انا ابيه فقط يطلع اسم اللاعب في السيرفر مش اسم حسابه Link to comment
N3xT Posted November 10, 2016 Share Posted November 10, 2016 أطرح المود حقك وبعدله لك Link to comment
Master_MTA Posted November 10, 2016 Author Share Posted November 10, 2016 22 minutes ago, N3xT said: أطرح المود حقك وبعدله لك اخوي ما يصلح لانه مو منشور Link to comment
!#NssoR_) Posted November 10, 2016 Share Posted November 10, 2016 ( روح لسطر 28 واحذف الكود الي فيه وخليه كذا ( جهة السيرفر t[7] = getPlayerName( client ); بس لما تجرب لازم اذا عندك بيت من قبل احذفه وارجع اشتري من جديد وشوف . Link to comment
N3xT Posted November 10, 2016 Share Posted November 10, 2016 7 minutes ago, !#NssoR_) said: ( روح لسطر 28 واحذف الكود الي فيه وخليه كذا ( جهة السيرفر t[7] = getPlayerName( client ); بس لما تجرب لازم اذا عندك بيت من قبل احذفه وارجع اشتري من جديد وشوف . أتوقع حركتك ذي ممكن تسبب مشكلة للحفظ أو أنه اللي مسوي المود مستخدمها بحاجة ثانية عموماً الصح زي كذا وجربتها أول كلنت addEventHandler( 'onClientRender', root, function() for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement(), true ) ) do if getElementData( v, 'HS_INFO' ) then local x, y, z = getElementPosition( v ); local cx, cy, cz = getCameraMatrix(); if isLineOfSightClear( cx, cy, cz, x, y, z, false, false, false, false, false, false, false, v ) then local dist = getDistanceBetweenPoints3D( cx, cy, cz, x, y, z ); if dist >= 5 and dist <= 15 then local px, py = getScreenFromWorldPosition( x, y, z + 1.8, 0.06 ); if px then local owner = getElementData( v, 'HS_INFO' )[7]; local price = getElementData( v, 'HS_INFO' )[6]; local ownerName = getElementData( v, 'HS_INFO' )[10]; local r, g, b = getMarkerColor( v ); if r == 0 and g == 153 and b == 255 then r, g, b = 255, 255, 255; end; if owner then if owner == '' then owner = 'none'; end; dxDrawText( 'المالك: '..ownerName, px + 1, py + scY/38, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'المالك: '..ownerName, px, py + scY/38, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px + 1, py + scY/15, px + 1, py + 1, tocolor( 0, 0, 0, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawText( 'السعر: $ '..tostring( price ), px, py + scY/15, px, py, tocolor( 255, 255, 255, 255 ), 1, 'default-bold', 'center', 'center', false, false ); dxDrawImage( px-l_w/2, py - scY/17, l_w, l_h, 'images/script/house_.png', 0, 0, 0, tocolor( r, g, b, 255 ) ); end; end; end; end; end; end; end ); function getHouseByID( ID ) for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then if getElementData( v, 'HS_INFO' )[9] == ID then return v; end; end; end; return false; end; سيرفر addEvent( 'HOUSE_Buy', true ); addEventHandler( 'HOUSE_Buy', root, function( cost, key ) local accName = getAccountName( getPlayerAccount( client ) ); local houseCounter = 0; for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then local owner = getElementData( v, 'HS_INFO' )[7]; if owner == accName then houseCounter = houseCounter + 1; end; end; end; if houseCounter >= tonumber( get( 'playerHouseCounter' ) ) then outputChatBox( '* You can not buy more than #00FF00'..get( 'playerHouseCounter' )..' house(-s)#FF3324 at the same time!', client, 255, 51, 36, true ); setPedFrozen( client, false ); return false; end; if getPlayerMoney( client ) >= tonumber( cost ) then outputChatBox( '* الرقم السري الرجاء عد نسيانه to #00FF00'..key, client, 255, 51, 36, true ); outputChatBox( '* تهانينا تم شراء البيت بنجاح!', client, 255, 255, 0 ); sql.Query( "UPDATE house_data SET owner = '"..accName.."', key = '"..key.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); takePlayerMoney( client, cost ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = accName; t[8] = key; t[9] = getElementData( client, 'mrk_in' ); t[10] = getPlayerName( client ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10] } ); setMarkerColor( mrk, 255, 51, 36, 150 ); local exitMrkTable = allHousesTable["ID"..tostring(t[9])] allHousesTable["ID"..tostring(t[9])] = { exitMrkTable[1], exitMrkTable[2], exitMrkTable[3], exitMrkTable[4], accName }; setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, true ); else outputChatBox( '* ليس لديك مال كافي لشراء البيت!', client, 255, 51, 36 ); onPlayerHouseMarkerHit( client, getHouseByID( getElementData( client, 'mrk_in' ) ), true ); end; end ); 1 Link to comment
</Mr.Tn6eL> Posted November 10, 2016 Share Posted November 10, 2016 يبغالك تسوي داتا لحساب الاعب وتحطها اسم الاعب بعدين تجيبها اذكر في كود طرحته يسوي الداتا هذي دور وتلقاه Link to comment
Master_MTA Posted November 10, 2016 Author Share Posted November 10, 2016 (edited) يا اخوان سويت كل اللي قلتوه ما زبط اما بالنسبه للاخ تنطيل معليش ما فهمت عليك لو تعطيني مثال اكون شاكر #Edit: 1 hour ago, said: يبغالك تسوي داتا لحساب الاعب وتحطها اسم الاعب بعدين تجيبها اذكر في كود طرحته يسوي الداتا هذي دور وتلقاه هل في طريقه تجيبلي اسم اللاعب من الداتا حقت الاكونت حقه Edited November 10, 2016 by Master_MTA Link to comment
Master_MTA Posted November 11, 2016 Author Share Posted November 11, 2016 22 hours ago, N3xT said: الكود حقي مجرب وشغال ما زبط للاسف اخوي بس على العموم تمت الافاده من الاخ عناد مشكوريننننن Link to comment
</Mr.Tn6eL> Posted November 11, 2016 Share Posted November 11, 2016 (edited) On 11/10/2016 at 7:03 PM, Master_MTA said: يا اخوان سويت كل اللي قلتوه ما زبط اما بالنسبه للاخ تنطيل معليش ما فهمت عليك لو تعطيني مثال اكون شاكر #Edit: هل في طريقه تجيبلي اسم اللاعب من الداتا حقت الاكونت حقه يب استخدم هذا الكود مرة وحدة يعني مو لازم تحطه كل مرة تبي تجيب اسم الاعب من حسابه يعني تقدر تجي الاكوانت داتا من اي مود function accounts(_, arg2) if eventName == "onResourceStart" then for k, v in ipairs(getElementsByType("player")) do local account = getPlayerAccount(v) if account and not isGuestAccount(account) then setAccountData(account, "nick", getPlayerName(v)) end end elseif eventName == "onPlayerLogin" then setAccountData(arg2, "nick", getPlayerName(source)) elseif eventName == "onPlayerChangeNick" then local account = getPlayerAccount(source) if account and not isGuestAccount(account) then setAccountData(account, "nick", arg2) end end end addEventHandler("onResourceStart", resourceRoot, accounts) addEventHandler("onPlayerLogin", root, accounts) addEventHandler("onPlayerChangeNick", root, accounts) يكون الاستخدام كذا getAccountData(account, "nick") account هو الحساب وليس اسمه Edited November 11, 2016 by </Mr.Tn6eL> خطأ املائي Link to comment
Master_MTA Posted November 11, 2016 Author Share Posted November 11, 2016 (edited) 14 minutes ago, said: يب استخدم هذا الكود مرة وحدة يعني مو لازم تحطه كل مرة تبي تجيب اسم الاعب من حسابه يعني تقدر تجي الاكوانت داتا من اي مود function accounts(_, arg2) if eventName == "onResourceStart" then for k, v in ipairs(getElementsByType("player")) do local account = getPlayerAccount(v) if account and not isGuestAccount(account) then setAccountData(account, "nick", getPlayerName(v)) end end elseif eventName == "onPlayerLogin" then setAccountData(arg2, "nick", getPlayerName(source)) elseif eventName == "onPlayerChangeNick" then local account = getPlayerAccount(source) if account and not isGuestAccount(account) then setAccountData(account, "nick", arg2) end end end addEventHandler("onResourceStart", resourceRoot, accounts) addEventHandler("onPlayerLogin", root, accounts) addEventHandler("onPlayerChangeNick", root, accounts) يكون الاستخدام كذا getAccountData(account, "nick") account هو الحساب وليس اسمه @</Mr.Tn6eL> يعطيك الف عافيه والله افاده رائعه رائعه رائعه لكن الاستخدام يكون سيرفر او سيرفر وكلنت ووين اضع كود الوظيفه لو سمحت كلنت ولا سيرفر Edited November 11, 2016 by Master_MTA Link to comment
Abdul KariM Posted November 11, 2016 Share Posted November 11, 2016 استبدل السيرفر سايد بهذا addEvent( 'HOUSE_Buy', true ); addEventHandler( 'HOUSE_Buy', root, function( cost, key ) local accName = getAccountName( getPlayerAccount( client ) ); local houseCounter = 0; for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then local owner = getElementData( v, 'HS_INFO' )[7]; if owner == accName then houseCounter = houseCounter + 1; end; end; end; if houseCounter >= tonumber( get( 'playerHouseCounter' ) ) then outputChatBox( '* You can not buy more than #00FF00'..get( 'playerHouseCounter' )..' house(-s)#FF3324 at the same time!', client, 255, 51, 36, true ); setPedFrozen( client, false ); return false; end; if getPlayerMoney( client ) >= tonumber( cost ) then outputChatBox( '* الرقم السري الرجاء عد نسيانه to #00FF00'..key, client, 255, 51, 36, true ); outputChatBox( '* تهانينا تم شراء البيت بنجاح!', client, 255, 255, 0 ); sql.Query( "UPDATE house_data SET owner = '"..accName.."', key = '"..key.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); takePlayerMoney( client, cost ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = getAccountData(accName, "nick"); t[8] = key; t[9] = getElementData( client, 'mrk_in' ); t[10] = getPlayerName( client ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10] } ); setMarkerColor( mrk, 255, 51, 36, 150 ); local exitMrkTable = allHousesTable["ID"..tostring(t[9])] allHousesTable["ID"..tostring(t[9])] = { exitMrkTable[1], exitMrkTable[2], exitMrkTable[3], exitMrkTable[4], accName }; setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, true ); else outputChatBox( '* ليس لديك مال كافي لشراء البيت!', client, 255, 51, 36 ); onPlayerHouseMarkerHit( client, getHouseByID( getElementData( client, 'mrk_in' ) ), true ); end; end ); طبعا موب السيرفر سايد كامل , الترايقر القديم الي عندك بالي فوق ولاتنسى تحط كود تنطيل , وتشتري بيت من جديد بالتوفيق 1 Link to comment
Master_MTA Posted November 11, 2016 Author Share Posted November 11, 2016 1 hour ago, Abdul KariM said: استبدل السيرفر سايد بهذا addEvent( 'HOUSE_Buy', true ); addEventHandler( 'HOUSE_Buy', root, function( cost, key ) local accName = getAccountName( getPlayerAccount( client ) ); local houseCounter = 0; for i, v in ipairs( getElementsByType( 'marker', getResourceRootElement() ) ) do if getElementData( v, 'HS_INFO' ) then local owner = getElementData( v, 'HS_INFO' )[7]; if owner == accName then houseCounter = houseCounter + 1; end; end; end; if houseCounter >= tonumber( get( 'playerHouseCounter' ) ) then outputChatBox( '* You can not buy more than #00FF00'..get( 'playerHouseCounter' )..' house(-s)#FF3324 at the same time!', client, 255, 51, 36, true ); setPedFrozen( client, false ); return false; end; if getPlayerMoney( client ) >= tonumber( cost ) then outputChatBox( '* الرقم السري الرجاء عد نسيانه to #00FF00'..key, client, 255, 51, 36, true ); outputChatBox( '* تهانينا تم شراء البيت بنجاح!', client, 255, 255, 0 ); sql.Query( "UPDATE house_data SET owner = '"..accName.."', key = '"..key.."' WHERE ID = ?", getElementData( client, 'mrk_in' ) ); takePlayerMoney( client, cost ); local mrk = getHouseByID( getElementData( client, 'mrk_in' ) ); local t = {}; for i = 1, 6 do t[i] = getElementData( mrk, 'HS_INFO' )[i]; end; t[7] = getAccountData(accName, "nick"); t[8] = key; t[9] = getElementData( client, 'mrk_in' ); t[10] = getPlayerName( client ); setElementData( mrk, 'HS_INFO', { t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10] } ); setMarkerColor( mrk, 255, 51, 36, 150 ); local exitMrkTable = allHousesTable["ID"..tostring(t[9])] allHousesTable["ID"..tostring(t[9])] = { exitMrkTable[1], exitMrkTable[2], exitMrkTable[3], exitMrkTable[4], accName }; setTimer( onPlayerHouseMarkerHit, 50, 1, client, mrk, true ); else outputChatBox( '* ليس لديك مال كافي لشراء البيت!', client, 255, 51, 36 ); onPlayerHouseMarkerHit( client, getHouseByID( getElementData( client, 'mrk_in' ) ), true ); end; end ); طبعا موب السيرفر سايد كامل , الترايقر القديم الي عندك بالي فوق ولاتنسى تحط كود تنطيل , وتشتري بيت من جديد بالتوفيق يعطيك العافيه حبيب قلبي والله بس الاخ عناد افادني في الخاص تسلمون والله مشكورين على مروركم Link to comment
</Mr.Tn6eL> Posted November 11, 2016 Share Posted November 11, 2016 @Abdul KariM وقعت بالخطأ اللي حذرت منه لاحظ استخدام اسم الحساب لجلب الداتا والمفترض الحساب وليس اسمه local accName = getAccountName( getPlayerAccount( client ) ); ... t[7] = getAccountData(accName, "nick"); 1 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now