Jump to content

KillerX

Members
  • Posts

    838
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by KillerX

  1. هو نداك عشان انتا خبير في الاوبجكتات وتقدر تحل مشكلة الاخ بس تقريبا الموضوع قديم بس ما ادري المشكلة انحلت ولا لا
  2. ممكن تصميم للبيبسي ؟؟ وشكرا يا عسل + ولكم
  3. العفو حياك الله
  4. زي ما قولتلك فوق نفس الاجابة هو يقارن ويستخرجلك المهم لو مش فاهم الطريقة اللي فوق if استخدم
  5. or دا يقارن بين قيمتين لو القيمة الاولي فولس ينتقل للقيمة الثانية بعض الامثلة print( false or true ) -- true print( "ahmed" or "mohamed" ) -- ahmed print( 12 or 13 ) -- 12 print( not 12 or 13 ) -- 13 وفي السطر دا local element = ( getPedOccupiedVehicle( localPlayer ) or localPlayer ); هو بيجيب سيارة الاعب من خلال الفنكشن getPedOccupiedVehicle والفنكشن دا لو الاعب راكب سيارة يرجعلك السيارة ولو مش راكب يرجعلك فولس عشان اقارن or لذالك انا استخدم لو القيمة الاولي فولس يبقي الالمنت هو الاعب ولو ترو اي لو الاعب راكب السيارة يصير الالمنت هو السيارة وبسس
  6. مش فاهم يعني ايه تستخرج ؟؟؟
  7. 1 - لازم يكون في داتا في الجريد ليست والداتا تحتوي علي جدول بالاحداثيات 2 - لازم تكون اسماء الزراير معرفة 3 - جرب الكود دا addEventHandler("onClientGUIClick",GUIEditor.button[2], function () local sel = guiGridListGetSelectedItem(GUIEditor.gridlist[1]) if sel ~= -1 then local gridData = guiGridListGetItemData( GUIEditor.gridlist[1] , sel , 2 ); if( type( gridData ) == "table" ) then local x,y,z = unpack( gridData ); local element = ( getPedOccupiedVehicle( localPlayer ) or localPlayer ); setElementPosition( element , x , y , z ); else print( "يوجد خطا في الداتا" ); end else outputChatBox("#FF0000[Error404]#FFFFFF الرجاء اختيار المكان المراد الإنتقال اليه",255,0,0,true) end end , false ) @MoHaMeD_Dz
  8. تعديل بسيط علي هذا السطر if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then ************************* function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , }; if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end
  9. try using this function : function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , } if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end -- by KillerX --
  10. السلام عليكم ورحمه الله وبركاتة جا في بالي اسوي وظيفة setPedShootOn عبارة عن يخلي البيد يصوب ويضرب علي المنت معين Client Side الوظيفة Source Code : function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , }; if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end : مثال local myPed = createPed( 0 , getElementPosition( localPlayer ) ); setPedShootOn( myPed , localPlayer ); givePedWeapon( myPed , 31 , 5000 , true ); -- طبعا متنساش تحط السورس كود الاول :) --
  11. امين يا عسل وياك
  12. من امبارح لحد الان 5 دقائق
  13. 1 -من هنا php sdk حمل الملف ال https://wiki.multitheftauto.com/wiki/PHP_SDK 2 - لازم يكون عندك برنامج لتجربة صفحة البي اتش بي انصحك تحمل برنامج wamp 3 - السطر دا $mtaServer = new mta("serverHost", port , "account_username" , "account_password"); بدل account_username ب اسم الحساب بتاعك في السيرفر + لازم يكون حسابك في رتبة الكونسل و ال account_password بباسورد الحساب و serverHost بايبي السيرفروالبورت مثال 195.156.314.65:26510 و في port خليها بورت السيرفر مثال 26510 والافضل تخلي اصدار البي اتش بي 5 + حط الملف حق الاس دي كي مع ملف البي اتش بي بالتوفيق صحيح بدل resourceName باسم الريسورس اللي انتا حطيت فيه ملف السيرفر اللي فوق + لازم يكون الريسورس دا في رتبة الكونسل + اهم شئ : لازم السيرفر اللي انتا تجرب عليه عالمي مش محلي
  14. @Omar Aly server.lua Messages = { } addEventHandler( "onPlayerChat" , root , function( msg ) local localTime = '[ ' .. os.date("%d/%m/%Y") .. ' ] ' local plrName = '[ ' .. getPlayerName( source ) .. ' ] : ' local Show = localTime .. plrName .. msg table.insert( Messages , Show ) end ) function getMessages( ) if( #Messages > 0 ) then return Messages end return false end meta.xml <meta> <script src="client.lua" type="Client"/> <script src="server.lua" type="server"/> <export function="getMessages" http="true" /> </meta> php file <?php include( "mta_sdk.php" ); $mtaServer = new mta("serverHost", port , "account_username" , "account_password"); $resource = $mtaServer->getResource ("resourceName"); $Messages = $resource->call("getMessages")[0]; if( gettype( $Messages[0] ) == "NULL" ){ echo("there's no Messages Now !!"); } else{ for( $x = 0 ; $x < count( $Messages ) ; $x++ ){ echo( $Messages[$x] . "<br>" ); } } header("refresh: 3;"); ?> result : https://obliterated-repairs.000webhostapp.com/Test.php
  15. ملقوش في الورد [ديستروير] عيب قالولوا يا احمر الخدين ?
  16. 1 - getRealTime مالها فايدة في وقتنا الحالي لانها ترجعلك قيم انتا تقعد تزود عليها لذالك قامت ام تي ايه باعادة فتح الدالة os.data اللي ترجعلك الوقت الصحيح مثال : print('[ ' .. os.date("%d/%m/%Y") .. ' ] ') 2 - callRemote ما يقدر يستخدمها في طلبوا لان طلبوا لما حد يرسل رسالة تنطبع في صفحة خاصة به لذالك ما يقدر يستخدمها doReturn Use this function when you want to return data when a page is called with callRemote. You should NOT output any other data to the page, e.g. using echo as this will cause the return to fail. بس يقدر يدخل كل رسالة في جدول ويعمل فنكشن لاسترجاع القيم من الجدول ويعمل اكسبورت للفنكشن ويعملوا كول من صفحة البي اتش بي call This function calls an exported function in a specific resource. Syntax: $mtaServer = new mta( $hostname, $port, $username, $password ); $resource = $mtaServer->getResource ( $resourceName ); $returns[] = $resource->call ( "functionName" [,args...] ); وبعديها يفضل يحدث الصفحة كل 3 او 5 ثواني عشان يجدد الرسائل ويطبعها 3 - fetchRemote مالها اي فايدة
  17. دا اللي اقصدوا
  18. مرة اخري حطوا ايند بعد الفنكشن Note: If the GUI Element attached to this event has a parent element, this event will be triggered once the parent element of the attached element is clicked too. You can set the parameter getPropagated to false in the call to addEventHandler to prevent this. لان ببساطة لو الاخ مسوي الزر دا في اللوحة ويوم يجي يدوس علي اللوحة بيصير كانوا داس علي الزر
  19. ههههههههه لا معلش دا الويكي اللي كاتب كدا في اخر الصفحة
  20. 7.2.14 اصداري وعلي اساس الكلام دا انا عدلت Note for version 0.4 On line 80 in mta_sdk.php you will find the string: echo $json_output; Replace that one with: //echo $json_output; Or remove it completly! Note for PHP 7.2.10 (and upwards) Methods with the same name as their class will not be constructors in a future version of PHP (7.0.x)+ Using PHP 7.2.10 this seems to break completely On line 211 and 227 in mta_sdk.php find the following: line 211: class Element line 227: class Resource Change these to: line 211: class ElementClass line 227: class ResourceClass Now on line 42 and 99 find the following: line 42: $res = new Resource ( $resourceName, $this ); line 99: $item = new Element( substr( $item, 3 ) ); Change these to: line 42: $res = new ResourceClass ( $resourceName, $this ); line 99: $item = new ElementClass( substr( $item, 3 ) ); Now finally, on line 121, change this: if ( get_class($item) == "Element" || get_class($item) == "Resource" ) To this: if ( get_class($item) == "ElementClass" || get_class($item) == "ResourceClass" ) All fixed!
  21. لا مجرد تجربة بس لقيت الاخطاء دي في وشي ياليت تساعدني
  22. شكرا يا عسل _____________________________ استفسار اخر عندي الكود دا الغرض منوا يعرضلي عدد الاعبين اللي في السيرفر <?php require( "mta_sdk.php" ); $mtaServer = new mta("62.210.56.139:28015", 28015 , "xxxxx" , "xxxxxx"); $resource = $mtaServer->getResource ( "log" ); $retn = $resource->call ( "getPlayerCount" ); each $retn[0] ?> بعد التعديلات المذكورة في الويكي php sdk ودا ملف <?php /** ************************************ * MTA PHP SDK ************************************ * * @copyright Copyright (C) 2010, Multi Theft Auto * @author JackC, eAi, Sebas * @link http://www.mtasa.com * @version 0.4 */ class mta { private $useCurl = false; private $sockTimeout = 6; // seconds public $http_username = ''; public $http_password = ''; public $host = ''; public $port = ''; private $resources = array(); public function __construct( $host, $port, $username = "", $pass = "" ) { $this->host = $host; $this->port = $port; $this->http_username = $username; $this->http_password = $pass; } public function getResource ( $resourceName ) { foreach ( $this->resources as $resource ) { if ( $resource->getName == $resourceName ) return $resource; } $res = new ResourceClass ( $resourceName, $this ); $this->resources[] = $res; return $res; } public static function getInput() { $out = mta::convertToObjects( json_decode( file_get_contents('php://input'), true ) ); return (is_array($out)) ? $out : false; } public static function doReturn() { $val = array(); for ( $i = 0; $i < func_num_args(); $i++ ) { $val[$i] = func_get_arg($i); } $val = mta::convertFromObjects($val); $json_output = json_encode($val); echo $json_output; } public function callFunction( $resourceName, $function, $args ) { if ( $args != null ) { $args = mta::convertFromObjects($args); $json_output = json_encode($args); } else { $json_output = ""; } $path = "/" . $resourceName . "/call/" . $function; $result = $this->do_post_request( $this->host, $this->port, $path, $json_output ); //echo $json_output; $out = mta::convertToObjects( json_decode( $result, true ) ); return (is_array($out)) ? $out : false; } public static function convertToObjects( $item ) { if ( is_array($item) ) { foreach ( $item as &$value ) { $value = mta::convertToObjects( $value ); } } else if ( is_string($item) ) { if ( substr( $item, 0, 3 ) == "^E^" ) { $item = new ElementClass( substr( $item, 3 ) ); } elseif ( substr( $item, 0, 3 ) == "^R^" ) { $item = $this->getResource( substr( $item, 3 ) ); } } return $item; } public static function convertFromObjects( $item ) { if ( is_array($item) ) { foreach ( $item as &$value ) { $value = mta::convertFromObjects($value); } } elseif ( is_object($item) ) { if ( get_class($item) == "ElementClass" || get_class($item) == "ResourceClass" ) { $item = $item->toString(); } } return $item; } function do_post_request( $host, $port, $path, $json_data ) { if ( $this->useCurl ) { $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, "http://{$host}:{$port}{$path}" ); curl_setopt( $ch, CURLOPT_POST, 1 ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $json_data ); $result = curl_exec($ch); curl_close($ch); return $result; } else { if ( !$fp = @fsockopen( $host, $port, $errno, $errstr, $this->sockTimeout ) ) { throw new Exception( "Could not connect to {$host}:{$port}" ); } $out = "POST {$path} HTTP/1.0\r\n"; $out .= "Host: {$host}:{$port}\r\n"; if ( $this->http_username && $this->http_password ) { $out .= "Authorization: Basic " . base64_encode( "{$this->http_username}:{$this->http_password}" ) . "\r\n"; } $out .= "Content-Length: " . strlen($json_data) . "\r\n"; $out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n"; //$out .= "Connection: close\r\n\r\n"; $out .= $json_data . "\r\n\r\n"; if ( !fputs( $fp, $out ) ) { throw new Exception( "Unable to send request to {$host}:{$port}" ); } @stream_set_timeout( $fp, $this->sockTimeout ); $status = @socket_get_status($fp); $response = ''; while ( !feof($fp) && !$status['timed_out'] ) { $response .= fgets( $fp, 128 ); $status = socket_get_status($fp); } fclose( $fp ); $tmp = explode( "\r\n\r\n", $response, 2 ); $headers = $tmp[0]; $response = trim($tmp[1]); preg_match( "/HTTP\/1.(?:0|1)\s*([0-9]{3})/", $headers, $matches ); $statusCode = intval($matches[1]); if ( $statusCode != 200 ) { switch( $statusCode ) { case 401: throw new Exception( "Access Denied. This server requires authentication. Please ensure that a valid username and password combination is provided." ); break; case 404: throw new Exception( "There was a problem with the request. Ensure that the resource exists and that the name is spelled correctly." ); break; } } if ( preg_match( "/^error/i", $response ) ) { throw new Exception( ucwords( preg_replace("/^error:?\s*/i", "", $response ) ) ); } return $response; } } } class ElementClass { var $id; function Element($id) { $this->id = $id; } function toString() { return "^E^" . $this->id; } } class ResourceClass { var $name; private $server; function Resource($name, $server) { $this->name = $name; $this->server = $server; } function toString() { return "^R^" . $this->name; } public function getName() { return $this->name; } function call ( $function ) { $val = array(); for ( $i = 1; $i < func_num_args(); $i++ ) { $val[$i-1] = func_get_arg($i); } return $this->server->callFunction ( $this->name, $function, $val ); } } ?> وانا عاطي المود كل الصلاحيات و كمان معطي الحساب كل الصلاحيات الاخطاء اللي تجيني Fatal error: Cannot use temporary expression in write context in C:\wamp\www\test.php on line 6 لما احذف سطر 6 Fatal error: Uncaught Error: Call to a member function callFunction() on null in C:\wamp\www\mta_sdk.php:257 Stack trace: #0 C:\wamp\www\test.php(5): ResourceClass->call('getPlayerCount') #1 {main} thrown in C:\wamp\www\mta_sdk.php on line 257 وشكرا
×
×
  • Create New...