Target menu
|
|
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 08:53:59 | Сообщение # 1 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Я создал меню клиенту, он выбирает там игрока, как сделать чтобы выбранному посылалось меню, и по нажатию "Да" телепортировался по Координатам клиента которые были получены при выборе игрока.
|
|
| |
TEIN
|
Дата: Воскресенье, 24.02.2013, 08:58:51 | Сообщение # 2 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Наработки?
|
|
| |
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 09:03:21 | Сообщение # 3 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Ах да.
Код #include <sourcemod> #include <sdktools> #include <cstrike>
new Float:checkpoint[MAXPLAYERS+1][3];
public Plugin:myinfo = { name = "MiniGame", author = "Darkeneez", description = "MiniGame TeamHelp", version = "0.1", url = "http://Servers-info.ru" };
public OnPluginStart() { RegConsoleCmd("teamhelp", team_help); RegConsoleCmd("th", team_help); }
public Action:team_help(client, args) { new Handle:menu = CreateMenu(Select_Menu); SetMenuTitle(menu, "Выберите Игрока: \n \n"); decl String:userid[15], String:name[32]; for(new i = 1; i <= MaxClients; i++) { if(IsClientInGame(i)) { IntToString(GetClientUserId(i), userid, 15); GetClientName(i, name, 32); AddMenuItem(menu, userid,name); } } DisplayMenu(menu, client, 0); }
public Select_Menu(Handle:menu, MenuAction:action, client, option) { if(action == MenuAction_End) { CloseHandle(menu); return; } if(action != MenuAction_Select) return; decl String:userid[15]; GetMenuItem(menu, option, userid, 15); new target = GetClientOfUserId(StringToInt(userid)); if(target > 0) { checkpoint[client][0] = 0.0; checkpoint[client][1] = 0.0; checkpoint[client][2] = 0.0; GetEntPropVector(client, Prop_Send, "m_vecOrigin", checkpoint[client]); PrintToChat(client, "Координаты: %d", checkpoint[client]); TpAccept(target); } else PrintToChat(client, "НЕ найден"); }
TpAccept(target); { new Handle:tmenu = CreateMenu(Select_MenuTarget); SetMenuTitle(tmenu, "Вы согласны на телепортацию?\n \n"); AddMenuItem(tmenu, "Да"); AddMenuItem(tmenu, "Нет"); } DisplayMenu(tmenu, target, 0); }
public Select_MenuTarget(Handle:menu, MenuAction:action, target, option) { if(action == MenuAction_End) { CloseHandle(tmenu); return; } if(action != MenuAction_Select) return; { TeleportEntity(target, checkpoint[client], NULL_VECTOR, NULL_VECTOR); PrintToChat(target, "Телепортирован на: %d", checkpoint[client]); } }
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 24.02.2013, 09:03:55 | Сообщение # 4 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Создаешь меню с "ДА" отправляешь созданное меню игроку bool:DisplayMenu(Handle:menu, client, time); - отправить меню игроку на time сек (0 = всегда) после нажатия игроком ДА телепортируешь TeleportEntity(index, NULL_VECTOR, 1, 2)
|
|
| |
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 09:04:58 | Сообщение # 5 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Цитата (Scarface_slv) Создаешь меню с "ДА" отправляешь созданное меню игроку bool:DisplayMenu(Handle:menu, client, time); - отправить меню игроку на time сек (0 = всегда) после нажатия игроком ДА телепортируешь TeleportEntity(index, NULL_VECTOR, 1, 2) Но мне нужно не игроку, а цели.
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 24.02.2013, 09:06:50 | Сообщение # 6 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Оу а что не так? у тебя же вроде все правильно кроме Код if(action != MenuAction_Select) return; { TeleportEntity(target, checkpoint[client], NULL_VECTOR, NULL_VECTOR); PrintToChat(target, "Телепортирован на: %d", checkpoint[client]); } надо так Код if(action != MenuAction_Select) return; TeleportEntity(target, checkpoint[client], NULL_VECTOR, NULL_VECTOR); PrintToChat(target, "Телепортирован на: %d", checkpoint[client]);
|
|
| |
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 09:23:46 | Сообщение # 7 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
http://s40.radikal.ru/i090/1302/04/85c63a305e47.jpg
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 24.02.2013, 09:49:34 | Сообщение # 8 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Убрал ошибки но там есть еще недочеты...
Гости не могут скачивать файлы
|
|
|
| |
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 09:51:51 | Сообщение # 9 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Спасибо.
|
|
| |
TEIN
|
Дата: Воскресенье, 24.02.2013, 09:59:42 | Сообщение # 10 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Сомневаюсь, что будет работать, но вот...
Гости не могут скачивать файлы
|
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 24.02.2013, 10:17:10 | Сообщение # 11 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
ты помоему в конце пытаешься телепортировать игрока checkpoint[param1] но у него нет координат, ты сохранил их в другом индексе
|
|
| |
TEIN
|
Дата: Воскресенье, 24.02.2013, 10:23:02 | Сообщение # 12 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Даже и не знаю.. Просто ведь в начале new Float:checkpoint[MAXPLAYERS+1][3];
|
|
| |
Scarface_slv
|
Дата: Воскресенье, 24.02.2013, 10:27:20 | Сообщение # 13 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
не это имею виду) ты отправил в другое меню где ДА и НЕТ один индекс target а координаты ты сохранил в другом индексе который ты так и не отправил) а в public Handler индекс param1 это и есть target)
Сообщение отредактировал Scarface_slv - Воскресенье, 24.02.2013, 10:27:59 |
|
| |
TEIN
|
Дата: Воскресенье, 24.02.2013, 11:22:13 | Сообщение # 14 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Раб вариант должен быть..
Гости не могут скачивать файлы
|
|
|
| |
Darkeneez
|
Дата: Воскресенье, 24.02.2013, 13:49:40 | Сообщение # 15 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Цитата (DoK_1997) Раб вариант должен быть.. Разжуй для будущего плиз, почему param1? И в нем цель или сам клиент?
|
|
| |