[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
cái này là lập trình ông ới ko phải là đồ ăn :))

Nói cho vui vậy thôi , chứ nhìn cây launcher chuẩn phết nhất là anim phóng lựu =)) =)) =))
 
^
Cũng dễ hỉu nhỉ, khá giống với C, ví dụ trên giống như viết chương trình con thật, thú ví đấy :D
sẽ còn nhiều điều thú vị trước mắt ;))
 
^
^
- 3 tiếng để làm cây đó with full
 
Dư định ban đầu là học để viết sound và text trước, về sau mới dám dính đến models :D
 
^
- What do you mean ?. Sound làm sao viết dc
 
^
- What do you mean ?. Sound làm sao viết dc
Ý hắn là đả động đến sound như kiểu play sound ấy:|ko phải viết sound:|
 
@Dias: em muốn plugins của em luôn hoạt động (khi kết nối) thì làm thế nào ạ? Chắc ko dùng event được ùi
 
@Dias: em muốn plugins của em luôn hoạt động (khi kết nối) thì làm thế nào ạ? Chắc ko dùng event được ùi
Ý bạn là khi client connect đến server á? Nếu thế thì dùng public client_connect là đc. Còn nếu muốn plugin của mình chạy trên server khác thì bạn phải kêu thèn chủ server nhét plugin của bạn vào mới chạy đc.
 
@buiducduy
Client là client, server là server. nói thế client hack server dễ như chơi :))

@Kid:
PHP:
emit_sound ( index, channel, sample[], Float:vol, Float:att,flags, pitch )

PHP:
/* Constants for emit_sound() */
/* Channels */
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_STREAM 5 /* allocate stream channel from the static or dynamic area */
#define CHAN_STATIC 6 /* allocate channel from the static area */
#define CHAN_NETWORKVOICE_BASE 7 /* voice data coming across the network */
#define CHAN_NETWORKVOICE_END 500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */

/* Attenuation values */
#define ATTN_NONE 0.00
#define ATTN_NORM 0.80
#define ATTN_IDLE 2.00
#define ATTN_STATIC 1.25

/* Pitch values */
#define PITCH_NORM 100 /* non-pitch shifted */
#define PITCH_LOW 95 /* other values are possible - 0-255, where 255 is very high */
#define PITCH_HIGH 120

/* Volume values */
#define VOL_NORM 1.0

Example:
PHP:
#include <amxmodx>

new const sound_file[] = "weapons/ak47-1.wav"

public plugin_init()
{
       register_plugin("Test Sound", "1.0", "Dias")
       register_clcmd("say /fireinthehole", "play_sound")
}

public plugin_precache()
{
      precache_sound(sound_file) // Viết bài văn thì phải chuẩn bị giấy trước chứ nhỉ ?
}

public play_sound(id)
{
      emit_sound(id, CHAN_AUTO, sound_file, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
 
Chỉnh sửa cuối:
[spoil]@buiducduy
Client là client, server là server. nói thế client hack server dễ như chơi :))

@Kid:
PHP:
emit_sound ( index, channel, sample[], Float:vol, Float:att,flags, pitch )

PHP:
/* Constants for emit_sound() */
/* Channels */
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_STREAM 5 /* allocate stream channel from the static or dynamic area */
#define CHAN_STATIC 6 /* allocate channel from the static area */
#define CHAN_NETWORKVOICE_BASE 7 /* voice data coming across the network */
#define CHAN_NETWORKVOICE_END 500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */

/* Attenuation values */
#define ATTN_NONE 0.00
#define ATTN_NORM 0.80
#define ATTN_IDLE 2.00
#define ATTN_STATIC 1.25

/* Pitch values */
#define PITCH_NORM 100 /* non-pitch shifted */
#define PITCH_LOW 95 /* other values are possible - 0-255, where 255 is very high */
#define PITCH_HIGH 120

/* Volume values */
#define VOL_NORM 1.0

Example:
PHP:
#include <amxmodx>

new const sound_file[] = "weapons/ak47-1.wav"

public plugin_init()
{
       register_plugin("Test Sound", "1.0", "Dias")
       register_clcmd("say /fireinthehole", "play_sound")
}

public plugin_precache()
{
      precache_sound(sound_file) // Viết bài văn thì phải chuẩn bị giấy trước chứ nhỉ ?
}

public play_sound(id)
{
      emit_sound(id, CHAN_AUTO, sound_file, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
[/spoil]
Còn cách khác đấy:>
PHP:
client_cmd(id, "spk %s", sound_file)
 
Chỉnh sửa cuối:
Ý bạn là khi client connect đến server á? Nếu thế thì dùng public client_connect là đc. Còn nếu muốn plugin của mình chạy trên server khác thì bạn phải kêu thèn chủ server nhét plugin của bạn vào mới chạy đc.

À ko, nghĩa là nó luôn hoạt động vs mọi sự kiện ế ! (ví dụ nó hoạt động ngay cả khi người chơi chết, sống....)

---------- Post added at 20:08 ---------- Previous post was at 20:02 ----------

Xin hỏi thay vì
PHP:
#define MAXPLAYERS 32
Thì em dùng:
PHP:
new maxplayers = 32
được hem? Sao lị cứ phải define nhỉ?

---------- Post added at 20:14 ---------- Previous post was at 20:08 ----------

Các bác xem hộ em cái này.. em viết nó ko hoạt động
PHP:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>


public plugin_init() {
	register_plugin( "AWM", "1.0", "buiducduy" );
	RegisterHam( Ham_Spawn, "player", "fwdPlayerSpawn", 1 ); khi người chơi sống lại
}

public fwdPlayerSpawn( id ) 
{
if( is_user_alive( id ) && !is_user_bot( id )) client_cmd(id,"awp")
}
 
@buiducduy:
1. cái đó số lượng max player nó không bao giờ thay đổi nên ta dùng Define, chứ hơi đâu tạo ra 1 biến cho tốn 1 byte bộ nhớ nhỉ ?. TỐi ưu hóa là hàng đầu mà
2. Mục đích plugin này là sao ?. Ép buộc thằng player sài AWP à ?, Impossible...
 
@buiducduy:
1. cái đó số lượng max player nó không bao giờ thay đổi nên ta dùng Define, chứ hơi đâu tạo ra 1 biến cho tốn 1 byte bộ nhớ nhỉ ?. TỐi ưu hóa là hàng đầu mà
2. Mục đích plugin này là sao ?. Ép buộc thằng player sài AWP à ?, Impossible...

Ý tưởng của em là thế này (2)
Em muốn làm kiểu ba lô như của CF. (khi vào ván mới nó tự mua vũ khí, ở đây em cứ đặt là awp đi...Thực ra Launcher sẽ xuất data ra 1 file rồi plugins đọc file đó rồi client_cmd(id,file_read(...))

---------- Post added at 20:39 ---------- Previous post was at 20:36 ----------

Em ghét mấy cái vụ tốn byte này quá...học pascal cũng thế.. viết thuật toán chạy như điên mà cô giáo vãn bảo ko được vì tốn 1 byte
(lúc thì byte, lúc thì integer bố ai mà nhớ được nó thuộc khoảng bao nhiu.. cứ chơi integer và real cho lành.. :( thế là toi điểm 10 :)))
 
Cái đó có thể làm dc nhưng mất thời gian, chắc tôi ko có time làm rồi
- làm thế này:
+ block buy, block lượm súng
+ làm nút change balo,
+ Cách give súng: give_item(id, "weapon_awp") (Fun module). Cách chuyển súng engclient_cmd(id, "weapon_awp"), ví dụ đang cầm dao thì nó chuyển qua AWP nhưng nên để task là 1.0 cho engclient_cmd sau khi give. vì vừa give chưa nhận đã deploy súng chắc lỗi
 
@Dias: Bác giúp em việc căn tọa độ cho SPR và show_hudmessage được ko? sao em di chuyển có 0.1 mà nó bị lệch dữ quá...
 
Spr thì phải sài Metahook (pm tên kungfulon hay redplane để hd về MH). Show_HudMSG thì set hud msg trước, x và y, x ngang y dọc, học toán L7 ~ L9 là biết về trục tọa độ ồi chứ ?. nó vậy đó :))
 
Spr thì phải sài Metahook (pm tên kungfulon hay redplane để hd về MH). Show_HudMSG thì set hud msg trước, x và y, x ngang y dọc, học toán L7 ~ L9 là biết về trục tọa độ ồi chứ ?. nó vậy đó :))

Em biết chứ... Em làm buymenu nhiều rồi mà.. nhưng set có 0.1 thôi mà nó...lệch dữ quá
Còn metahook bác dạy em được ko? Trước giờ em thêm SPR ko dùng cái đó..
 
mấy vấn đề đó tôi xin đầu hàng :))
 
Back
Top