Jump to content

Search the Community

Showing results for tags 'function/snipset'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • SA-MP
    • News and updates
    • General
    • Client Support
  • SA-MP Servers
    • Server Support
    • Server Advertisements
  • SA-MP Scripting and Plugins
    • Scripting Help
    • Gamemode Scripts
    • Filterscripts
    • Plugin Development
  • SA-MP Design
    • 3D Model
    • Website
    • Photoshop

Blogs

There are no results to display.

Categories

  • San Andreas Multiplayer Vietnam - Wiki

Categories

  • San Andreas Multiplayer
    • Asi Plugin
  • 3D Models
    • Objects

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About me


Expertise

Found 5 results

  1. GetSpriteSize Author: m1n1vv I. GIỚI THIỆU CHUNG Trong 0.3.DL, nhiều máy chủ sẽ có thể tạo ra các giao diện UI/Interface đặc biệt bằng các Sprite Textdraws. Nhưng trong Textdraws, thật không dễ để thiết kế chúng phù hợp với tất cả các độ phân giải màn hình (Screen Resolution). Hàm này sẽ tính toán mọi thứ phụ thuộc vào kích thước của Sprite và độ phân giải màn hình mà bạn thiết kế. Ngoài ra, thông qua hàm này bạn cũng có thể tính toán vị trí của Textdraw. II. Function stock GetSpriteSize(width, height, wt, ht, &Float:ws, &Float:hs) { ws = wt*(640.0*100.0/width)/100.0; hs = ht*(448.0*100.0/height)/100.0; return 1; } III. SỬ DỤNG CMD:test(playerid, params[]) { new Float:x, Float:y, width = 1920, height = 1080; GetSpriteSize(width, height, 15, 15, x, y); // Kích cỡ Texture Sprite là 15x15 printf("X: %.2f | Y: %.2f", floatroundto(x, 2), floatroundto(y, 2)); return 1; }
  2. ProbaRandom Author: Lev_Popov I. GIỚI THIỆU CHUNG Hàm này cho phép bạn lấy 1 số ngẫu nhiên với xác xuất II. Function stock ProbaRandom(array[], size_w = sizeof(array)) { if(size_w < 1) return -1; new sum = 0, result = 0; for(new i = size_w - 1; i > -1; i--) { sum += array[i]; if(random(sum) < array[i]) { result = i; } } return result; } III. SỬ DỤNG CMD:test(playerid, params[]) { new array[] = {5, 3, 15, 7, 50, 10}; for(new i; i < 10; i++) { printf("%d", ProbaRandom(array)); } return 1; }
  3. GetDayOfWeek Author: No_1 I. GIỚI THIỆU CHUNG Hàm này cho phép bạn có thể xác định số ngày trong tuần dựa theo thời gian thực của máy chủ. Hữu ích trong việc phân loại thời gian logs của máy chủ. II. Function stock GetDayOfWeek(year, month, day) { new a = (14 - month)/12, y = (year + 4800) - a; return ((day + ((153*(month + (12*a) - 3) + 2)/5) + (365*y) + (y/4) - (y/100) + (y/400) - 32045) % 7); } III. SỬ DỤNG CMD:test(playerid, params[]) { static const day_of_week_name[][] = {"Thu hai", "Thu ba", "Thu tu", "Thu nam", "Thu sau", "Thu bay", "Chu nhat"}; new year, mounth, day; getdate(year, mounth, day); print(day_of_week_name[GetDayOfWeek(year, mounth, day)]); return 1; }
  4. GetPlayerID Author: Anton Styazhkin I. GIỚI THIỆU CHUNG Hàm này cho phép bạn có thể xác định ID người chơi theo tên gọi của người chơi đó. Khi biên dịch (compiler), hàm sẽ tự động xác định phương pháp tìm kiếm ID người chơi phù hợp nhất với gamemode của bạn theo thứ tự ưu tiên về tốc độ xử lý như sau: sscanf foreach GetPlayerPoolSize Và tùy chọn cuối cùng là sử dụng MAX_PLAYERS. Và trả về với ID của người chơi và trả về INVALID_PLAYER_ID nếu như không tìm kiếm được người chơi trong máy chủ. II. Function stock GetPlayerID(const name[]) { #if defined sscanf new id; sscanf(name, "r", id); return id; #else new buff[MAX_PLAYER_NAME]; #if defined foreach foreach (new i:Player) { #elseif defined GetPlayerPoolSize for (new i = GetPlayerPoolSize(); i != -1; i--) { if(!IsPlayerConnected(i)) continue; #else for (new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; #endif GetPlayerName(i, buff, sizeof buff); if (strcmp(buff, name, false) == 0) return i; } return INVALID_PLAYER_ID; #endif } III. SỬ DỤNG CMD:test(playerid, params[]) { new targetid = GetPlayerID(params); if(targetid != INVALID_PLAYER_ID) { new string[128]; format(string, sizeof(string), "Player %s co ID la %d", params, targetid); SendClientMessage(playerid, -1, string); } else SendClientMessage(playerid, -1, "Khong the xac dinh ID nguoi choi"); return 1; }
  5. LimitVehicleSpeed Author: Saibot I. GIỚI THIỆU CHUNG Tính năng này sẽ cho phép bạn có thể giới hạn tốc độ tối đa của phương tiện, nó hữu ích cho việc giải quyết vấn đề bug speed của các phương tiện motor trong In-Game và nhiều trường hợp khác, phụ thuộc vào ý tưởng của bạn. II. Function stock LimitVehicleSpeed(const vehicleid, const max_speed) { new Float: velocity_x, Float: velocity_y, Float: velocity_z; GetVehicleVelocity(vehicleid, velocity_x, velocity_y, velocity_z); if(floatround(VectorSize(velocity_x, velocity_y, velocity_z) * 100.0) >= max_speed) SetVehicleVelocity(vehicleid, velocity_x*0.97, velocity_y*0.97, velocity_z); return 1; } Ví dụ: new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid != 0) { switch(GetVehicleModel(vehicleid)) { case 522: LimitVehicleSpeed(vehicleid, 30); } } // 522 = Model phương tiện // 30 = Tốc độ tối đa mà phương tiện được phép đi tới III. SỬ DỤNG Để tính năng này hoạt động, bạn cần phải để nó ở trong một Timer hoặc callbacks update của SA-MP như (OnPlayerUpdate) public OnPlayerUpdate(playerid) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid != 0) { switch(GetVehicleModel(vehicleid)) { case 522: LimitVehicleSpeed(vehicleid, 30); } } }
×
×
  • Create New...