|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
помогите перевести
|
|
defaultNick8433 | Дата: Суббота, 19.12.2009, 21:23:06 | Сообщение # 16 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Пример Code public client_putinserver(id)//игрок зашёл на сервер { new name[32],String:forx_name[]="player" get_user_name(id,name,sizeof(name)-1)
client_print(0,print_chat,"Igrok %s zashel",name)//выводит в чат имя зашедшего на сервер игрока
if(name=forx_name)//если имя зашедшего игрока тоже самое,что и в массиве forx_name { //твой код } }
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
Сообщение отредактировал defaultNick8433 - Суббота, 19.12.2009, 21:24:02 |
|
| |
FreeKILL | Дата: Воскресенье, 20.12.2009, 14:31:37 | Сообщение # 17 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| опять ты меня непонял) ладно спс) Добавлено (20.12.2009, 14:31:37) --------------------------------------------- как понять эту строчку? какая размеренность будет у g_maxPlayers ? Code new bool:g_UsedRevive[33], g_MaxPlayers; а это? что означает команда get_pcvar_num ? Code public Revive(Client) { if (!get_pcvar_num(g_Status) || !is_user_connected(Client)) return PLUGIN_CONTINUE;
|
|
| |
defaultNick8433 | Дата: Воскресенье, 20.12.2009, 14:45:08 | Сообщение # 18 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Code new bool:g_UsedRevive[33] переменная булевого типа,которая может принимать значения:правда и ложь.Переменную булевого типо используют в качестве захвата определённого обьекта,события. Code g_iMaxPlayers=get_maxplayers() Здесь в переменной g_iMaxPlayers находится функция,которая даёт информацию о максимальном количестве игроков. Если ты хочешь внести в свою переменную регистрацию квара,имеющий значение целых чисел(num),то get_pcvar_num(pcvar) Code new cvar
cvar=register_cvar("my_cvar","10")
get_pcvar_num(cvar)
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
FreeKILL | Дата: Воскресенье, 20.12.2009, 20:14:31 | Сообщение # 19 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| я вот тут в строичке if (!is_user_connected(Client)) неуверен, нужно ли ставить там восклицательный знак? я так понимаю эту вункцию что: если игрок не подсоединился, то возвращается на 1 уровень назад. дак вот зачем это надо? ведь если человек не подсоединился, то и ввести команду тоже несможет. Code public GiveRevive() { if (!get_pcvar_num(g_Status)) return; for (new Client = 1; Client <= g_MaxPlayers; Client++) { if (!is_user_connected(Client)) return; g_UsedRevive[Client] = false } }
|
|
| |
defaultNick8433 | Дата: Воскресенье, 20.12.2009, 20:22:43 | Сообщение # 20 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| если игрок не подсоединился,то определённая функция будет ложный( g_UsedRevive[Client] = false)
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
FreeKILL | Дата: Воскресенье, 20.12.2009, 20:43:48 | Сообщение # 21 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| Code #include <amxmodx> #include <hamsandwich> #define ADMIN_BAN new bool:g_UsedRevive[33], g_MaxPlayers; new g_Status; public plugin_init() { register_plugin("Revive", "2.0", "Bloodshot"); g_Status = register_cvar("amx_revive", "1"); register_clcmd("say /revive", "Revive", ADMIN_BAN); register_event("HLTV", "GiveRevive", "a", "1=0", "2=0"); g_MaxPlayers = get_maxplayers(); } public Revive(Client) { if (!get_pcvar_num(g_Status) || !is_user_connected(Client)) return PLUGIN_CONTINUE; if (!(get_user_flags(Client) & ADMIN)) { client_print(Client, print_chat, "If you want to, you could pay $10 for admin, then get this command.."); return PLUGIN_HANDLED; } if (is_user_alive(Client)) { client_print(Client, print_chat, "When did you die again?"); return PLUGIN_HANDLED; } if (!g_UserRevive[Client]) { ExecuteHamB(Ham_CS_RoundRespawn, Client); client_print(Client, print_chat, "Revived..."); g_UsedRevive[Client] = true; } else client_print(Client, print_chat, "Wait noob. You can't revive twice a round"); return PLUGIN_HANDLED; } public GiveRevive() { if (!get_pcvar_num(g_Status)) return; for (new Client = 1; Client <= g_MaxPlayers; Client++) { if (!is_user_connected(Client)) return; g_UsedRevive[Client] = false } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */ боюсь спорить ибо в этом я ещё не силен, но мне кажется ты ошибаешся. потому что иначе плагин не имел бы смысла: поясняю, получается если игрок подсоединяется то ему выдается g_UsedRevive[Client] = true а чтобы использовать функцию по плагину нужно чтоб у человека было значение g_UsedRevive[Client] = false . значит функцией никто неможет пользоваться. и ещё несостековка- зачем указывать что будет с игроком если он не подсоединился(цитирую тебя). или может я неправельно понемаю значение "return" после строички if (!is_user_connected(Client)) будь добр поясни ЗЫ: сверху весь плагин
|
|
| |
defaultNick8433 | Дата: Воскресенье, 20.12.2009, 21:05:42 | Сообщение # 22 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Я тебя не понимаю,я просто описал функцию,что ей даётся ложное значения,так что ты требуешь то?Чтобы g_UsedRevive[Client] не был всегда правдивым,делается так g_UsedRevive[Client]=false в новом раунде.Можно даже так сделать: Code public client_disconnect(id) { g_UsedRevive[Client] = false } //т.е права на revive снимутся при отключении игрока
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
PomanoB | Дата: Воскресенье, 20.12.2009, 21:17:09 | Сообщение # 23 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Quote (FreeKILL) public GiveRevive() { if (!get_pcvar_num(g_Status)) return; for (new Client = 1; Client <= g_MaxPlayers; Client++) { if (!is_user_connected(Client)) return; g_UsedRevive[Client] = false } } Это цикл по всем игрокам, здесь устанавливается в ноль g_UsedRevive для каждого игрока. когда админ пишет команду /revive, проверяется, установлено для него g_UsedRevive[id] или нет, если нет, то устанавливается, и админ возрождается, если да, пишет что уже использовал Цикл по всем игрокам выполняется в начале раунда (egister_event("HLTV", "GiveRevive", "a", "1=0", "2=0"); ), что бы админ смог снова использовать эту командуДобавлено (20.12.2009, 21:17:09) --------------------------------------------- defaultNick8433, не хочу говорить ничего плохого, но не путай человека
http://romanov4400.mybrute.com
|
|
| |
FreeKILL | Дата: Воскресенье, 20.12.2009, 21:29:18 | Сообщение # 24 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| я ничего не трубую, я спрашивал что означает : Code if (!is_user_connected(Client)) return; g_UsedRevive[Client] = false а ты написал Quote (FreeKILL) если игрок не подсоединился,то определённая функция будет ложный( g_UsedRevive[Client] = false) дак вот я в ответ написал что несогласен с тобой и обьянил почему. впринципе на мой вопрос можно было ответить без всяких обьяснений примерно так:" if (!is_user_connected(Client)) , return; нужно для того чтобы плагин давал всем вошедшим g_UsedRevive[Client] = false подругому можно было это написать как: if (is_user_connected(Client)) { g_UsedRevive[Client] = false } " это примерно то что я ожидал увидеть) дак это я так думаю, но пишу на форум чтоб узнать мнение более опытных скриптеров, т е может быть я считаю неправильно. дак как ты думаешь? я прав или нет? Добавлено (20.12.2009, 21:29:18) --------------------------------------------- PomanoB, то есть register_event("HLTV", "GiveRevive", "a", "1=0", "2=0"); это строчка чтоб цыкл шел каждый раунд?(риторический вопрос ) просто меня смутило название "HLTV" и я хотел уж было убрать эту строичку за ненадобностью. а что означает "1=0", "2=0" я нашел перевод, что эта надпись означает, что 1 параметр = 0, и 2 параметр = 0. но как это понимать?
|
|
| |
tavot | Дата: Понедельник, 21.12.2009, 13:19:06 | Сообщение # 25 |
Генерал-майор
Группа: Пользователи
Сообщений: 256
Статус: Не в сети
| FreeKILL, http://www.amxmodx.org/funcwiki.php?search=register_event&go=search
|
|
| |
FreeKILL | Дата: Понедельник, 21.12.2009, 15:17:07 | Сообщение # 26 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| tavot, это я читал. и не раз. цитирую: Quote event is a message, such as "DeathMsg", "Damage", et cetera. я это понимаю так "эвент это моовщение, такое как "DeathMsg" , "Damage" и т д НО. есть большое НО... здесь неуказано является ли это название функцией. к примеру будет ли разница если я напишу на месте имени эвента "hsdjjfhd" или "HLTV" это первое НО. цитирую : Quote You can optionally set a list of restrictions/conditions on the event. For example: "2=c4" - 2nd parameter of message must be sting "c4". "3>10" - 3rd parameter must be greater then 10. "3!4" - 3rd must not be 4. "2&Buy" - 2nd parameter of message must contain "Buy" substring. "2!Buy" - 2nd parameter of message can't contain "Buy" substring. вот и второе. перевод таков: вы можите ставить список ограничений\включений в эвент. ну и там примеры... дак вот перевожу "2=с4" второй параментр должен быть равен "с4" . что это за параметр? откуда его брать? если это параметр сообщения( порядок по словам от 0 до +++) то где само сообщение? и тогда как понимать , перевожу "3>10" третий параметр должен быть больше 10? тоесть третие слово больше 10? и ещё, чтоже всетаки означает Quote if (!get_pcvar_num(g_Status) || !is_user_connected(Client)) return PLUGIN_CONTINUE; так никто и не написал(
|
|
| |
PomanoB | Дата: Понедельник, 21.12.2009, 16:05:14 | Сообщение # 27 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| http://wiki.amxmodx.org/Half-Life_1_Game_Events - здесь все сообщения и их параметры Quote (FreeKILL) if (!get_pcvar_num(g_Status) || !is_user_connected(Client)) return PLUGIN_CONTINUE; Если плагин выключен (amx_revive 0) либо игрок не подсоединён, то ничего не делать
http://romanov4400.mybrute.com
|
|
| |
FreeKILL | Дата: Понедельник, 21.12.2009, 16:48:56 | Сообщение # 28 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| а как сделать чтоб при использовании функции задавалось значение булевой функции. к примеру мне надо чтоб когда заходил игрок ему присваивалось значение usedrevive = false а как только он использовал функцию revive сразу менялось значение на true . я пробовал так: [code]new bool:usedrevive[33] public client_connect(id) { usedrevive = false } public revive { .... ExecuteHamB(Ham_CS_RoundRespawn, Client) client_print(Client, print_chat, "Revived...") g_UsedRevive[Client] = true; } у меня вылетает ошибки
|
|
| |
PomanoB | Дата: Понедельник, 21.12.2009, 18:27:23 | Сообщение # 29 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Ну во первых у тебя разный регистр во вторых надо public client_connect(id) { usedrevive[id] = false } public revive(Client) { .... ExecuteHamB(Ham_CS_RoundRespawn, Client) client_print(Client, print_chat, "Revived...") usedrevive[Client] = true; }
http://romanov4400.mybrute.com
|
|
| |
FreeKILL | Дата: Вторник, 22.12.2009, 12:48:26 | Сообщение # 30 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| ...мля... вот я зделал плагин вроде все норм а ошибок много...мне пишет строчку, а я невижу где там ошибка. Code /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc>
#define PLUGIN "revive" #define VERSION "0.01" #define AUTHOR "~Free*.*KILL~"
new g_status
new bool:g_usedrevive_me[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /revive", "revive_me", ADMIN_ALL, "") register_event("HLTV", "giverevive", "a", "1=0", "2=0") g_status = register_cvar("amx_revive", "1")
g_maxplayers = get_maxplayers() }
public revive_me(client) { if(g_usedrevive_me[client] = true) return PLUGIN_HANDLED if(!cmd_access(client,level,cid,0)) client_print(client, print_chat, "You are not have admin access...") return PLUGIN_HANDLED if(is_user_alive(client)) client_print(client, print_chat, "Die! And use this command))") return PLUGIN_HANDLED ExecuteHamb(Ham_CS_roundRespawn, client) client_print(client, print_chat, "You are revived. Be carefful)" g_usedrevive_me[client] = true else client_print(client, print_chat, "that's all :P") return PLUGIN_HANDLED }
public giverevive(client) { for (new Client = 1; Client <= g_MaxPlayers; Client++) { g_usedrevive_me[client] = false } } это весь плаг. ошибки в 23 28 31 и 39 строчках . кто может помогите, что мне тут исправить? Добавлено (22.12.2009, 12:48:26) --------------------------------------------- хм... я исправил все ошибки, все. но теперь половина функций не работает. вот плагин: Code /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <hamsandwich>
#define PLUGIN "revive" #define VERSION "0.01" #define AUTHOR "~Free*.*KILL~"
new g_status
new g_MaxPlayers
new bool:g_usedrevive_me[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_status = register_cvar("amx_revive", "1") register_clcmd("say /revive", "revive_me", ADMIN_ALL, "") register_event("HLTV", "giverevive", "a", "1=0", "2=0")
g_MaxPlayers = get_maxplayers() }
public revive_me(client) { if (!get_pcvar_num(g_status) || !is_user_connected(client)) return PLUGIN_CONTINUE; if(g_usedrevive_me[client]) return PLUGIN_HANDLED if (is_user_alive(client)) { client_print(client, print_chat, "When did you die again?") return PLUGIN_HANDLED } if(!g_usedrevive_me[client]) { ExecuteHam(Ham_CS_RoundRespawn, client) client_print(client, print_chat, "You are revived)") g_usedrevive_me[client]=true } else client_print(client, print_chat, "that's all :P") return PLUGIN_HANDLED }
public giverevive(client) { if (!get_pcvar_num(g_status)) return; for (new Client = 1; Client <= g_MaxPlayers; Client++) { if (!is_user_connected(Client)) return; g_usedrevive_me[client] = false } } у меня такая трабла: я хочу чтоб каждый новый раунд всем людям(клиентам) давался бул "g_used_revive_me=false" а когда он использует команду "/revive" бул становился равным "true" . и так каждый раунд. но у меня когда токо зашел и если ты жив пишет "ты ещё не умер" все правильно, а когда сдох пишет "востановился" и ресает тебя. НО! после одного реса сразу все проподает. больше на команду /revive ничто не реагирует. в чем дело? кто поможет буду оч признателен)
|
|
| |
| AMX Mod X Russian Community © 2006-2025 | |
|
| |