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

 



 
          





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





Последние Файлы 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
Модератор форума: AXE, Weddew  
[Архив #2] Вопросы ответы по SAMP [от 11.01.2012]
ВеликсДата: Среда, 11.01.2012, 23:37 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
[move]-= Вопрос | Ответ =-[/move]

В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте вашу проблему, если вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Помощь идет только по желанию пользователя, если вам человек помог вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за вас. (!!!)
  • Если вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если вы уже задавали вопрос, и не получили на него ответа, лучше напишите в ЛС одному, из участников группы Support, чем зафлуживать тему.


Скриптерам:

  • Не оскорблять новичков.
  • Не флудить сообщениями, подобных "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Юзер итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]


Сообщение отредактировал Weddew - Понедельник, 09.06.2014, 03:17
Dima-kunДата: Воскресенье, 29.01.2012, 12:23 | Сообщение # 406
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Quote (_Pawno_)
distance

откуда берется?
Quote (_Pawno_)
i

тоже самое.



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints


Сообщение отредактировал Dima-kun - Воскресенье, 29.01.2012, 12:24
_Pawno_Дата: Воскресенье, 29.01.2012, 12:33 | Сообщение # 407
Освоившийся
Группа: Пользователи
Сообщений: 119
Награды: 0
Город: Москва
Репутация: 20
Замечания: 0%
Статус:
Поменял i на PlayerInfo[playerid] !
А на счёт distance может просто не так вырезал ! Там выше идёт
Code

       if(GetPlayerState(i) == 2)
       {
     GetPlayerPos(i, TelePos[i][3], TelePos[i][4], TelePos[i][5]);
     if(TelePos[i][5] > 550.0)
     {
      TelePos[i][0] = 0.0;
      TelePos[i][1] = 0.0;
     }
     if(TelePos[i][0] != 0.0)
     {
      new Float:xdist = TelePos[i][3]-TelePos[i][0];
      new Float:ydist = TelePos[i][4]-TelePos[i][1];
      new Float:sqxdist = xdist*xdist;
      new Float:sqydist = ydist*ydist;
      new Float:distance = (sqxdist+sqydist)/31;

Это относится к нему ?



Мои работы:
[FS]Rokstar
[FS]Engine
[MAP]Автошкола
[MAP]Мерия
Dima-kunДата: Воскресенье, 29.01.2012, 13:21 | Сообщение # 408
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
_Pawno_, не понятно зачем ты i на PlayerInfo[playerid] заменил? бред. здесь, скорее всего, имелся в виду цикл for( new i = GetMaxPlayers(); i >= 0; i-- )


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints


Сообщение отредактировал Dima-kun - Воскресенье, 29.01.2012, 13:23
GeryyДата: Воскресенье, 29.01.2012, 14:25 | Сообщение # 409
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (_Pawno_)
Установил античит ! Не работает что может быть ?


Древнейший античит на скорость/телепорт

Code

new plname[MAX_PLAYER_NAME];
new string[256];
new Float:maxspeed = 190.0;
for(new i; i < MAX_PLAYERS; i++)
{
  if(IsPlayerConnected(i) && GetPlayerState(i) == 2)
  {
     GetPlayerPos(i, TelePos[i][3], TelePos[i][4], TelePos[i][5]);
     if(TelePos[i][5] > 900.0)
     {
   TelePos[i][0] = 0.0;
   TelePos[i][1] = 0.0;
      }
      if(TelePos[i][0] != 0.0)
      {
   new tmpcar = GetPlayerVehicleID(i);
   new Float:xdist = TelePos[i][3]-TelePos[i][0];
   new Float:ydist = TelePos[i][4]-TelePos[i][1];
   new Float:sqxdist = xdist*xdist;
   new Float:sqydist = ydist*ydist;
   new Float:distance = (sqxdist+sqydist)/31;

   if(distance > maxspeed && && PlayerInfo[i][pAdmin] < 1)
   {
       new currentveh;
       if(!IsPlane(tmpcar))
       {
    GetPlayerName(i, plname, sizeof(plname));
    currentveh = GetVehicleModel(GetPlayerVehicleID(i));
    format(string, 256, " Скорость %s[%d] - %.0f KmH, %d",plname,i,distance,currentveh);
                    ABroadCast(COLOR_YELLOW,string,1);
               }
   }
     }
      if(TelePos[i][5] < 900.0 && TelePos[i][3] != 0.0)
     {
   TelePos[i][0] = TelePos[i][3];
   TelePos[i][1] = TelePos[i][4];
      }
         }
}
}

Добавлено (29.01.2012, 14:25)
---------------------------------------------
опечатка
if(distance > maxspeed && PlayerInfo[i][pAdmin] < 1)


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Sanek_KlachanovДата: Воскресенье, 29.01.2012, 14:46 | Сообщение # 410
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Город: саратов
Репутация: 0
Замечания: 0%
Статус:
здраствуйте, помогите мне плиз, просто я новичек в этом деле. Как перенести вход в дом?
RockmanДата: Воскресенье, 29.01.2012, 15:10 | Сообщение # 411
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (Sanek_Klachanov)
здраствуйте, помогите мне плиз, просто я новичек в этом деле. Как перенести вход в дом?


Если мод GF, то в файле с домами как раз хранятся координаты входа в дом, замените их на свои.

StapДата: Воскресенье, 29.01.2012, 15:38 | Сообщение # 412
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 823
Награды: 13
Город: Нижний Тагил
Репутация: 573
Замечания: 80%
Статус:
Что не правильно делаю?Заходишь на чекпоинт,выводит диалог с выбором работы ,после выбора работы,должно выводить описание работы с 2-умя кнопками "Устроиться" и "Отмена",но почему-то не выводит описание.
Это чекпоинт для устройства на работу.
Code
    else if(getCheckpointType(playerid) == CP_CITYHALL)//для устройства на работу
  {
   if(WantedLevel[playerid] > 0) return SendClientMessage(playerid, COLOR_GREY, "   Вы должны быть не в розыске, чтобы получить работу !");
   ShowPlayerDialog(playerid,100,DIALOG_STYLE_LIST,"Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
  }

Это сам диалог описания работ:
Code
    else if(dialogid == 100)
  {
   if(response)
   {
    if(listitem == 0)
    {
     if(PlayerInfo[playerid][pJob] > 0)
     {
      SendClientMessage(playerid, COLOR_GREY, "   У Вас уже есть работа. (Используйте: /quitjob, чтобы уйти с работы)!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
        else if(PlayerInfo[playerid][pMed] != 1)
     {
      SendClientMessage(playerid, COLOR_GREY, "   Вы не можете устроиться на работу без мед. осмотра!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
     else if(PlayerInfo[playerid][pLevel] < 3)
     {
      SendClientMessage(playerid, COLOR_GREY, "   Вы должны проживать в штате более 3 лет!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
     else
     {
      GettingJob[playerid] = 1;
      SetPlayerSkinEx(playerid, 156);
      format(string, sizeof(string), "Работа детектива доступна всем желающим,кто проживает в штате более 3-ёх лет. Отсутствует офис.\n", strlen(msgitem), 98);
      format(string, sizeof(string), "Смысл этой работы - искать людей. Для этого используется команда /find [id игрока].\n", strlen(msgitem), 87);
      format(string, sizeof(string), "После ввода команды искомый игрок выделяется синим цветом, причем при его движении маркер двигается за игроком.\n", strlen(msgitem), 114);
      format(string, sizeof(string), "Маркер двигается за игроком в течении 3-11 сек (в зависимости от скилла).\n", strlen(msgitem), 76);
      format(string, sizeof(string), "После каждого ввода команды поиска игрока нужно ждать 2 минуты до следующего поиска игрока.\n", strlen(msgitem), 94);
      format(string, sizeof(string), "На 5 уровне работы маркер держится 11 секунд и от одного поиска до другого нет никаких ограничений по времени,\n", strlen(msgitem), 113);
      format(string, sizeof(string), "кроме длительности самого поиска, т.е. 11сек. Запрещено искать находясь в интерьере или в заключении, т.е. в КПЗ и на зоне 51.\n\n", strlen(msgitem), 129);
      format(string, sizeof(string), "* Вы собираетесь стать детективом и получить часовой контракт?\n", strlen(msgitem), 67);
      format(string, sizeof(string), "* Вы должны отработать этот контракт для начала, если Вы захотите покинуть работу позже.\n", strlen(msgitem), 91);
      format(string, sizeof(string), "* Если Вы уверены, что хотите стать детективом, нажмите Устроиться.\n", strlen(msgitem), 67);
      ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель","Устроиться","Отмена");
        }
    }
    if(listitem == 1)
    {
     if(PlayerInfo[playerid][pJob] > 0)
     {
      SendClientMessage(playerid, COLOR_GREY, "   У Вас уже есть работа. (Используйте: /quitjob, чтобы уйти с работы)!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
        else if(PlayerInfo[playerid][pMed] != 1 && PlayerInfo[playerid][pLevel] > 1)
     {
      SendClientMessage(playerid, COLOR_GREY, "   Вы не можете устроиться на работу без мед. осмотра!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
     else if(PlayerInfo[playerid][pLevel] < 3)
     {
      SendClientMessage(playerid, COLOR_GREY, "   Вы должны проживать в штате более 3-ёх лет!");
      ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
     }
     else
     {
      GettingJob[playerid] = 2;
      SetPlayerSkinEx(playerid, 17);
      format(string, sizeof(string), "Работа адвоката доступна всем желающим,кто проживает в штате более 3-ёх лет. Отсутствует офис.\n", strlen(msgitem), 97);
      format(string, sizeof(string), "На этой работе вам нужно освобождать заключённых с Зоны 51, которые при аресте согласились на залог. Работа довольно прибыльная.\n", strlen(msgitem), 129);
      format(string, sizeof(string), "Залоги ставят от 20.000$ до 700.000$, т.е. эти деньги вы будете получать себе от заключённых.\n", strlen(msgitem), 94);
      format(string, sizeof(string), "Список заключённых Зоны 51 и размер из залога можно увидеть введя команду /jailstats. Чтобы освободить заключённого -\n", strlen(msgitem), 118);
      format(string, sizeof(string), "Вы должны получить разрешение от ФБР выше 3 ранга. C разрешением можно освободить только одного человека и затем,\n", strlen(msgitem), 119);
      format(string, sizeof(string), "пройдя к бункеру, освободить указанного заключённого командой /free [id игрока], при этом вам перечислится сумма залога.\n", strlen(msgitem), 121);
      format(string, sizeof(string), "На пятом скилле вам не требуется разрешение, т.е. если вы оказались рядом с заключённым можете его сразу освободить.\n\n", strlen(msgitem), 126);
      format(string, sizeof(string), "* Вы собираетесь стать адвокатом и получить часовой контракт?\n", strlen(msgitem), 64);
      format(string, sizeof(string), "* Вы должны отработать этот контракт для начала, если Вы захотите покинуть работу позже.\n", strlen(msgitem), 89);
      format(string, sizeof(string), "* Если Вы уверены, что хотите стать адвокатом, нажмите Устроиться.\n", strlen(msgitem), 69);
      ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель","Устроиться","Отмена");
     }
    }
    ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
    return 1;
   }
   else
   {
   return 1;
   }
  }

А это диалог устройства на работу:
Code
    else if(dialogid == 22)
  {    //ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель",msgitem,"Accept","Cancel");
   if(response)
   {
       if(GettingJob[playerid] > 0)
       {
        if(PlayerInfo[playerid][pLocal] != 241)
        {
            SendClientMessage(playerid, COLOR_GREY, "  Вы Не находитесь в месте трудоустройства !");
            return 1;
     }
           SendClientMessage(playerid, COLOR_GREEN, "* Теперь, когда Вы подтвердили Ваше желание работать, Вы получили часовой контракт.");
           SendClientMessage(playerid, COLOR_GREEN, "* Поздравляем Вас с новой работой, наберите /help, чтобы увидеть ваши новые команды.");
           PlayerInfo[playerid][pJob] = GettingJob[playerid];
           PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);
     PlayerInfo[playerid][pChar] = 0;
           GettingJob[playerid] = 0;
           PlayerInfo[playerid][pMats] = 0;//обнуляем кол-во материалов при смене работы
           return 1;
       }
       else
       {
           SendClientMessage(playerid, COLOR_GREY, "   Вы Не получили предложения на эту работу !");
           return 1;
       }
   }
   else
   {
    GettingJob[playerid] = 0;
    ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена");
   }
   return 1;
  }



...карандаши разного цвета на вкус одинаковы....

Мои работы:
[MAP]ПТО v.1.0[Законченa][Ссылка(Клик)]
[MAP+FS]ПТО v.2.0(Заключительная)[55%]
IndomiXДата: Воскресенье, 29.01.2012, 15:50 | Сообщение # 413
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Город: Москоу
Репутация: 0
Замечания: 0%
Статус:
Опять я... опять я...

В общем, при вводе любой команды в чат через / пишет : Server:Uknown command, хотя такая команда должна быть в моде.

Именно при всех командах! Читал, пишут что про return 1,у меня же везде(вроде бы) он и стоит.

Что делать ? Не работает команды вообще.

GeryyДата: Воскресенье, 29.01.2012, 16:10 | Сообщение # 414
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (IndomiX)
В общем, при вводе любой команды в чат через / пишет : Server:Uknown command

это значит, что в процессе выполнения OnPlayerCommand не встретилось return 1. Ну а почему конкретно не встретилось - зависит от случая. Может, такой команды просто нет, может, где-то в команде ошибка, скрипт на ней прерывается и до ретурна не доходит. Может, просто ретурн забыл поставить...



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
MySkypeAdenozintrifasfatДата: Воскресенье, 29.01.2012, 18:04 | Сообщение # 415
Новенький
Группа: Пользователи
Сообщений: 63
Награды: 0
Город: Krsk
Репутация: 0
Замечания: 0%
Статус:
Ребята я тут писал про то,сделал пикап типо вход в здание все работает хорошо,но когда на него встаешь тебя обратно тп-шит потому что задержки не было,получилось так
else if (IsPlayerInRangeOfPoint(playerid,2.0,1766.6915,-1361.6907,15.7578))//âõîä DM
{
SetPlayerInterior(playerid,18);
SetPlayerPos(playerid,1307.8802,-55.2165,1002.4967);
SetTimerEx("SetPlayerInterior", 3000, false, "%d, %d", playerid, 0);
return 1;
}
else if (IsPlayerInRangeOfPoint(playerid,2.0,1307.8802,-55.2165,1002.4967))//âûõîä
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1766.6915,-1361.6907,15.7578);
SetTimerEx("SetPlayerInterior", 3000, false, "%d, %d", playerid, 0);
return 1;
}
Но вот не работает чет,ошибок нет,но вот скажите где косяк?

Добавлено (29.01.2012, 18:04)
---------------------------------------------

Quote (IndomiX)
В общем, при вводе любой команды в чат через / пишет : Server:Uknown command, хотя такая команда должна быть в моде. Именно при всех командах! Читал, пишут что про return 1,у меня же везде(вроде бы) он и стоит. Что делать ? Не работает команды вообще.

Посмотри,какую последнюю команду добавлял и разбирай их

DirkДата: Воскресенье, 29.01.2012, 18:27 | Сообщение # 416
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 0
Город: Tambov
Репутация: 0
Замечания: 0%
Статус:
Пожалуйста помогите, у меня на ГФ моде при заходе в игру деньги увеличиваются в 2 раза, как это исправить и где?
P.S. Функция выдачи денег у меня givemoney

RockmanДата: Воскресенье, 29.01.2012, 18:39 | Сообщение # 417
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Quote (Dirk)
Пожалуйста помогите, у меня на ГФ моде при заходе в игру деньги увеличиваются в 2 раза, как это исправить и где?
P.S. Функция выдачи денег у меня givemoney


В OnPlayerLogin ищите функцию выдачи денег и смотрите, где идет увеличение в 2 раза.

GeryyДата: Воскресенье, 29.01.2012, 19:05 | Сообщение # 418
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (MySkypeAdenozintrifasfat)
SetTimerEx("SetPlayerInterior", 3000, false, "dd", playerid, 0);

это для чего вобще? через 3 сек. ты присваиваешь игроку 0 интерьер?



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
MySkypeAdenozintrifasfatДата: Воскресенье, 29.01.2012, 19:42 | Сообщение # 419
Новенький
Группа: Пользователи
Сообщений: 63
Награды: 0
Город: Krsk
Репутация: 0
Замечания: 0%
Статус:
Geryy, помоги тогда
Quote (MySkypeAdenozintrifasfat)
и еще,я сделал здание с интом и когда стою на пикапе меня туда тпшит,все вроде бы нормально,но только меня из инта тут же тпшит как замедлить или устранить это тп?Объясните.

StapДата: Воскресенье, 29.01.2012, 20:00 | Сообщение # 420
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 823
Награды: 13
Город: Нижний Тагил
Репутация: 573
Замечания: 80%
Статус:
Rockman, Help me please :D
Вопрос сверху.



...карандаши разного цвета на вкус одинаковы....

Мои работы:
[MAP]ПТО v.1.0[Законченa][Ссылка(Клик)]
[MAP+FS]ПТО v.2.0(Заключительная)[55%]
Поиск:





 


 


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