←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zombie Plague funkcja bindująca

Zablokowany

GoldeN - zdjęcie GoldeN 04.02.2011

Witam. Jaka funkcja binduje w Zombie pod M menu?
Odpowiedz

  • +
  • -
Agent - zdjęcie Agent 04.02.2011

ZM nie binduje nic pod M.

Przy wywołaniu drużyny jest sprawdzane kilka faktów (czy gracz należy do drużyny TT lub CT, czy jest żywy) i na tej podstawie jest tworzone menu gry lub wyboru drużyny :)

Chodzi o Zombie Plague
Odpowiedz

  • +
  • -
Dimni - zdjęcie Dimni 04.02.2011

Wycinek kodu:


register_clcmd("chooseteam", "clcmd_changeteam")
register_clcmd("jointeam", "clcmd_changeteam")



// Block Team Change
public clcmd_changeteam(id)
{
static team
team = fm_cs_get_user_team(id)

// Unless it's a spectator joining the game
if (team == FM_CS_TEAM_SPECTATOR || team == FM_CS_TEAM_UNASSIGNED)
return PLUGIN_CONTINUE;

// Pressing 'M' (chooseteam) ingame should show the main menu instead
show_menu_game(id)
return PLUGIN_HANDLED;
}
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

O.o Niezłe.

A jak się np. Laser Mine binduje pod P i O?
Użytkownik GoldeN edytował ten post 04.02.2011 19:32
Odpowiedz

  • +
  • -
Dimni - zdjęcie Dimni 04.02.2011

To już
client_cmd(id, "polecenie")


dla lasermin jest podkładnie:
client_cmd(id, "bind p +setlaser")


und zdejmowanie:

client_cmd(id, "bind o +dellaser")


EDIT: "Drobne" poprawki... credit @down
Użytkownik Dimni edytował ten post 04.02.2011 19:42
Odpowiedz

  • +
  • -
Agent - zdjęcie Agent 04.02.2011

Bind na laser to już klient u siebie w konsoli wrzuca. Lub można mu z pluginu zbindować (czyli tak jakbyśmy otwarli konsolę gracza i mu wpisali binda)

Bindy:
bind p "+setlaser" //zakładanie na P
bind o "+setlaser" //zakładanie na O
bind p "+dellaser" //zdejmowanie na P
bind o "+dellaser" //zdejmowanie na O
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

Jak można mu automatycznie zbindować a przy wyjściu odbindować?
Odpowiedz

  • +
  • -
Agent - zdjęcie Agent 04.02.2011

wejście:
public client_authorized(id)
{
	client_cmd(id,"unbind ^"p^"") 	
	client_cmd(id,"bind ^"p^" ^"+setlaser^"") 
        client_cmd(id,"unbind ^"o^"") 	
	client_cmd(id,"bind ^"o^" ^"+dellaser^"") 
}

wyjście:
public client_disconnect(id)
{
	client_cmd(id,"unbind ^"p^"") 	
        client_cmd(id,"unbind ^"o^"") 	
}
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

Dziękuję.
Odpowiedz
Zablokowany