AMX MOD X
Суббота, 27.04.2024, 05:10:06



Приветствую Вас Гость | RSS
[ Главная ] [ помогите перевести - Страница 2 - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » помогите перевести (функции)
помогите перевести
defaultNick8433Дата: Суббота, 19.12.2009, 21:23:06 | Сообщение # 16
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Пример
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
Репутация: 4
Статус: Не в сети
опять ты меня непонял) ладно спс)

Добавлено (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
Репутация: 19
Статус: Не в сети
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
Репутация: 4
Статус: Не в сети
я вот тут в строичке 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
Репутация: 19
Статус: Не в сети
если игрок не подсоединился,то определённая функция будет ложный( g_UsedRevive[Client] = false)

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
FreeKILLДата: Воскресенье, 20.12.2009, 20:43:48 | Сообщение # 21
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
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
Репутация: 19
Статус: Не в сети
Я тебя не понимаю,я просто описал функцию,что ей даётся ложное значения,так что ты требуешь то?Чтобы 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
Репутация: 70
Статус: Не в сети
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
Репутация: 4
Статус: Не в сети
я ничего не трубую, я спрашивал что означает :
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
Репутация: 3
Статус: Не в сети
FreeKILL,
http://www.amxmodx.org/funcwiki.php?search=register_event&go=search
 
FreeKILLДата: Понедельник, 21.12.2009, 15:17:07 | Сообщение # 26
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
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
Репутация: 70
Статус: Не в сети
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
Репутация: 4
Статус: Не в сети
а как сделать чтоб при использовании функции задавалось значение булевой функции. к примеру мне надо чтоб когда заходил игрок ему присваивалось значение 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
Репутация: 70
Статус: Не в сети
Ну во первых у тебя разный регистр
во вторых надо
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
Репутация: 4
Статус: Не в сети
...мля... вот я зделал плагин вроде все норм а ошибок много...мне пишет строчку, а я невижу где там ошибка.
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 Форум » Скриптинг » Помощь по скриптингу » помогите перевести (функции)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

AMX Mod X Russian Community © 2006-2024