Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 07/04/2020 in all areas

  1. 3 points
    Chắc hẳn các bạn đều đã nhìn thấy các đoạn mã stock, public, forward v.v. ở phía trước một hàm custom mà các scripter viết rồi đúng không? Vậy chúng là gì? Công dụng của chúng như thế nào? Cách sử dụng chúng ra làm sao? Tôi sẽ giải đáp các thắc mắc đó của bạn trong bài viết này. Menu bài viết về Initialisers Code Bài 1 - const, enum Bài 2 - forward, public I. CÁC LOẠI MÃ KHỞI TẠO Như các bạn đã biết, mã nguồn dùng để viết SA-MP được dựa trên Pawn - An Embed Scripting Language (mã kịch bản nhúng). Các mã khởi tạo trong SA-MP cũng tương đồng với nó. Chúng ta có thể liệt kê ra đây danh sách các mã khởi tạo như: const enum forward native new operator public static stock Mỗi mã khởi tạo lại có một ý nghĩa và công dụng khác nhau, tuy rằng gần như tất cả đều có thể gọi ra bằng cách thông thường. Hãy cùng tìm hiểu chi tiết từng đoạn mã khởi tạo nhé. II. CONST const không được sử dụng nhiều trong script tuy nhiên nó sẽ khai báo một biến không thể sửa đổi bằng mã, tức không thể thay đổi giá trị của chúng sau khi được xác định. Có một vài cách sử dụng cho mã khởi tạo này là với các biến với dạng chuỗi, mảng const đôi khi có thể được biên dịch (compiler) hiệu quả hơn hoặc với 1 số define dạng chuỗi (array). [Hidden Content]III. ENUM [Hidden Content]Nhìn chuyên nghiệp hơn rất nhiều phải không nào? Điều này cũng sẽ tiết kiệm các biến global của bạn làm giảm nhẹ quá trình biên dịch cho gamemode của bạn sẽ nhẹ hơn đi rất nhiều mà đơn giản, rút gọn các bước thiết lập để sử dụng một cách tối ưu.
  2. 2 points
    Hôm qua chúng ta đã cùng tìm hiểu const, enum với bài học số 1 về Initialisers Code, chúng hơi khó hiểu có đúng không ^^. Với bài học hôm nay chúng ta sẽ cùng nghiên cứu 2 mã khởi tạo mà bạn sẽ luôn thấy chúng trong toàn bộ các gamemode, chúng thông dụng gần như các plain function đó. Đúng vậy, hôm nay chúng ta sẽ nghiên cứu về forward và public. Hãy cùng tìm hiểu lý do vì sao trong pawn, chỉ có public function mới có thể gọi từ bên ngoài script hay tại sao phải khai báo forward trước một public function nhé. Menu bài viết về Initialisers Code Bài 1 - const, enum Bài 2 - forward, public I. FORWARD Khi sử dụng mã khởi tạo forward, trình biên dịch sẽ hiểu đây là một function sẽ được gọi tới sau. Nó được yêu cầu bắt buộc cho tất cả các public function tuy nhiên chúng ta vẫn có thể sử dụng chúng trong nhiều nơi khác. Nó được sử dụng để "forward" (chuyển tiếp) với đầy đủ các tham số của function mà bạn muốn chuyển tiếp và kết thúc bằng dấu chấm phẩy.[Hidden Content]Khi nó được sử dụng với public funcion, forward có thể sử dụng để sửa các cảnh báo hiếm gặp như sử dụng một function trả về một tag kết quả (ví dụ: float) trước khi nó được khai báo. main() { new Float:myVar = MyFloatFunction(); } Float:MyFloatFunction() { return 5.0; } [/hide]Với đoạn script trên, trình biên dịch sẽ hiển thị cảnh báo rõ ràng bởi vì nó không biết làm sẽ phải trả về là số hay số thập phân. Trong ví dụ này, nó trả về dưới dạng float. Điều này có thể được giải quyết bằng cách khai báo hàm trước khi sử dụng.[Hidden Content]Hoặc bằng cách sử dụng forward trước hàm để trình biên dịch biết phải làm gì:[Hidden Content] Cách gọi một public function theo tên:[Hidden Content]public function với tiền tố 'public' hoặc '@' đều phải thiết lập chuyển tiếp 'forward' như đã nói ở mục 'forward' phía trên.[Hidden Content]Với ví dụ trên, Hàm SetTimerEx đã được sử dụng để gọi "MyOtherPublicFunction" sau 5 giây và truyền giá trị nguyên 7 để 'printf'. Hàm main được sử dụng nhiều trong các ví dụ như thế này, nó tương tự như một public function ở chỗ nó có thể gọi từ bên ngoài tập lệnh, tuy nhiên nó không phải là một public function, nó có một địa chỉ đặc biệt để server nhận biết nơi để gọi chúng trong tệp amx. Tất cả SA-MP Callbacks đều là public function và được gọi từ bên ngoài tập lệnh một cách tự động:[Hidden Content][Hidden Content] forward MyPublicFunc(); main() { MyPublicFunc(); } public MyPublicFunc() { printf("Hello"); } Nó nhanh hơn nhiều so với việc sử dụng CallLocalFunction hoặc native.
  3. 2 points
    Texture Studio (Mapping Server) Author: Faye Github Link: https://github.com/Pottus/Texture-Studio/ I. GIỚI THIỆU CHUNG - Sẽ có rất nhiều bạn bắt đầu tham gia học Mapping từ mapeditor với góc nhìn xây dựng tự do và nhiều bạn mới tham gia học thì rất khó di chuyển các object ở mapeditor, hôm nay mình sẽ giới thiệu các bạn 1 loại filterscript hỗ trợ bạn mapping ở trong game với góc nhìn của nhân vật và di chuyển dễ dàng như chỉnh toys mà các bạn thường sử dụng ở trong các máy chủ SA:MP. II. TẢI VỀ VÀ CÀI ĐẶT Đầu tiên bạn hãy tải bất kì một tệp mà phù hợp với phiên bản SA:MP của bạn đang sử dụng (như 0.3.DL hay 0.3.7 R2). (Nếu bạn nào sử dụng phiên bản khác 2 phiên bản trên thì có thể truy cập vào Github để tải riêng filterscript này nhé)[Hidden Content] Tiếp theo khi tải về bạn hãy mở lên và giải nén nó ra. Sau đó hay truy cập vào thư mục bạn vừa giải nén và bấm vào samp-server.exe và đợi 5-6 giây để khởi động server. Khi khởi động xong máy chủ, bạn hãy truy cập vào SA:MP Client và nhập IP: 127.0.0.1 (Nếu bạn mở server bằng PC cá nhân). FILTERSCRIPT RỜI: [Hidden Content] III. CÁCH SỬ DỤNG - Mình sẽ để 1 đoạn video ở phía dưới phần bình luận để các bạn xem qua cách sử dụng. - Và mình sẽ nhận trực tiếp hỗ trợ và hướng dẫn các bạn sử dụng (Nếu các bạn có thắc mắc thì đăng 1 bài viết và tag mình vào nhé) III. END TOPIC - Các bạn có thể thảo luận trực tiếp với tụi mình tại discord SA:MP Vietnam - discord.io/sampvn
  4. 1 point
    Author: Faye Wiki SA:MP - https://wiki.sa-mp.com/wiki/Common_Problems NỘI DUNG LỖI LÝ DO CÁCH KHẮC PHỤC GTA: San Andreas executable STILL not found Client SA:MP bạn đang sử dụng không thể tìm thấy được file app gta-sa.exe. Cách khắc phục rất đơn giản, bạn chỉ cần tải riêng biệt file gta-sa.exe về và bỏ vào thư mục mà bạn cài SA:MP là được! - CONNECTION REJECTED: Unacceptable NickName - Please choose another nick between and 3-20 characters - Please use only a-z, A-Z, 0-9 - Maybe someone on the server with your nickname Sẽ có 2 yếu tố gây ra 4 dòng này khi bạn vào truy cập vào SA:MP. 1. Tên đăng nhập này đang có người trực tuyến. (Tất là đang có người online tài khoản bạn vừa vào) 2. Tên đăng nhập có ký tự không phù hợp hoặc ngắn hơn 3 chữ và SA:MP chỉ cho phép sử dụng tên đăng nhập có ký tự từ a-z, A-Z và 0-9. 1. Nếu tài khoản của bạn đang có người trực tuyến thì hãy nhờ một Admin trong game kick tài khoản đó ra, đó chỉ là biện pháp cuối cùng để giúp bạn truy cập được game và giúp tài khoản bạn được an toàn trước khi bị lấy vật phẩm. 2. Hãy ra lại Client SA:MP và kiểm tra xem tên bạn có ký tự nào không hợp lệ và xem tên đã đủ trên 3 từ và ngắn hơn 20 từ chưa. Unable to save screen shot (F8) Lỗi này khi bạn gặp phải là lúc bạn sử dung nút F8 để chụp lại màn hình game GTA:SA của bạn. Và nguyên nhân là do độ phân giải của game không khớp với độ phân giải của màn hình máy tính bạn đã cài đặt ngoài desktop. 1. Cài đặt lại độ phân giải ở desktop lên mức cao nhất: - Click chuột phải vào màn hình desktop và truy cập vào Screen Resolution và chỉnh Resolution lên mức cao nhất. 2. Sau khi cài đặt ở desktop xong thì vào game cài đặt độ phân giải trong game lên mức cao nhất: - ECS > Options > Display Setup > Advanced > Resolution và chỉnh nó lại mức cao nhất. The server didn't respond. Retrying.. Connecting to x.x.x.x:port Vấn đề thường gặp khi máy chủ bạn truy cập đã bị tắt hoặc đường truyền của bạn đã bị ngắt kết nối hoặc đường truyền kém. - Giải pháp khắc phục về đường truyền bị cắt là chỉ cần đi đóng tiền mạng :)) hoặc nếu bạn đã đóng tiền mạng rồi thì nguyên nhân là nhà mạng đang bảo trì nhé! - Đường truyền yếu thì bạn có thể sử dụng VPN để khá lên một tí thôi và đường truyển yếu là do một đứt cáp hoặc 2 máy chủ ở quốc gia khác. When launching GTA with SA:MP it won't start Xảy ra khi bạn sử dụng mod/cheat và nếu bạn không mod/cheat thì xem qua phần "CÁCH KhẮC PHỤC". Truy cập vào bên trong thư mục userfiles của bạn và xoá gta-sa.set và truy cập vào lại để kiểm tra lỗi còn không. (lưu ý nến sử dụng thư mục game mới và không mod bất kì thứ gì để kiểm tra) C:\Users\....\Documents\GTA San Andreas User Files The file dinput8.dll is missing Lỗi này xảy ra khi máy của bạn cài đặt DirectX chưa đúng cách và nó sẽ dẫn đến báo lỗi chưa có tệp dinput8.dll. Bạn hãy cài đặt lại DirectX và khởi động lại PC của bạn sau khi cài đặt lại DirectX. Nêu như vẫn bị lỗi này thì bạn truy cập vào thư mục C:\Windows\System32 và sao chép tệp dinput8.dll và paste vào thư mục GTA San Andreas của bạn. LỖI CON TRỎ CHUỘT KHÔNG HOẠT ĐỘNG SAU KHI BẤM PHÍM ECS (PAUSE) - Bạn hãy truy cập vào sa-mp.cfg trong thư mục userfiles của bạn và vô hiệu hoá phần multicore của bạn bằng cách xoá số 1 và thêm vào đó số 0. Ví dụ: multicore = 0. Microsoft Visual C ++ 2010 (v10.0).rar Microsoft Visual C ++ 2012 (v11.0).rar Microsoft Visual C ++ 2013 (v12.0).rar Microsoft Visual C ++ 2015 (v14.0).rar
This leaderboard is set to Ho Chi Minh/GMT+07:00
×
×
  • Create New...