Перейти к содержимому


Фотография

Плагины|ОШЫБКИ


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 57

#21 Profanuch

Profanuch

    Пользователь

  • Пользователь
  • PipPipPip
  • 156 сообщений

Отправлено 26 Март 2020 - 20:16

public Action Command_Say(int client, int args)
{

     if(!client)

     {

         return Plugin_Handled

     }
     int flags;
     if((flags = GetUserFlagBits(client)) & (ADMFLAG_RESERVATION|ADMFLAG_KICK|ADMFLAG_CUSTOM1))
     {
          char sText[256];
          GetCmdArgString(sText, sizeof(sText));
          int startidx;
          if(sText[strlen(sText)-1] == '"')
          {
               sText[strlen(sText)-1] = '\0';
               startidx = 1;
          }
          if (sText[1] == '/') return Plugin_Handled;
          char sBuffer[256];
          if(flags & ADMFLAG_RESERVATION) Format(sBuffer, sizeof(sBuffer), "{blue}*VIP* {blue}%N: {green}%s", client, sText[startidx]);
          else if(flags & ADMFLAG_KICK) Format(sBuffer, sizeof(sBuffer), "{green} *SUPER VIP*{blue}%N: {green}%s", client, sText[startidx]);
          else if(flags & ADMFLAG_CUSTOM1) Format(sBuffer, sizeof(sBuffer), "{blue} *E{green}L{blue}I{green}T{blue}E {green}V{blue}I{green}P{blue}*{blue}%N: {green}%s", client, sText[startidx]);
          CPrintToChatAll(sBuffer);
          return Plugin_Handled;
      }
     return Plugin_Continue;
}

 

все что нужно было зделать

проверку клиенда всегда нужно делать когда делаеш перехват команды или создаеш новую, когда client равен нулю тогда команду визвали с консоли думаю ето знают все

в строке return Plugin_Handled пропущен ";"

да и с этими изменениями плагин перестаёт работать.



#22 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 26 Март 2020 - 20:49

в строке return Plugin_Handled пропущен ";"

да и с этими изменениями плагин перестаёт работать.

Отсутствует строчка #include <colors> , которая дает цвет. Ну, и соответственно, для компиляции нужен этот инклюд.

Скрытый текст

Инклюд, нужный для компиляции здесь: https://drive.google...RQiPCQQzhOFnsJ8


Сообщение отредактировал BloodyBlade: 26 Март 2020 - 21:06


#23 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 27 Март 2020 - 19:02

L 03/07/2020 - 15:23:23: [SM] Exception reported: Language phrase "block doorlock" not found (arg 3)
L 03/07/2020 - 15:23:23: [SM] Blaming: l4d_doorlock.smx
L 03/07/2020 - 15:23:23: [SM] Call stack trace:
L 03/07/2020 - 15:23:23: [SM] [0] VFormat
L 03/07/2020 - 15:23:23: [SM] [1] Line 385, include/halflife.inc::PrintToChatAll
L 03/07/2020 - 15:23:23: [SM] [2] Line 363, plugin.sp::OnPlayerUse

 

проверь правильность перевода, как я понял здесь не правльно вказани аргументы

 

L 03/07/2020 - 21:19:55: [SM] Exception reported: Entity 4 (4) is invalid

L 03/07/2020 - 21:19:55: [SM] Blaming: hpregeneration.smx
L 03/07/2020 - 21:19:55: [SM] Call stack trace:
L 03/07/2020 - 21:19:55: [SM] [0] FindDataMapInfo
L 03/07/2020 - 21:19:55: [SM] [1] Line 245, plugin.sp::GetPlayerHealth
L 03/07/2020 - 21:19:55: [SM] [2] Line 94, plugin.sp::RegenTick

 

добавь проверку IsValidEntity

Как её добавить эту проверку: IsValidEntity
При компиляции, не выдаёт ни одной ошибки
ИСХОДНИК

Скрытый текст


Сообщение отредактировал Medusa: 27 Март 2020 - 19:20


#24 DenMarko

DenMarko

    Участник

  • Пользователь
  • PipPip
  • 58 сообщений

Отправлено 27 Март 2020 - 20:09

Как её добавить эту проверку: IsValidEntity
При компиляции, не выдаёт ни одной ошибки
ИСХОДНИК

Скрытый текст

public Action:RegenTick(Handle:timer, any:client)
{
     if(IsClientInGame(client))
     {
          new clientHp = GetPlayerHealth(client);
          new Hp = GetEntProp(client, Prop_Data, "m_iHealth");
          new Float:tempHp = GetEntPropFloat(client, Prop_Send, "m_healthBuffer");
 
          if (Mode)
          {
               if (clientHp < GetConVarInt(cvarHealth))
               {
                    if (tempHp<1 || Hp>1)
                    {
                         if (clientHp + GetConVarInt(cvarAmount) > GetConVarInt(cvarHealth))
                         {
                              if (strcmp(modName, "tf") == 0)
                                   if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                                        SetPlayerHealth(client, GetConVarInt(cvarHealth), true);
                                   else
                                        SetPlayerHealth(client, GetConVarInt(cvarHealth), true, true);
                              else
                                   SetPlayerHealth(client, GetConVarInt(cvarHealth));
 
                              KillClientTimer(client);
                         }
                         else
                         {
                              if (strcmp(modName, "tf") == 0)
                                   if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                                        SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true);
                                   else
                                        SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true, true);
                              else
                                   SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount));
                         }
                    }
               }
               else
                    KillClientTimer(client);
          }
          else
          {
               if (clientHp < MaxHealth[client] + GetConVarInt(cvarHealth))
               {
                    if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client] + GetConVarInt(cvarHealth))
                    {
                         if (strcmp(modName, "tf") == 0)
                              SetPlayerHealth(client, MaxHealth[client] + GetConVarInt(cvarHealth), true);
                         else
                              SetPlayerHealth(client, MaxHealth[client] + GetConVarInt(cvarHealth));
 
                         KillClientTimer(client);
                    }
                    else if (strcmp(modName, "tf") == 0)
                         if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                              SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true);
                         else
                              SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true, true);
                    else
                         SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount));
                    }
               else
               KillClientTimer(client);
          }
     }
}
 
проверяем игрок в игре или нет

Сообщение отредактировал DenMarko: 27 Март 2020 - 20:10


#25 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 27 Март 2020 - 20:16

Medusa, Regenerative Healing



#26 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 27 Март 2020 - 20:18

 

public Action:RegenTick(Handle:timer, any:client)
{
     if(IsClientInGame(client))
     {
          new clientHp = GetPlayerHealth(client);
          new Hp = GetEntProp(client, Prop_Data, "m_iHealth");
          new Float:tempHp = GetEntPropFloat(client, Prop_Send, "m_healthBuffer");
 
          if (Mode)
          {
               if (clientHp < GetConVarInt(cvarHealth))
               {
                    if (tempHp<1 || Hp>1)
                    {
                         if (clientHp + GetConVarInt(cvarAmount) > GetConVarInt(cvarHealth))
                         {
                              if (strcmp(modName, "tf") == 0)
                                   if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                                        SetPlayerHealth(client, GetConVarInt(cvarHealth), true);
                                   else
                                        SetPlayerHealth(client, GetConVarInt(cvarHealth), true, true);
                              else
                                   SetPlayerHealth(client, GetConVarInt(cvarHealth));
 
                              KillClientTimer(client);
                         }
                         else
                         {
                              if (strcmp(modName, "tf") == 0)
                                   if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                                        SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true);
                                   else
                                        SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true, true);
                              else
                                   SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount));
                         }
                    }
               }
               else
                    KillClientTimer(client);
          }
          else
          {
               if (clientHp < MaxHealth[client] + GetConVarInt(cvarHealth))
               {
                    if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client] + GetConVarInt(cvarHealth))
                    {
                         if (strcmp(modName, "tf") == 0)
                              SetPlayerHealth(client, MaxHealth[client] + GetConVarInt(cvarHealth), true);
                         else
                              SetPlayerHealth(client, MaxHealth[client] + GetConVarInt(cvarHealth));
 
                         KillClientTimer(client);
                    }
                    else if (strcmp(modName, "tf") == 0)
                         if (clientHp + GetConVarInt(cvarAmount) > MaxHealth[client])
                              SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true);
                         else
                              SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount), true, true);
                    else
                         SetPlayerHealth(client, clientHp + GetConVarInt(cvarAmount));
                    }
               else
               KillClientTimer(client);
          }
     }
}
 
проверяем игрок в игре или нет

 

При компиляции ошибка: error 017: undefined symbol "event_PlayerSpawn"

Прикрепленные файлы


Сообщение отредактировал Medusa: 27 Март 2020 - 20:19


#27 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 27 Март 2020 - 22:08

При компиляции ошибка: error 017: undefined symbol "event_PlayerSpawn"

Прикрепленный файл  hpregeneration.sp   8,94К   2 Количество загрузок:


Сообщение отредактировал BloodyBlade: 27 Март 2020 - 23:48


#28 DenMarko

DenMarko

    Участник

  • Пользователь
  • PipPip
  • 58 сообщений

Отправлено 27 Март 2020 - 23:36

Ты удалил событие когда игрок спавнится


Сообщение отредактировал DenMarko: 27 Март 2020 - 23:36


#29 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 27 Март 2020 - 23:49

Ты удалил событие когда игрок спавнится

Обновил версию на новом синтаксисе в своем посте.



#30 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 28 Март 2020 - 13:11

Не понимаю, зачем тужится исправлять этот старый плагин, который срёт хендлами = 2х кол-во игроков, если есть нормальный оптимизированный плагин с таким же и даже большим набором функционала, где все реализовано буквально на одном таймере и хуках.



#31 DenMarko

DenMarko

    Участник

  • Пользователь
  • PipPip
  • 58 сообщений

Отправлено 28 Март 2020 - 17:16

Не понимаю, зачем тужится исправлять этот старый плагин, который срёт хендлами = 2х кол-во игроков, если есть нормальный оптимизированный плагин с таким же и даже большим набором функционала, где все реализовано буквально на одном таймере и хуках.

ну человек хочет понять где он ошибся, и я думаю ето правильно



#32 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 03 Апрель 2020 - 21:40

Добрый вечер,
Поясните как убрать ошибку при компиляции: /home/groups/sourcemod/upload_tmp/php5BI6pI.sp(222) : warning 213: tag mismatch
И как её можно исправить, что бы я потом больше не писала, а сама исправляла эти ошибочки)

Вот здесь несоответствие тега: PauseTime[find]=OnTrace[HookWitchCount-1]; 
Что такое тег?

Прикрепленные файлы


Сообщение отредактировал Medusa: 03 Апрель 2020 - 21:40


#33 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 03 Апрель 2020 - 21:45

Возьмите форк от меня или Марта на одной из последних страниц: https://forums.allie...ad.php?t=167077

Если играете в L4D1, то лучше берите от меня, так как у марта привычка всё ломать для нее.



#34 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 03 Апрель 2020 - 21:52

Возьмите форк от меня или Марта на одной из последних страниц: https://forums.allie...ad.php?t=167077

Если играете в L4D1, то лучше берите от меня, так как у марта привычка всё ломать для нее.

Ничего не поняла с того что вы сказали) :D  :rolleyes:  :huh:



#35 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 03 Апрель 2020 - 22:52

Форк - э\то модификация чужого плагина.

Пролистайте тему, там ближе к концу я выкладывал свою версию, и дальше Март свою.



#36 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 03 Апрель 2020 - 23:14

Форк - э\то модификация чужого плагина.

Пролистайте тему, там ближе к концу я выкладывал свою версию, и дальше Март свою.

Это он в самом низу ?
https://forums.allie...t=167077&page=4
 



#37 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 04 Апрель 2020 - 0:39

Простите, я перепутал название плагина.

 

Можете скачать приложенный файл. Это версия от cravenge с исправлением креша на карте The Passing, как посоветовал EatingPizza в той теме.

Прикрепленные файлы



#38 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 04 Апрель 2020 - 0:55

Простите, я перепутал название плагина.

 

Можете скачать приложенный файл. Это версия от cravenge с исправлением креша на карте The Passing, как посоветовал EatingPizza в той теме.

Ничего, бывает. Спасибо) Я уже его скачала.



#39 Medusa

Medusa

    Пользователь

  • Пользователь
  • PipPipPip
  • 196 сообщений

Отправлено 08 Апрель 2020 - 10:43

Добрый день, нем могу понять что здесь не так:
symbol "FloatDiv" is marked as deprecated: This native is internal implementation. For division use the '/' operator.

 

percent = FloatDiv(float(votes),float(totalVotes));

 



#40 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 08 Апрель 2020 - 11:13

 

Добрый день, нем могу понять что здесь не так:
symbol "FloatDiv" is marked as deprecated: This native is internal implementation. For division use the '/' operator.

 

percent = FloatDiv(float(votes),float(totalVotes));

 

замени на это

percent = float(votes / totalVotes);

Скрытый текст


Сообщение отредактировал Goldfish: 08 Апрель 2020 - 11:13



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных