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

 



 
          





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





Последние Файлы 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  
Вопросы по скриптингу
impulzeplayДата: Понедельник, 20.04.2015, 22:51 | Сообщение # 1
Новенький
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
1. Нашёл FS для сервака, чтобы его включить надо зайти в игру и прописать команду /disco, после рестарта сервера всё это дело надо прописывать заного, можно ли сделать автоматическое появление данного скрипта?
[off]
Код
/*==============================================================================
Íàçâàíèå: [FS]Disco
Àâòîð: Dima(Jack_Daniels)
Îïèñàíèå: Äàííàÿ ðàáîòà ðàáîòàåò èñêëþ÷èòåëüíî äëÿ SAMP 0.3d,
Òàê êàê â íåé èñïîëüçóþòñÿ ôóíêöèè óäàëåíèÿ îáúåêòîâ.
==============================================================================*/
AntiDeAMX2()
{
     new a[][] =
     {
         "Unarmed (Fist)",
         "Brass K"
     };
     #pragma unused a
}
#include <a_samp>

//----------------[Disco]-------------//
new OnlineDisco[MAX_PLAYERS];
new DiskoRound = 0;
new Dens[111];
//-----------------------------------//

#define COLOR_LIGHTRED 0xFF6347AA

public OnFilterScriptInit()
{
     print("\n");
     print("*******************************************");
     print("*         Àâòîð Dima(Jack Daniels)        *");
     print("*         Skype: dima95221                *");
     print("*******************************************");
     print("\n");
     return 1;
}
public OnGameModeInit()
{
  AntiDeAMX2();
  AntiDeAMX();
}
public OnFilterScriptExit()
{
     OffDiskach();
     return 1;
}

public OnPlayerConnect(playerid)
{
     OnlineDisco[playerid] = 0;
     return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
  if(pickupid == Dens[110])
     {
      ShowPlayerDialog(playerid,10101,DIALOG_STYLE_MSGBOX,"{00FF00}.::Disco-Dance::.","{FFFFFF} {00FF00}\n\n{FFFFFF}Çäåñü âû ìîæåòå ïîòóñîâàòüñÿ, ðàçâëå÷üñÿ êàê ñëåäóåò\nÒàêæå ñïåöàëüíî äëÿ èãðîêîâ cäåëàíà êîìàíäà {00FF00}/dmenu{FFFFFF}\n\nÀäìèíèñòðàöèÿ {00FF00}KEKC'a {FFFFFF}æåëàåò âàì õîðîøî ðàçâëå÷üñÿ.\n\n{33AA33}{FFFFFF}({33AA33}{FFFFFF}): {33AA33}","Ãîòîâî","");
      return 1;
     }
     return 0;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
     if (strcmp("/adisco", cmdtext, true, 10) == 0)
  {
   ShowPlayerDialog(playerid, 9600, DIALOG_STYLE_MSGBOX, "Disco-Dance","{00FF00}\t   .::Disco-Dance::.","ON","OFF");
   return 1;
  }
     if (strcmp("/dmenu", cmdtext, true, 10) == 0)
  {
         if(DiskoRound == 0)
         {
          return 1;
      }
      if(!PlayerToPoint(25.0,playerid,1479.3390,-1704.4926,14.0469))
         {
             SendClientMessage(playerid, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Âû íå ó ìýðèè! (( /gps - Ìýðèÿ ))");
          return 1;
      }
   ShowPlayerDialog(playerid, 9601, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","Âîäà \t\t\t[100 âèðò]\nÑîäà \t\t\t[150 âèðò]\nÊîêà-êîëà \t\t[200 âèðò]\nÏèâî \t\t\t[500 âèðò]\nÂèíî \t\t\t[700 âèðò]\nÂèñêè \t\t\t[800 âèðò]\nÀáñåíò \t\t\t[900 âèðò]\nSmoke \t\t\t[300 âèðò]\nÄàëüøå >>","Âûáðàòü","Îòìåíà");
  }
  if (strcmp("/disco", cmdtext, true, 10) == 0)
  {
       for(new i =0;i<MAX_PLAYERS;i++)
         {
       if(IsPlayerConnected(i))
       {
       if(DiskoRound == 1) return SendClientMessage(playerid,COLOR_LIGHTRED,"Äèñêàòåêà óæå íà÷àòà!");
       PlayAudioStreamForPlayer(i, "http://air.radiorecord.ru:8101/rr_128", 1479.3390, -1704.4926, 14.0469, 100.0, 1);
             SendClientMessage(i, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè íà÷àëàñü!");
             DiskoRound = 1;
             Diskach(playerid);
             return 1;
       }    
      }
      return 1;
     }
  if (strcmp("/discooff", cmdtext, true, 10) == 0)
  {
       for(new i =0;i<MAX_PLAYERS;i++)
         {
       if(IsPlayerConnected(i))
       {
             if(DiskoRound == 0) return SendClientMessage(playerid,COLOR_LIGHTRED,"Äèñêàòåêà íå íà÷àòà!");
             StopAudioStreamForPlayer(i);
             SendClientMessage(i, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè çàêîí÷èëàñü!");
             DiskoRound = 0;
             OffDiskach();
             return 1;
             }
   }
  }
  return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     if(dialogid == 9600)
  {
      if(response)
    {
                 OnPlayerCommandText(playerid, "/disco");
    }
    else
    {
                 OnPlayerCommandText(playerid, "/discooff");
       }
     }
  if(dialogid == 9601)
  {
   if(response)
   {
    if(listitem == 0)
    {
                 ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0,1);
                 GivePlayerMoney(playerid,-100);
    }
    if(listitem == 1)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_SPRUNK );
                 GivePlayerMoney(playerid,-150);
    }
    if(listitem == 2)
    {
        SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_SPRUNK );
                 GivePlayerMoney(playerid,-200);
    }
    if(listitem == 3)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_WINE );
                 GivePlayerMoney(playerid,-500);
    }
    if(listitem == 4)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_WINE );
                 GivePlayerMoney(playerid,-700);
    }
    if(listitem == 5)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_BEER );
                 GivePlayerMoney(playerid,-800);
    }
    if(listitem == 6)
    {
     ApplyAnimation(playerid,"BAR","dnk_stndF_loop",4.1,0,0,0,0,0,1);
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DRINK_BEER );
     SetPlayerDrunkLevel(playerid, 2323000);
                 GivePlayerMoney(playerid,-900);
    }
    if(listitem == 7)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_SMOKE_CIGGY );
                 GivePlayerMoney(playerid,-300);
    }
    if(listitem == 8)
    {
     ShowPlayerDialog(playerid, 8602, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","{FFFFFF}Òàíåö\t[1]\nÒàíåö\t[2]\nÒàíåö\t[3]\nÒàíåö\t[4]\nÂûêëþ÷èòü àíèìàöèè","Âûáðàòü","<< Íàçàä");
    }
     }
         return 1;
  }
  if(dialogid == 9602)
  {
   if(response)
         {
      if(listitem == 0)
    {
     SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE1);
       }
             if(listitem == 1)
    {
           SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE2);
       }
             if(listitem == 2)
    {
        SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE3);
    }
             if(listitem == 3)
    {
           SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE4);
       }
       if(listitem == 4)
    {
           SetPlayerSpecialAction (playerid, SPECIAL_ACTION_NONE);
                 SetPlayerDrunkLevel (playerid, 0);
       }

    }
    ShowPlayerDialog(playerid, 9601, DIALOG_STYLE_LIST, "{00FF00}.::Disco-Dance::.","Âîäà \t\t\t[100 âèðò]\nÑîäà \t\t\t[150 âèðò]\nÊîêà-êîëà \t\t[200 âèðò]\nÏèâî \t\t\t[500 âèðò]\nÂèíî \t\t\t[700 âèðò]\nÂèñêè \t\t\t[800 âèðò]\nÀáñåíò \t\t\t[900 âèðò]\nSmoke \t\t\t[300 âèðò]\nÄàëüøå >>","Âûáðàòü","Îòìåíà");
   return 1;
  }
  return 0;
}

forward Diskach(playerid);
public Diskach(playerid)
{
     RemoveBuildingForPlayer(playerid, 1231, 1479.6953, -1702.5313, 15.6250, 0.25);
     RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1692.3906, 15.6328, 0.25);
     RemoveBuildingForPlayer(playerid, 1231, 1479.3828, -1682.3125, 15.6328, 0.25);
  return 1;
}

forward OffDiskach();
public OffDiskach()
{
     DestroyObject(Dens[0]);
     DestroyObject(Dens[1]);
     DestroyObject(Dens[2]);
     DestroyObject(Dens[3]);
     CreateObject(1231,1479.69530000,-1702.53130000,15.62500000,0.00000000,0.00000000,0.00000000); //
     CreateObject(1231,1479.38280000,-1692.39060000,15.63280000,0.00000000,0.00000000,0.00000000); //
     CreateObject(1231,1479.38280000,-1682.31250000,15.63280000,0.00000000,0.00000000,0.00000000); //
  return 1;
}
//---------------------------------------------------------------------------------------//
AntiDeAMX()
{
     new a[][] =
     {
         "Unarmed (Fist)",
         "Brass K"
     };
     #pragma unused a
}
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
     if(IsPlayerConnected(playerid))
  {
   new Float:oldposx, Float:oldposy, Float:oldposz;
   new Float:tempposx, Float:tempposy, Float:tempposz;
   GetPlayerPos(playerid, oldposx, oldposy, oldposz);
   tempposx = (oldposx -x);
   tempposy = (oldposy -y);
   tempposz = (oldposz -z);
   if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
   {
    return 1;
   }
  }
  return 0;
}
[/off]

2.Проблема есть с работой на серваке, выполняю к примеру угон автомобиля, выдаётся денежный бонус и тут же сервер забирает его обратно. Кто знает суть этой проблемы?

SLICKДата: Вторник, 21.04.2015, 00:14 | Сообщение # 2
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
Цитата impulzeplay ()
1. Нашёл FS для сервака, чтобы его включить надо зайти в игру и прописать команду /disco, после рестарта сервера всё это дело надо прописывать заного, можно ли сделать автоматическое появление данного скрипта?


Нужно перенести часть кода из /disco в OnPlayerConnect, должно быть так:
Код

public OnPlayerConnect(playerid) {    
OnlineDisco[playerid] = 0;    
PlayAudioStreamForPlayer(playerid, "http://air.radiorecord.ru:8101/rr_128", 1479.3390, -1704.4926, 14.0469, 100.0, 1);
SendClientMessage(playerid, COLOR_LIGHTRED, "{00FF00}.::Disco-Dance::. {FFFFFF}Äèñêîòåêà ó ìýðèè íà÷àëàñü!");
Diskach(playerid);
return 1; }

Это не лучший способ, но так проще всего. В идеале лучше этот код выполнять при первом спавне например.

Цитата impulzeplay ()
2.Проблема есть с работой на серваке, выполняю к примеру угон автомобиля, выдаётся денежный бонус и тут же сервер забирает его обратно. Кто знает суть этой проблемы?


Скорее всего дело в античите



My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)


Сообщение отредактировал SLICK - Вторник, 21.04.2015, 00:17
impulzeplayДата: Вторник, 21.04.2015, 01:34 | Сообщение # 3
Новенький
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата SLICK ()
Нужно перенести часть кода из /disco в OnPlayerConnect, должно быть так:

хм, ведь по сути это админская команда, попробую.
Тоже мысль была о том, что это античит, тоже проверю.

  • Страница 1 из 1
  • 1
Поиск:





 


 


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