witam
napisalem taki kod
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
new const Team[][] = { "TT", "CT", "SPEC" };
new Round = 1;
new CountTeam;
new bool:Ozyw;
new rundy;
new maxpl;
public plugin_init() {
register_plugin("Przenies gracza", "1.0", "KillerBee");
register_event("TextMsg", "RestartGry", "a", "2&#Game_w");
register_event("TextMsg", "RestartContin", "a", "2&#Game_C");
register_logevent("KoniecRundy", 2, "1=Round_End");
maxpl = get_maxplayers();
}
public RestartGry() rundy = 0;
public RestartContin() rundy = -1;
public KoniecRundy() rundy++;
new plr;
public MenuGraczy(id) {
new menu = menu_create("\rWybierz gracza", "MenuGraczyHandle");
for(new i = 1; i <= maxpl; i++) {
if(!is_user_connected(i) || is_user_hltv(i)) continue;
new num[3], nick[64];
num_to_str(i, num, 2);
get_user_name(i, nick, 63);
menu_additem(menu, nick, num);
}
menu_setprop(menu, 2, "Poprzednia strona");
menu_setprop(menu, 3, "Nastepna strona");
menu_setprop(menu, 4, "Wyjdz");
menu_display(id, menu);
}
public MenuGraczyHandle(id, menu, item) {
if(item == -3 || !(get_user_flags(id) & 4)) return;
new data[3], acces, callback
menu_item_getinfo(menu, item, acces, data, 2, _, _, callback);
plr = str_to_num(data);
NarzedziaMenu(id);
}
public NarzedziaMenu(id) {
if(!(get_user_flags(id) & 4)) return 1;
if(CountTeam == 3) CountTeam = 0;
new menu = menu_create("\rPrzenies gracza", "NarzedziaMenuHandle");
new mItem[64];
formatex(mItem, 63, "Druzyna \w[\r%s\w]", Team[CountTeam]);
menu_additem(menu , mItem);
formatex(mItem, 63, "Runda \w[\r%s\w]", Round == 1 ? "Jutro" : Round == 2 ? "Pojutrze" : Round == 3 ? "Za 2 dni" : Round == 4 ? "Za 3 dni" : "Za 4 dni");
menu_additem(menu , mItem);
formatex(mItem, 63, "Ozyw \w[\r%s\w]", Ozyw ? "WL" : "WYL");
menu_additem(menu, mItem);
menu_additem(menu, "Przenies");
menu_setprop(menu, 4, "Wyjdz");
menu_display(id, menu);
return 1;
}
public NarzedziaMenuHandle(id, menu, item) {
if(item == -3 || !(get_user_flags(id) & 4)) {
menu_destroy(menu);
Round = 1;
return;
}
switch(item) {
case 0: {
if(CountTeam == 3) {
CountTeam = 0;
NarzedziaMenu(id);
} else {
CountTeam++;
NarzedziaMenu(id);
}
}
case 1: {
if(Round == 6) {
Round = 1;
NarzedziaMenu(id);
} else {
Round++;
NarzedziaMenu(id);
}
}
case 2: {
Ozyw = !Ozyw;
NarzedziaMenu(id);
}
case 3: {
if(is_user_connected(plr)) Przenies(id, plr, rundy + Round);
}
}
}
public Przenies(id, pid, runda) {
set_pdata_int(pid, 114, 1);
message_begin(2, 86);
write_byte(pid);
write_string(CountTeam == 0 ? "TERRORIST" : CountTeam == 1 ? "CT" :"SPEC");
message_end();
if(Ozyw) ExecuteHamB(Ham_CS_RoundRespawn, pid);
new nick[64]; get_user_name(id, nick, 63);
new nick2[64]; get_user_name(pid, nick2, 63);
client_print(0, 3, "%s przeniosl %s do %s", nick, nick2, Team[CountTeam]);
}
Mysle ze bedzie dzialal, ale nie moge poradzisz sobie z jedna rzecza
a mianowicie jak zrobic przeniesienie gracza w innej rundzie
jak widac zaczalem to robic ale nie wiem jak to skonczyc
moze ktos podpowiedziec?
Użytkownik KillerBee edytował ten post 26.11.2013 20:20


Dodatki SourceMod










