Jump to content
Sign in to follow this  
Abyss

function/snipset GetPlayerID (Xác định ID người chơi theo tên nhân vật)

Recommended Posts

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

 

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...