Jump to content

مساعده بسييييييييطه


Recommended Posts

السلام عليكم ورحمة الله وبركاته شباب الحين بغيت اسالكم  عن شي وهو

هذا ذا يطلعلي اسم حساب صاحب البيت

 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
6 minutes ago, Default said:

عدل على المود

وخليه يوم يشتري البيت

وضيف ب الداتا اسمه

واستقبله هنا

اخوي حاولت المشكله ان في 2 داتا بس ما زبط

ما اعرف اضيفه لاي وحده

 

Edited by Master_MTA
Link to comment
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
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 );

 

  • Like 1
Link to comment

يا اخوان سويت كل اللي قلتوه ما زبط

اما بالنسبه للاخ تنطيل معليش ما فهمت عليك لو تعطيني مثال اكون شاكر

#Edit:

1 hour ago, said:

يبغالك تسوي داتا لحساب الاعب وتحطها اسم الاعب بعدين تجيبها :)

اذكر في كود طرحته يسوي الداتا هذي دور وتلقاه

هل في طريقه تجيبلي اسم اللاعب من الداتا حقت الاكونت حقه

Edited by Master_MTA
Link to comment
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 by </Mr.Tn6eL>
خطأ املائي
Link to comment
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 by Master_MTA
Link to comment

استبدل السيرفر سايد بهذا

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 );

طبعا موب السيرفر سايد كامل , الترايقر القديم الي عندك بالي فوق 

ولاتنسى تحط كود تنطيل , وتشتري بيت من جديد

بالتوفيق

  • Like 1
Link to comment
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

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...