08:18
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: Alcoholik  
Вопрос | Ответ
MarkeloFFДата: Вторник, 27.03.2012, 05:30 | Сообщение # 3976
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
Latron, Мне нужно чтобы было просто /incar id место не к чему, и чтобы садить можно было только когда ты(мент) находишься в машине, сидишь за рулём.
MarkeloFFДата: Вторник, 27.03.2012, 05:41 | Сообщение # 3977
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
Латрон, мне надо чтобы садить преступника в машину мог только мент который сидит в самой машине за рулём, и ссадить мог на любое из 3х мест,чтобы не надо было писать место, а просто /incar id

И ещё ищу ФС который отправлял сообщения в чат типа решите пример: 17+21 = ? Ответы: /sms *** текст, если правильно ответил тебе прибавляются деньги.



Сообщение отредактировал MarkeloFF - Вторник, 27.03.2012, 06:07
RudeBoyДата: Вторник, 27.03.2012, 09:03 | Сообщение # 3978
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
как лучше сделать для команд, использовать все команды как if(strcmp(cmd, или изменить все на else if(strcmp(cmd, много чего мне подсказывает что лучше else if, так лучше?
MarkeloFFДата: Вторник, 27.03.2012, 11:06 | Сообщение # 3979
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
В общем, такая проблема: нужно чтобы когда игрок оплачивает штраф менту(/accept ticket) игроку снимались звёзды. Но они не снимаются.
Код:
Code
   else if(strcmp(x_job,"ticket",true) == 0)
     {
         if(TicketOffer[playerid] < 999)
         {
             if(IsPlayerConnected(TicketOffer[playerid]))
             {
                 if (ProxDetectorS(5.0, playerid, TicketOffer[playerid]))
        {
                  GetPlayerName(TicketOffer[playerid], giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
         format(string, sizeof(string), "Вы заплатили штраф размером $%d офицеру %s[%d].", TicketMoney[playerid], giveplayer,giveplayerid);
         SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
         format(string, sizeof(string), "%s[%d] заплатил вам штраф размером $%d.", sendername, playerid, TicketMoney[playerid]);
         SendClientMessage(TicketOffer[playerid], COLOR_LIGHTBLUE, string);
         PlayerInfo[playerid][pMoney] -= TicketMoney[playerid];
         PlayerInfo[giveplayerid][pWanted] == 0;
         SetPlayerWantedLevel(giveplayerid, 0);
         SetPlayerWantedLevel(playerid, 0);
         GivePlayerMoney(playerid, - TicketMoney[playerid]);
         GivePlayerMoney(TicketOffer[playerid], TicketMoney[playerid]);
         TicketOffer[playerid] = 999;
         TicketMoney[playerid] = 0;
         return 1;
        }



Сообщение отредактировал MarkeloFF - Вторник, 27.03.2012, 11:07
anonimniyДата: Вторник, 27.03.2012, 11:23 | Сообщение # 3980
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус:
MarkeloFF, Вот тот самый [FS]. http://pawno-info.ru/threads....%D0%B0- (%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%D1%80%D0%B0%D0%B1%D0%BE %D1%87%D0%B0%D1%8F-%D0%B8-%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BC%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F)


Сообщение отредактировал anonimniy - Вторник, 27.03.2012, 11:23
anonimniyДата: Вторник, 27.03.2012, 11:24 | Сообщение # 3981
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус:
MarkeloFF, PlayerInfo[playerid][pCrimes] = 0;
MarkeloFFДата: Вторник, 27.03.2012, 15:02 | Сообщение # 3982
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
нужна команда /clear [id] Чтобы законник мог снимать уровень розыска игроку.
AfflictionДата: Четверг, 29.03.2012, 03:31 | Сообщение # 3983
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 288
Награды: 2
Город: Владивосток
Репутация: 471
Замечания: 40%
Статус:
Code
}
  if(strcmp(cmd, "/clear", true) == 0)
  {
      if(IsPlayerConnected(playerid))
      {
    new member = PlayerInfo[playerid][pMember];
    new leader = PlayerInfo[playerid][pLeader];
    new rank = PlayerInfo[playerid][pRank];
     if(gTeam[playerid] == 2)
    {
     if (!PlayerToPoint(3.0, playerid, 253.9280,69.6094,1003.6406))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "   You are to not inside the Police Station!");
      return 1;
     }
     tmp = strtok(cmdtext, idx);
     if(!strlen(tmp))
     {
      SendClientMessage(playerid, COLOR_GRAD1, "Use: /clear [playerid/PartOfName]");
      return 1;
     }
     giveplayerid = ReturnUser(tmp);
     if(IsPlayerConnected(giveplayerid))
     {
         if(giveplayerid != INVALID_PLAYER_ID)
         {
                         if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You cannot Clear yourself!"); return 1; }
          GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
       GetPlayerName(playerid, sendername, sizeof(sendername));
       format(string, sizeof(string), "* You cleared the Records and Wanted Points of %s.", giveplayer);
       SendClientMessage(playerid, COLOR_WHITE, string);
       format(string, sizeof(string), "* Officer %s has cleared your Records and Wanted Points.", sendername);
       SendClientMessage(giveplayerid, COLOR_WHITE, string);
       WantedPoints[giveplayerid] = 0;
       WantedLevel[giveplayerid] = 0;
       ClearCrime(giveplayerid);
       if(gTeam[giveplayerid]==4)
       {
           gTeam[giveplayerid] = 3;
           SetPlayerToTeamColor(giveplayerid);
       }
      }
     }
     else
     {
      SendClientMessage(playerid, COLOR_GREY, "   Invalid ID/Name!");
     }
    }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, "   You are not an Cop / FBI / National Guard!");
    }
   }//not connected
   return 1;

Попробуй этот код, думаю, работать будет. :)

MarkeloFFДата: Четверг, 29.03.2012, 04:46 | Сообщение # 3984
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
Affliction, уже давно сделал) Не знаешь как сделать чат который будут видеть только те,которые работают на работе id 16
AfflictionДата: Четверг, 29.03.2012, 05:49 | Сообщение # 3985
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 288
Награды: 2
Город: Владивосток
Репутация: 471
Замечания: 40%
Статус:
MarkeloFF,
Code
if(strcmp(cmd, "/radio", true) == 0 || strcmp(cmd, "/r", true) == 0)
  {
      if(IsPlayerConnected(playerid))
      {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
     idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
     result[idx - offset] = cmdtext[idx];
     idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
     SendClientMessage(playerid, COLOR_GRAD2, "Use: (/r)adio [radio chat]");
     return 1;
    }
       if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
        if(PlayerInfo[playerid][pRank] == 8) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 7) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result); }
     else
     {
      format(string, sizeof(string), "** %s(radio): %s, over. **", sendername, result);
     }
     ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
     SendRadioMessage(1, TEAM_RADIO_COLOR, string);
     printf("%s", string);
     return 1;
    }
    else
    {
        SendClientMessage(playerid, COLOR_GRAD1, "   You are not a Cop !");
    }
   }
   return 1;
  }

Попробуй так, можешь код немного подредактировать.

Artem_TДата: Четверг, 29.03.2012, 09:43 | Сообщение # 3986
Освоившийся
Группа: I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус:
Только проверки надо под работу передлать
RudeBoyДата: Четверг, 29.03.2012, 15:20 | Сообщение # 3987
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
нужно ли использовать return 1; в циклах или наоборот это плохо?

Добавлено (29.03.2012, 15:18)
---------------------------------------------
еще один вопрос, вот я решил попробовать foreach, подключил инклуд просто без всяких изменений, мой мод с 5 мб стал весить 9 мб, это плохо? или так должно быть?

Добавлено (29.03.2012, 15:20)
---------------------------------------------
еще вопрос, как сделать оптимизированный вариант цикла так: for(new i;i < MAX_PLAYERS;i ++) или так: for(new i = MAX_PLAYERS - 1; i != -1; --i)

EakwarpДата: Четверг, 29.03.2012, 15:25 | Сообщение # 3988
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (RudeBoy)
нужно ли использовать return 1; в циклах или наоборот это плохо?

Если нужно закончить цикл, и выйти из функции - нужно. Если нужно выйти из цикла - нужно использовать break. А если нужно текущий цикл цикла прекратить и перейти к следующему нужно использовать continue, запомните это.
Quote (RudeBoy)
for(new i;i < MAX_PLAYERS;i ++)

Лучший и единственный вариант здесь:
Quote (RudeBoy)
foreach

И не заморачивайтесь на вес мода, он не имеет никакого значения.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
RudeBoyДата: Четверг, 29.03.2012, 17:18 | Сообщение # 3989
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Киев
Репутация: -28
Замечания: 0%
Статус:
спасибо за полезный ответ, дам + после перевода в продвинутые, уже как 3 дня оплатил жду перевода.

Добавлено (29.03.2012, 17:02)
---------------------------------------------
вопрос. В каждом ли паблике должен быть return 1 ? Ну там обычный и который действует от таймера

Добавлено (29.03.2012, 17:18)
---------------------------------------------
этот же вопрос и про Сток

EakwarpДата: Пятница, 30.03.2012, 01:10 | Сообщение # 3990
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (RudeBoy)
В каждом ли паблике должен быть return 1 ? Ну там обычный и который действует от таймера

Желательно, что бы ретурн в функции присутствовал, ибо компилятор с большой вероятностью пошлет вас его поставить, но совершенно не обязательно возвращать именно 1.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua