Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 24 апр 2024, 02:16

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: check_country_code3 ?
СообщениеДобавлено: 02 янв 2016, 16:52 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
23 апр 2024, 01:07
Сообщения: 1025
Hi,
I want change of user country code ?
i try that !
ex:
Код:
if (equali(country, "DZA"))  
     {
     format(strb,32,"%s[%s]",username,"USB")
     } 
but (
Изображение

Код:
public check_name(id,username[])
{   
     get_user_ip(id, playerip, 16, 1)
     if(geoip_code3(playerip,country)){
     format(stra,4,"[%s]",country)
     if (contain(username,stra) == -1){
     geoip_code3(playerip,country)
     format(strb,32,"%s[%s]",username,country)
     if (equali(country, "DZA")) 
     {
     format(strb,32,"%s[%s]",username,"USB")
     }
     set_user_info(id,"name",strb)
      }
   }
   return PLUGIN_CONTINUE

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: check_country_code3 ?
СообщениеДобавлено: 02 янв 2016, 18:53 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 апр 2024, 13:24
Сообщения: 6867
Your code formatting is very bad. This is how it should look:
Код:
public check_name(id,username[])
{   
   get_user_ip(id, playerip, 16, 1)
   if (geoip_code3(playerip, country))
   {
      format(stra,4,"[%s]", country)
      if (contain(username, stra) == -1)
      {
         geoip_code3(playerip, country)
         format(strb,32,"%s[%s]", username, country)
         if (equali(country, "DZA")) 
         {
            format(strb,32,"%s[%s]", username, "USB")
         }
         set_user_info(id,"name", strb)
      }
   }
   return PLUGIN_CONTINUE
}
In future posts try to follow good formatting or your examples are too hard to understand.
Код:
      format(stra,4,"[%s]", country) 
      if (contain(username, stra) == -1)
You think you bail out if country code contained in the user name, but you forgot that you change country code later to "USB", so user with name "Player [USB]" will never match here, so country code will be added again. Could be so:
Код:
      format(stra,4,"[%s]", country) 
      if (contain(username, stra) == -1 && contain(username, "[USB]") == -1)
Also your code has some redundancy and errors. Here how it should be:
Код:
public check_name(id,username[])
{
   new stra[32], strb[32];
   get_user_ip(id, playerip, 16, 1)
   if (geoip_code3(playerip, country))
   {
      if (equali(country, "DZA"))
         copy(stra, charsmax(stra), "[USB]");
      else
         format(stra, 5, "[%s]", country);   // formatted length limited to 5
      if (contain(username, stra) == -1)
      {
         // You should limit username first, because you add country code to the end. Cut 5 letters
         username[27] = 0;
         format(strb, charsmax(strb), "%s%s", username, stra);
         set_user_info(id, "name", strb);
      }
   }
   return PLUGIN_CONTINUE;
}


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB