[AMX] Tổng hợp Code, Plug do Mem chế hoặc giới thiệu

  • Thread starter Thread starter Orpheus
  • Ngày gửi Ngày gửi
^
- xin cái source code của zbot đi rồi tính tiếp

lấy source của pb là cũng đủ cho bạn sài rồi, mỗi tội bạn biết sài hay không thôy :6cool_beat_shot:
 
ko thích sài waypoint. thích auto-findpath cơ
 
ko thích sài waypoint. thích auto-findpath cơ

mình đang nói là cách bố trí chiến thuật, tức là AI của bot hoặc npc cơ, chứ ko phải auto amalyzing area map :-"
 
Đây là code A* của russian convert. Nhưng còn 1 số lỗi. Nếu đường ngắn và dễ thì nó tìm được. nhưng còn kiểu đường phức tạp và dài là nó ngừng luôn.
Nó search đường, đi thẳng đụng, qua trái hay phải đụng là nó ngừng luôn =)). Nếu ở gần thì nó chạy tốt, Ai thử fix xem nào, nhất là những người giỏi toán, vector, .. ta thì ngu toán rồi

PHP:
stock A_star_pathfinder(ent, Float:ent_origin[3], Float:End_Origin[3], Float:End_Way[][3])
{
	static i, checked = 0, Float:extra = 0.1, cost[8], diff[8], bool:finished = false, best_diff = 669999, 
	best_way = 0, Float:Created_Way[max_way_points][3], Float:Explore_Origin[8][3], 
	Float:Got_Origin[8][3], Float:Start_Search_From_Here[3]
	
	Start_Search_From_Here = ent_origin
	
	if(vector_distance(ent_origin, End_Origin) <= 150.0)
	{
		g_way_counter[ent] = 1
		End_Way[0] = End_Origin
		
		return
	}
	
	static bool:Broken_Point[8]
	
	while(!finished || checked >= (max_way_points - 1))
	{
		best_diff = 669999
		
		Explore_Origin[0][0] = 300.0 * extra
		Explore_Origin[0][1] = 0.0
		Explore_Origin[0][2] = 0.0
		
		Explore_Origin[1][0] = 150.0 * extra
		Explore_Origin[1][1] = 150.0 * extra
		Explore_Origin[1][2] = 0.0
		
		Explore_Origin[2][0] = 0.0
		Explore_Origin[2][1] = 300.0 * extra
		Explore_Origin[2][2] = 0.0
		
		Explore_Origin[3][0] = -150.0 * extra
		Explore_Origin[3][1] = -300.0 * extra
		Explore_Origin[3][2] = 0.0
		
		Explore_Origin[4][0] = -300.0 * extra
		Explore_Origin[4][1] = 0.0
		Explore_Origin[4][2] = 0.0
		
		Explore_Origin[5][0] = -150.0 * extra
		Explore_Origin[5][1] = -150.0 * extra
		Explore_Origin[5][2] = 0.0
		
		Explore_Origin[6][0] = 0.0
		Explore_Origin[6][1] = -150.0 * extra
		Explore_Origin[6][2] = 0.0
		
		Explore_Origin[7][0] = 150.0 * extra
		Explore_Origin[7][1] = -150.0 * extra
		Explore_Origin[7][2] = 0.0
		
		for(i = 0; i < sizeof(Explore_Origin); i++)
		{ 
			checked++
			
			Got_Origin[i] = Start_Search_From_Here
			Got_Origin[i][0] += Explore_Origin[i][0]
			Got_Origin[i][1] += Explore_Origin[i][1]
			Got_Origin[i][2] += Explore_Origin[i][2]
			
			Broken_Point[i] = false
			
			if (is_outside_map(Got_Origin[i]))
			{
				cost[i] = 10500;
				Broken_Point[i] = true
			}
		
			if (i == 0 || i == 2 || i == 4 || i == 6)
			{
				cost[i] += 10
			} else {
				cost[i] += 14
			}
			
			diff[i] = floatround(vector_distance(Got_Origin[i], End_Origin)) + (cost[i] + i)
			
			if(vector_distance(Got_Origin[i], End_Origin) <= 150.0 * extra)
			{
				finished = true
			}
		}
		
		for(i = 0; i < sizeof(Explore_Origin); i++)
		{
			if ( best_diff >= diff[i]  )
			{
				if ( !Broken_Point[i] )
				{
					best_diff = diff[i]
					best_way = i;
				}
			}
		}
		
		Start_Search_From_Here = Got_Origin[best_way]
		new Float:got_dist = vector_distance(Start_Search_From_Here, End_Origin)
		
		if ( g_way_counter[ent] >= (max_way_points - 1) || got_dist <= 150.0 * extra)
		{
			for(i = 0; i < g_way_counter[ent]; i++)
			{
				End_Way[i] = Created_Way[g_way_counter[ent] - i] 
				bomb_led(End_Way[i]) 
			}
			
			finished = true
			
			return;
		}
		else
		{
			g_way_counter[ent] += 1
			Created_Way[g_way_counter[ent]] = Got_Origin[best_way]
		}
		
	}
	
	for(i = 0; i < g_way_counter[ent]; i++)
	{
		End_Way[i] = Created_Way[g_way_counter[ent]-i] 
		bomb_led(End_Way[i]) 
	}
}


stock bomb_led(const Float:point[3]) 
{ 
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
	write_byte(TE_GLOWSPRITE) 
	engfunc(EngFunc_WriteCoord, point[0]) 
	engfunc(EngFunc_WriteCoord, point[1]) 
	engfunc(EngFunc_WriteCoord, point[2]) 
	write_short(spr_bomb) 
	write_byte(10) 
	write_byte(3) 
	write_byte(255) 
	message_end() 
}

stock Search_Way(ent, Float:target[3])
{
	static Float:npc_origin[3]
	
	g_way_counter[ent] = 0
	pev(ent, pev_origin, npc_origin)
	A_star_pathfinder(ent, npc_origin, target, point)
	
	if ( g_way_counter[ent] < 1 )
		return
	
	g_way_point[ent] = point[0]
	g_way_point_index[ent] = 1
}

stock is_outside_map(Float:Origin[3]) return (engfunc(EngFunc_PointContents, Origin) == CONTENTS_SOLID)

Và cách làm Map sáng lên trong mắt của 1 player của Russian:
PHP:
SVC_ModifyLightStyle(pPlayer, const pszLightStyle[ ])
{
    message_begin( MSG_ONE, SVC_LIGHTSTYLE, .player = pPlayer );
    write_byte( 0 );
    write_string( pszLightStyle );
    message_end( );
}
 
Chỉnh sửa cuối:
Cứ cầm 31 tè le ra ke.. k cho thằng nào ra map...
 
@CHIEF:
- It's Cleaning Time. man
 
Trên Ru có thằng nào làm Skull 11 chưa nhẩy? Nếu chưa thì nói anh , để anh làm bán xem thế nào >:)
 
@Red: chưa ai làm đâu. Nhưng trình tụi nó có thể làm dc đấy :)). a red ko bán dc đâu, chỉ có share kiếm danh vọng thôi
 
Và cách làm Map sáng lên trong mắt của 1 player của Russian:
PHP:
SVC_ModifyLightStyle(pPlayer, const pszLightStyle[ ])
{
    message_begin( MSG_ONE, SVC_LIGHTSTYLE, .player = pPlayer );
    write_byte( 0 );
    write_string( pszLightStyle );
    message_end( );
}
Cũ rồi, ta áp dụng cái này để làm NVG mới mà h mới post:-j
 
^
- Ta chơi cái CSO NST B3 của mi, ta bật NVG cùng lắm nó đổi màu màn hình, ta đi vào góc tối mà ta ko thấy gì luôn đấy =))
 
Topic chìm lâu quá, có ai muốn chơi Jailbreak ko :2cool_sexy_girl:
[video=youtube;BBZ8ZSixUJg]https://www.youtube.com/watch?v=BBZ8ZSixUJg[/URL][/video]
 
Ai có thể tốt bụng làm cho mình 1 hệ thống cấp bậc có thưởng được không, mình muốn cô 1.6 defalt, sẽ trả công như mong muốn ở trên mạng :D
 
À HÚ, ĐÂY LÀ PISTOL BẮN NHƯ SHOTGUN NÈ

[video=youtube;A_qFyzxFqAE]http://www.youtube.com/watch?v=A_qFyzxFqAE&feature=youtu.be[/video]
 
^
- Ta chơi cái CSO NST B3 của mi, ta bật NVG cùng lắm nó đổi màu màn hình, ta đi vào góc tối mà ta ko thấy gì luôn đấy =))
Giời, bản ta đang làm mới có=))
 
Ai có code chạy Brass message ko? Share cho anh em đi.
 
có ai hướng dẫn code amx không
PS: các bác chịu khó dịch sang tiếng Việt giúp, làm biếng đọc hiểu tiếng Anh
 
^
- Sao chú ko xem topic ở đầu thread ấy. cái chữ Pawn Tutorial Vietnamese để làm cảnh à
 
có ai hướng dẫn code amx không
PS: các bác chịu khó dịch sang tiếng Việt giúp, làm biếng đọc hiểu tiếng Anh

làm biếng thì nghỉ luôn cho rảnh cậu àh =))
 
Back
Top