Jak dać wszystkim broń
woras
03.06.2015
Plugin jest z jaila ...
Można otworzyć menu z deaglem i wybieramy gracza który go dostanie + wybór amunicji dla niego.
Czy jest możliwość stworzyć w pluginie, dodania wszystkim all broni jednym przyciskiem (teraz, trzeba dawać każdemu pojedyńczo) ? ...
Jeżeli dajemy all wszystkim broń, to jeszcze by pytało ile amunicji ma im przydzielić - 1, 2, 3, 4 czy pełen magazynek 35 naboi lub 0 naboi ?
Niżej kod pluginu
public menu(id, level, cid) { new menu = menu_create("Wybierz Gracza:","menu_broni"); for(new i=0, n=0; i<=32; i++) { if(!is_user_connected(i) || !is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; gracz_id[n++] = i; new nazwa_gracza[64]; get_user_name(i, nazwa_gracza, 63) menu_additem(menu, nazwa_gracza, "0", 0); } menu_setprop(menu, MPROP_BACKNAME, "Wroc"); menu_setprop(menu, MPROP_NEXTNAME, "Dalej"); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie"); menu_display(id, menu); return PLUGIN_HANDLED; } public menu_broni(id, menu, item) { if (get_user_team(id) == 2) { wybrany = gracz_id[item]; new menu = menu_create("\rMenu Broni", "wybieranie") menu_additem(menu, "\wDeagle bez naboi", "1", 0) menu_additem(menu, "\wDeagle z 1 nabojem", "2", 0) menu_additem(menu, "\wDeagle z 3 nabojami", "3", 0) menu_additem(menu, "\wDeagle z pelnym magazynkiem", "4", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } else { client_print(id, print_chat, "Nie masz do tego dostepu Ziomus!") return PLUGIN_HANDLED } return PLUGIN_HANDLED; } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 0); } client_print(id, print_chat, "%s dostal pustego deagla",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } case 2:{ give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 1); } client_print(id, print_chat, "%s dostal deagla z 1 nabojem",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } case 3:{ give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 3); } client_print(id, print_chat, "%s dostal deagla z 3 nabojami",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } case 4:{ give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 35); } client_print(id, print_chat, "%s dostal deagla z pelnym magazynkiem",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } } menu_destroy(menu) return PLUGIN_HANDLED }
Użytkownik woras edytował ten post 03.06.2015 06:26
MAGNET
04.06.2015
Ten temat został przeniesiony z forum
AMX Mod X > Pytania
do
Scripting AMXX > Pytania
NoLiFeR
06.06.2015
aby dać daną broń wszystkim graczom wpisujesz
for(new i=0;i<get_maxplayers()+1;i++) { if(is_user_alive(i) && get_user_team(i) == 1) give_item(i,"weapon_deagle") //code... }
woras
06.06.2015
Chodzi o to by dalej zachować resztę opcji (daj deagle tej osobie z menu) i dodać do jeszcze możliwość dania wszystkim od razu jednej broni tzn. to menu wyboru gracza ma zostać i może na koniec lub na początku (lub w inny sposó dodać opcje "daj broń wszystkim"
NoLiFeR
06.06.2015
public menu(id, level, cid) { new menu = menu_create("Wybierz Gracza:","menu_broni"); for(new i=0, n=0; i<=32; i++) { if(!is_user_connected(i) || !is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; gracz_id[n++] = i; new nazwa_gracza[64]; get_user_name(i, nazwa_gracza, 63) menu_additem(menu, nazwa_gracza); } menu_additem(menu, "Wszyscy", "1", 0) menu_setprop(menu, MPROP_BACKNAME, "Wroc"); menu_setprop(menu, MPROP_NEXTNAME, "Dalej"); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie"); menu_display(id, menu); return PLUGIN_HANDLED; } public menu_broni(id, menu, item) { if (get_user_team(id) == 2) { new access, num[3], nazwa[4],callback; menu_item_getinfo( menu, item, &access, num, 2, nazwa, 3, &callback) if(str_to_num(num) == 1) wybrany = 100 else wybrany = gracz_id[item]; new menu = menu_create("\rMenu Broni", "wybieranie") menu_additem(menu, "\wDeagle bez naboi", "1", 0) menu_additem(menu, "\wDeagle z 1 nabojem", "2", 0) menu_additem(menu, "\wDeagle z 3 nabojami", "3", 0) menu_additem(menu, "\wDeagle z pelnym magazynkiem", "4", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } else { client_print(id, print_chat, "Nie masz do tego dostepu Ziomus!") return PLUGIN_HANDLED } return PLUGIN_HANDLED; } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } switch(item) {
if(wybrany == 100)
{
for(new i=0;i<get_maxplayers()+1;i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 0);
}
return PLUGIN_HANDLED
else
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 0);
return PLUGIN_HANDLED
}
if(wybrany == 100)
{
for(new i=0;i<get_maxplayers()+1;i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 1);
}
return PLUGIN_HANDLED
else
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 1);
return PLUGIN_HANDLED
}
case 2:{
{
for(new i=0;i<get_maxplayers()+1;i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 3);
}
return PLUGIN_HANDLED
else
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 3);
return PLUGIN_HANDLED
}
case 3:{
if(wybrany == 100)
{
for(new i=0;i<get_maxplayers()+1;i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 35);
}
}
return PLUGIN_HANDLED
}
else
{
new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany)
if(dgl_id){
cs_set_weapon_ammo(dgl_id, 35);
client_print(id, print_chat, "%s dostal deagla z pelnym magazynkiem",wybrany)
return PLUGIN_HANDLED
}
} } menu_destroy(menu) return PLUGIN_HANDLED }
woras
06.06.2015
Nie można skompilować.
Mianowicie ... błąd wyskakuje przy:
menu_item_getinfo( menu, item, &access, num, 2, nazwa, 3, &callback)
woras
07.06.2015
fatal error 107: to many error messages on one line
warning 215 expression has no effect
warning 217 lose indentation
error 029: invalid expression, assumed zero
tej funkcji dotyczy
{ for(new i=0;i<get_maxplayers()+1;i++) { if(is_user_alive(i) && get_user_team(i) == 1) { give_item(i, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 0); } } client_print(id, print_chat, "wszyscy dostali pustego deagla") menu_destroy(menu) return PLUGIN_HANDLED } else { give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 0); client_print(id, print_chat, "%s dostal pustego deagla",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } }
NoLiFeR
07.06.2015
{ for(new i=0;i<get_maxplayers();i++) { if(is_user_alive(i) && get_user_team(i) == 1) { give_item(i, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", i) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 0); } } client_print(id, print_chat, "wszyscy dostali pustego deagla") menu_destroy(menu) return PLUGIN_HANDLED } else { give_item(wybrany, "weapon_deagle"); new dgl_id = find_ent_by_owner(-1, "weapon_deagle", wybrany) if(dgl_id){ cs_set_weapon_ammo(dgl_id, 0); client_print(id, print_chat, "%s dostal pustego deagla",wybrany) menu_destroy(menu) return PLUGIN_HANDLED } }
Jeżeli nie będzie działało daj całe sma na PW, źle mi się edytuje tutaj
Użytkownik NoLiFeR edytował ten post 07.06.2015 13:40