На сайте S2D такую вещь выложил Sk1L Меню выбора оружия для AAD Rumble'a
[pwn]К переменным
Код
new Menu:GunMenu, Menu:GMenu2;
Заменяем скины:
Код
AddPlayerClassEx(T_ATT,ATTACKER_SKIN,-2659.1018,1410.2543,910.1703,176.3359,0,0,0,0,0,0);// Attacker
AddPlayerClassEx(T_DEF,DEFENDER_SKIN,-2659.1018,1410.2543,910.1703,176.3359,0,0,0,0,0,0);// Defender
AddPlayerClassEx(T_REF,REFEREE_SKIN, -2659.1018,1410.2543,910.1703,176.3359,0,0,0,0,0,0);// The Ref
В OnGameModeInit:
Код
GunMenu = CreateMenu("Gun Menu", 2, 50.0, 180.0, 100.0, 50.0);
AddMenuItem(GunMenu, 0, "Deagle"); AddMenuItem(GunMenu, 1, "150");
AddMenuItem(GunMenu, 0, "Shotgun"); AddMenuItem(GunMenu, 1, "100");
AddMenuItem(GunMenu, 0, "M4"); AddMenuItem(GunMenu, 1, "600");
AddMenuItem(GunMenu, 0, "MP5"); AddMenuItem(GunMenu, 1, "400");
AddMenuItem(GunMenu, 0, "Rifle"); AddMenuItem(GunMenu, 1, "120");
AddMenuItem(GunMenu, 0, "Sniper"); AddMenuItem(GunMenu, 1, "100");
AddMenuItem(GunMenu, 0, "Grenades"); AddMenuItem(GunMenu, 1, "5");
GMenu2 = CreateMenu("Gun Menu 2", 2, 50.0, 180.0, 100.0, 50.0);
AddMenuItem(GMenu2, 0, "Deagle"); AddMenuItem(GMenu2, 1, "150");
AddMenuItem(GMenu2, 0, "Shotgun"); AddMenuItem(GMenu2, 1, "100");
AddMenuItem(GMenu2, 0, "M4"); AddMenuItem(GMenu2, 1, "600");
AddMenuItem(GMenu2, 0, "MP5"); AddMenuItem(GMenu2, 1, "400");
AddMenuItem(GMenu2, 0, "Rifle"); AddMenuItem(GMenu2, 1, "120");
AddMenuItem(GMenu2, 0, "Sniper"); AddMenuItem(GMenu2, 1, "100");
AddMenuItem(GMenu2, 0, "Grenades"); AddMenuItem(GMenu2, 1, "5");
AddMenuItem(GMenu2, 0, "<"); AddMenuItem(GMenu2, 1, "Back");
Заменяем:
Код
public OnPlayerRequestClass(playerid, classid) {
Player[playerid][pTeam] = T_NON;
Player[playerid][pPlaying] = false;
GunSet[playerid] = classid;
gPlayerSpawned[playerid] = 0;
switch(classid) {
case 0:{GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~l~<~r~]~g~~h~~h~Attacker~l~~r~]~l~>",3000,3);
Player[playerid][pTeam] = T_ATT;
}
case 1:{GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~l~<~r~]~b~~h~~h~Defender~l~~r~]~l~>",3000,3);
Player[playerid][pTeam] = T_DEF;
}
default:{GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~l~<~r~]~r~~h~~h~Referee~l~~r~]~l~>",3000,3);
Player[playerid][pTeam] = T_REF;
}
}
mySetPlayerColor(playerid,AAD_COLOR_GREY);
SetPlayerInterior(playerid,4);
SetPlayerPos(playerid,441.4096,-82.0238,999.5547);
SetPlayerFacingAngle(playerid,90.0);
SetPlayerCameraPos(playerid,434.1671,-82.1177,999.5547);
SetPlayerCameraLookAt(playerid,441.4096,-82.0238,999.5547);
return 1;
}
Заменяем:
Код
StrapUp(playerid) {
ShowMenuForPlayer(GunMenu, playerid);
TogglePlayerControllable(playerid, 0);
}
Вставляем:
Код
public OnPlayerSelectedMenuRow(playerid, row) {
new Menu:current;
current = GetPlayerMenu(playerid);
if(current == GunMenu) { ShowMenuForPlayer(GMenu2, playerid);
switch(row) {
case 0: {GivePlayerWeapon(playerid, 24, 150);}
case 1: {GivePlayerWeapon(playerid, 25, 100);}
case 2: {GivePlayerWeapon(playerid, 31, 600);}
case 3: {GivePlayerWeapon(playerid, 29, 400);}
case 4: {GivePlayerWeapon(playerid, 33, 120);}
case 5: {GivePlayerWeapon(playerid, 34, 100);}
case 6: {GivePlayerWeapon(playerid, 16, 5);
}
}
} else if(current == GMenu2) {
TogglePlayerControllable(playerid, 1);
switch(row) {
case 0: {GivePlayerWeapon(playerid, 24, 150);}
case 1: {GivePlayerWeapon(playerid, 25, 100);}
case 2: {GivePlayerWeapon(playerid, 31, 600);}
case 3: {GivePlayerWeapon(playerid, 29, 400);}
case 4: {GivePlayerWeapon(playerid, 33, 120);}
case 5: {GivePlayerWeapon(playerid, 34, 100);}
case 6: {GivePlayerWeapon(playerid, 16, 5);}
case 7: {ResetPlayerWeapons(playerid); ShowMenuForPlayer(GunMenu, playerid);
}
}
}
return 1;
}
public OnPlayerExitedMenu(playerid) {
ResetPlayerWeapons(playerid);
ShowMenuForPlayer(GunMenu, playerid);
return 1;
}
Ну и в /end вставляем HideMenuForPlayer.
Команда /gunmenu [id]:
Код
if(strcmp(cmd, "/gunmenu", true) == 0 && IsPlayerAdmin(playerid) == 1) {
new tmp[256];
tmp = adminspec_strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, AAD_COLOR_WHITE, "USAGE: /gunmenu [playerid]");
return 1;
}
if(Current == -1) {
SendClientMessage(playerid, AAD_COLOR_RED, "*** Раунд ещё не начался!");
return 1;
}
specid = strval(tmp);
if(!IsPlayerConnected(specid)) {
SendClientMessage(playerid, AAD_COLOR_RED, "*** Данный игрок отсутствует.");
return 1;
} else {
GetPlayerName(specid, gname, sizeof(gname));
format(ruString, STR, "*** Администратор дал возможность игроку %s сменить оружие.", gname);
SendClientMessageToAll(AAD_ADMIN, ruString);
ResetPlayerWeapons(specid);
StrapUp(specid);
}
return 1;
}[/pwn]
Добавлено (25.10.2009, 13:37)
---------------------------------------------
P.s. жду плюсика 