←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak dać wszystkim broń

  • +
  • -
woras - zdjęcie 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
Odpowiedz

  • +
  • -
MAGNET - zdjęcie MAGNET 04.06.2015

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod X > Pytania

do

Scripting AMXX > Pytania
Odpowiedz

  • +
  • -
woras - zdjęcie woras 05.06.2015

Przepraszam

znajdzie się ktoś kto ogarnie ? 

 

dzięki 

Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie 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...
}
Odpowiedz

  • +
  • -
woras - zdjęcie 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óB) dodać opcje "daj broń wszystkim"

Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie 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)
{
case 0:{
if(wybrany == 100)
{
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
}
}
case 1:{
if(wybrany == 100)
{
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, 1);
}
}
client_print(id, print_chat, "wszyscy dostali deagla z 1 nabojem")
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, 1);
client_print(id, print_chat, "%s dostal deagla z 1 nabojem",wybrany)
menu_destroy(menu)
return PLUGIN_HANDLED
}
}

case 2:{

if(wybrany == 100)
{
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, 3);
}
}
client_print(id, print_chat, "wszyscy dostali deagla z 3 nabojami")
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, 3);
client_print(id, print_chat, "%s dostal deagla z 3 nabojami",wybrany)
menu_destroy(menu)
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)
{

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, 35);

}
}

client_print(id, print_chat, "wszyscy dostali deagla z pelnym magazynkiem")
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, 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 }

 

Odpowiedz

  • +
  • -
woras - zdjęcie woras 06.06.2015

Nie można skompilować.

Mianowicie ... błąd wyskakuje przy:

menu_item_getinfo( menu, item, &access, num, 2, nazwa, 3, &callback)
Odpowiedz

  • +
  • -
Asiap - zdjęcie Asiap 07.06.2015

Usun 2x znak: &

Odpowiedz

  • +
  • -
woras - zdjęcie 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
}
}
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie 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
Odpowiedz