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

 



 
          





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





Последние Файлы 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
  • Страница 1 из 1
  • 1
Модератор форума: Alcoholik  
Телепорты /enter /exit
DoLLaRДата: Пятница, 27.08.2010, 23:46 | Сообщение # 1
Новенький
Группа: Продвинутые
Сообщений: 8
Награды: 4
Город: Мариуполь
Репутация: 4
Замечания: 0%
Статус:
Как создавать телепорты такие как возле домов или бизнесов, тоесть заходишь на пикап прописуешь /enter и тебя телепортирует в указанную точку(допустим в дизайн), а потом чтобы выйти обратно(на улицу) пишешь /exit....Помогите плз.
PS. на форуме не нашел :(

SMOUKДата: Суббота, 28.08.2010, 00:02 | Сообщение # 2
Местный
Группа: Продвинутые
Сообщений: 646
Награды: 13
Город: Рославль
Репутация: 284
Замечания: 100%
Статус:
Вот тебе наглядный пример.

Code
if(strcmp(cmd, "/enter", true) == 0)
  {
      if(IsPlayerConnected(playerid)) // Проверка на то сидит ли игрок на сервере <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/1.gif" border="0" align="absmiddle" alt=":)">
   {
    for(new i = 0; i < sizeof(HouseInfo); i++) // цикл.
    {
     if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez])) // Проверка на - стоит ли игрок рядом с входом .
     {
      //printf("Found House :%d",i);
      if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0) // Проверка .. не могу объяснить..
      {
       SetPlayerInterior(playerid,HouseInfo[i][hInt]);
       SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
       GameTextForPlayer(playerid, "~w~*ƒO€PO ŒO„A‡O‹A’ ƒO–O†", 5000, 1);
       PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
       PlayerInfo[playerid][pLocal] = i;
      }
      else
      {
       GameTextForPlayer(playerid, "~r~ˆAKP‘O", 5000, 1);
      }
     }
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
     if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
     {
      //printf("Found House :%d",i);
      if(!IsACop(playerid) && i == 3)
      {
          SendClientMessage(playerid, COLOR_GREY, "   Òîëüêî ïîëèöåéñêèå !");
          return 1;
      }
      if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= BizzInfo[i][bEntranceCost])
      {
       if(PlayerInfo[playerid][pPbiskey] != i)
       {
        if(BizzInfo[i][bLocked] == 1)
        {
         GameTextForPlayer(playerid, "~r~ˆAKP‘O", 5000, 1);
         return 1;
        }
        if(BizzInfo[i][bProducts] == 0)
        {
         GameTextForPlayer(playerid, "~r~ìE ‹ ìA‡………", 5000, 1);
         return 1;
        }
        GivePlayerMoney(playerid,-BizzInfo[i][bEntranceCost]);
        format(string, sizeof(string), "~r~-$%d~n~~w~‹‹Eƒ…E /exit~n~‹‘†…", BizzInfo[i][bEntranceCost]);
        BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost];
        ExtortionBiz(i, BizzInfo[i][bEntranceCost]);
        BizzInfo[i][bProducts]--;
        OnPropUpdate();
        GameTextForPlayer(playerid, string, 5000, 3);
       }
       SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
       SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
       PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
       PlayerInfo[playerid][pLocal] = i+99;
       new dood[MAX_PLAYER_NAME];
       GetPlayerName(playerid, dood, sizeof(dood));
       format(string, sizeof(string), "%s çàïëàòèë $%d çà âõîä â áèçíåñ %d", dood, BizzInfo[i][bEntranceCost], i);
       printf("%s", string);
       PayLog(string);
       //PlayerInfo[playerid][pLocal] = i;
      }
      else
      {
       GameTextForPlayer(playerid, "~r~ìE X‹AAE ƒEìE‚", 5000, 1);
      }
     }
    }
    for(new i = 0; i < sizeof(SBizzInfo); i++)
    {
     if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
     {
      if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= SBizzInfo[i][sbEntranceCost])
      {
       if(PlayerInfo[playerid][pPbiskey] != i)
       {
        if(SBizzInfo[i][sbLocked] == 1)
        {
         GameTextForPlayer(playerid, "~r~ˆAKP‘O", 5000, 1);
         return 1;
        }
        if(SBizzInfo[i][sbProducts] == 0)
        {
         GameTextForPlayer(playerid, "~r~ìE ‹ ìA‡………", 5000, 1);
         return 1;
        }
        if(i == 10)
        {
            PaintballPlayers ++;
            PlayerPaintballing[playerid] = 1;
            new rand = random(sizeof(PaintballSpawns));
         SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
         TogglePlayerControllable(playerid, 0);
        }
        else if(i == 11)
        {
            PlayerKarting[playerid] = 1;
            SendClientMessage(playerid, TEAM_GROVE_COLOR, "*Òåïåðü âû ìîæåòå ó÷àñòâîâàòü â ãîíêàõ íà êàðòèíãàõ, íàéäèòå êàðò.");
        }
        else
        {
            return 1;
        }
        GivePlayerMoney(playerid,-SBizzInfo[i][sbEntranceCost]);
        gSpentCash[playerid] = GetPlayerMoney(playerid);
        SBizzInfo[i][sbProducts]--;
        SBizzInfo[i][sbTill] += SBizzInfo[i][sbEntranceCost];
        ExtortionSBiz(i, SBizzInfo[i][sbEntranceCost]);
        new dood[MAX_PLAYER_NAME];
        GetPlayerName(playerid, dood, sizeof(dood));
        format(string, sizeof(string), "%s çàïëàòèë $%d çà âõîä â áèçíåñ %d", dood, SBizzInfo[i][sbEntranceCost], i);
        printf("%s", string);
        PayLog(string);
        OnPropUpdate();
       }
      }
      else
      {
       GameTextForPlayer(playerid, "~r~ìE X‹AAE ƒEìE‚", 5000, 1);
      }
     }
    }
    if (PlayerToPoint(3.0, playerid,-2162.2554,-2385.9541,30.6250))
    {
        SetPlayerInterior(playerid,3);
     SetPlayerPos(playerid,387.7978,173.8582,1008.3828);
     GameTextForPlayer(playerid, "~w~ƒO€PO ŒO„A‡O‹A’ ‹ –“P…”", 5000, 1);
     PlayerInfo[playerid][pInt] = 3;
     PlayerInfo[playerid][pLocal] = 241;
    }
    else if (PlayerToPoint(3.0, playerid,1073.0619,-344.5148,73.9922))
    {
        if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
        {
         SetPlayerInterior(playerid,2);
      SetPlayerPos(playerid,1205.0947,-10.1685,1000.9219);
      PlayerInfo[playerid][pInt] = 2;
      PlayerInfo[playerid][pLocal] = 242;
     }
    }
    else if (PlayerToPoint(3.0, playerid,2695.6235,-1704.6960,11.8438))
    {
        GameTextForPlayer(playerid, "~w~ƒO€PO ŒO„A‡O‹A’ ìA PACCÓ ‹OC’–EPKA", 5000, 1);
        SetPlayerInterior(playerid,7);
     SetPlayerPos(playerid,-1404.5299,-259.0602,1043.6563);
    }
    else if (PlayerToPoint(8.0, playerid,-2111.5686,-443.9720,38.7344))
    {
        GameTextForPlayer(playerid, "~w~ƒO€PO ŒO„A‡O‹A’ ìA PACCÓ €EˆƒOPO„’•", 5000, 1);
        SetPlayerInterior(playerid,4);
     SetPlayerPos(playerid,-1443.0554,-581.1879,1055.0472);
    }
    else if (PlayerToPoint(8.0, playerid,-2080.3079,-406.0309,38.7344))
    {
        GameTextForPlayer(playerid, "~w~ƒO€PO ŒO„A‡O‹A’ ìA P”KO‹Ó” PACCÓ", 5000, 1);
        SetPlayerInterior(playerid,14);
     SetPlayerPos(playerid,-1464.7732,1557.5533,1052.5313);
    }
   }
   return 1;
  }
if(strcmp(cmd, "/exit", true) == 0)
  {
      if(IsPlayerConnected(playerid))
   {
    for(new i = 0; i <  sizeof(HouseInfo); i++)
    {
     //printf("House :%d",i);
     if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]))
     {
      SetPlayerInterior(playerid,0);
      SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
      PlayerInfo[playerid][pInt] = 0;
      PlayerInfo[playerid][pLocal] = 255;
      if(HouseInfo[i][hHel] == 1)
      {
       new Float:tempheal;
       GetPlayerHealth(playerid,tempheal);
       if(tempheal < 100.0)
       {
        SetPlayerHealth(playerid,100.0);
       }
      }
     }
    }
    for(new i = 0; i <  sizeof(BizzInfo); i++)
    {
     //printf("Bizz :%d",i);
     if (PlayerToPoint(3, playerid,BizzInfo[i][bExitX], BizzInfo[i][bExitY], BizzInfo[i][bExitZ]))
     {
      SetPlayerInterior(playerid,0);
      PlayerInfo[playerid][pInt] = 0;
      SetPlayerPos(playerid,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ]);
      PlayerInfo[playerid][pLocal] = 255;
     }
    }
    if(GetPlayerVehicleID(playerid) >= 71 && GetPlayerVehicleID(playerid) <= 77)
    {
     TogglePlayerControllable(playerid, 1);
     RemovePlayerFromVehicle(playerid);
    }
    else if (PlayerToPoint(3.0, playerid,387.7978,173.8582,1008.3828))
    {
        SetPlayerInterior(playerid,0);
     SetPlayerPos(playerid,-2162.2554,-2385.9541,30.6250);
     PlayerInfo[playerid][pInt] = 0;
     PlayerInfo[playerid][pLocal] = 255;
    }
    else if (PlayerToPoint(6.0, playerid,-1404.5299,-259.0602,1043.6563))
    {
        SetPlayerInterior(playerid,0);
     SetPlayerPos(playerid,2695.6235,-1704.6960,11.8438);
    }
    else if (PlayerToPoint(8.0, playerid,-1443.0554,-581.1879,1055.0472))
    {
        SetPlayerInterior(playerid,0);
     SetPlayerPos(playerid,-2111.5686,-443.9720,38.7344);
    }
    else if (PlayerToPoint(8.0, playerid,-1464.7732,1557.5533,1052.5313))
    {
        SetPlayerInterior(playerid,0);
     SetPlayerPos(playerid,-2080.3079,-406.0309,38.7344);
    }
    else if(NoFuel[playerid] == 1)
    {
        TogglePlayerControllable(playerid, 1);
     RemovePlayerFromVehicle(playerid);
     NoFuel[playerid] = 0;
    }
   }
   return 1;
  }



MaccerДата: Суббота, 28.08.2010, 00:30 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 281
Награды: 7
Город: Санкт-Петербург
Репутация: 100
Замечания: 40%
Статус:
Скажите, а это правда так круто при каждом входе/выходе прописывать команду?


есть вопросы по sa-mp или pawn?
помогу за $$
SMOUKДата: Суббота, 28.08.2010, 00:41 | Сообщение # 4
Местный
Группа: Продвинутые
Сообщений: 646
Награды: 13
Город: Рославль
Репутация: 284
Замечания: 100%
Статус:
Ну незнаю Maccer , лично я такого бреда не когда бы не сделал :)
Можно реализовать всё в современном и удобном виде. При наступлении на пикап >> вывод диалога >> Кнопки да / нет будут означать - войти или нет. Вот как то так приблизительно... )



DoLLaRДата: Суббота, 28.08.2010, 00:47 | Сообщение # 5
Новенький
Группа: Продвинутые
Сообщений: 8
Награды: 4
Город: Мариуполь
Репутация: 4
Замечания: 0%
Статус:
Maccer, не надо будет ничего прописывать просто поставить действие на кнопку :)
stepmexДата: Суббота, 28.08.2010, 08:27 | Сообщение # 6
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
А зачем вообще что-то показывать игроку? Открыто - автоматически заходит, если закрыто - сообщить об этм и свободен.


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
Berardo_BerigoДата: Суббота, 28.08.2010, 08:52 | Сообщение # 7
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Город: Бийск
Репутация: 0
Замечания: 0%
Статус:
а как сделать чтобы на alt можно было зайти и выйти из интерьера?
DiSEДата: Суббота, 28.08.2010, 10:34 | Сообщение # 8
Группа: I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус:
[off]
Quote
Скриптер сервера Big-World

Quote
а как сделать чтобы на alt можно было зайти и выйти из интерьера?

И ты ещё скриптёр[/off]

GetPlayerState , точно не помню


Сообщение отредактировал EnErGiZeR - Суббота, 28.08.2010, 10:41
AlcoholikДата: Суббота, 28.08.2010, 15:18 | Сообщение # 9
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Quote (Berardo_Berigo)
а как сделать чтобы на alt можно было зайти и выйти из интерьера?

Обсуждалось. Закрыто.



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
  • Страница 1 из 1
  • 1
Поиск:





 


 


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