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

 



 
          





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





Последние Файлы 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
Модератор форума: AXE, Weddew  
Какая нужна функция и как использовать...
Brain_TolmachДата: Четверг, 23.02.2012, 00:52 | Сообщение # 1
Новенький
Группа: Продвинутые
Сообщений: 55
Награды: 2
Город: Лениногорск
Репутация: 36
Замечания: 0%
Статус:
Здраствуйте,столкнулся с таким вопросом при создании команды /me все написал правильно но еще нужна такая функция или что...что бы текст был виден на определенное растояние допустим 10 метров,а не всем игрокам или только самому себе...подскажите

Code

  if(strcmp(cmdtext,"/me",true,3)==0)
  {
   if(!cmdtext[3])return SendClientMessage(playerid,-1,"Подсказка: [/me] [Текст]");
   new string[170];
   GetPlayerName(playerid,string,sizeof(string));
   format(string,sizeof(string)," %s %s",string,cmdtext[3]);
   SendClientMessageToAll(-1,string);
   return 1;
  }



LatronДата: Четверг, 23.02.2012, 01:02 | Сообщение # 2
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Brain_Tolmach, ProxDetector( 30.0, playerid, string, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA );


Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


crackerДата: Четверг, 23.02.2012, 09:09 | Сообщение # 3
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 198
Награды: 5
Город: Красноярск
Репутация: 74
Замечания: 60%
Статус:
Code

  if(strcmp(cmdtext,"/me",true,3)==0)  
   {  
    if(!cmdtext[3])return SendClientMessage(playerid,-1,"Подсказка: [/me] [Текст]");  
    new string[170];  
    GetPlayerName(playerid,string,sizeof(string));  
    format(string,sizeof(string)," %s %s",string,cmdtext[3]);  
    ProxDetector( 30.0, playerid, string, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA );  
    return 1;  
   }  

Fus1Дата: Четверг, 23.02.2012, 09:21 | Сообщение # 4
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Quote (Latron)
ProxDetector( 30.0, playerid, string, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA );

Ужас. И тем более , если у него нет это функции ?

Code
stock MeAction(playerid,string[],Float:radius)
{
    new p = GetMaxPlayers();
    for(new i; i < p; i++)
    {
        if(IsPlayerNearPlayer(playerid,i,radius))
        SendClientMessage(i,COLOR_PURPLE,string);
    }
    return 1;
}


Code
stock IsPlayerNearPlayer(playerid,id,Float:range)
{
  new Float:x,Float:y,Float:z;
  GetPlayerPos(id,x,y,z);
  if(IsPlayerInRangeOfPoint(playerid,range,x,y,z))
  return 1;
  return 0;
}


И используем,

Code
MeAction(playerid,string,15);


Где у нас string это то , что мы будем выводить, а '15', это дистанция.



Сообщение отредактировал Fus1 - Четверг, 23.02.2012, 11:06
__JesterДата: Четверг, 23.02.2012, 09:34 | Сообщение # 5
Новенький
Группа: Пользователи
Сообщений: 48
Награды: 0
Город: Волгоград
Репутация: 22
Замечания: 0%
Статус:
Fus1, а что вот эти у него есть?
Code

       if(IsPlayerNearPlayer(playerid,i,radius))
       SendClientMessageEx(i,COLOR_PURPLE,string);


Code
new Float:x, Float:y, Float:z;
GetPlayerPos( playerid, x, y ,z );
for( new id=0; id<MAX_PLAYERS; id++ )
{
     if ( IsPlayerInRangeOfPoint( i, 30.0, x, y, z ) ) SendClientMessage(i, COLOR_PURPLE, string);  

}

EakwarpДата: Четверг, 23.02.2012, 10:16 | Сообщение # 6
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (Fus1)
если у него нет это функции ?

Quote (Fus1)
 if(IsPlayerNearPlayer(playerid,i,radius))

Quote (Fus1)
SendClientMessageEx

facepalm.

Ты бездарь.

А так, достаточно воспользоваться простым алгоритмом.

1. Узнаем текущие координаты игрока
2. Цикл на всех игроков.(рекомендую уже использовать foreach, 2012й год на дворе).
3. Если игрок в радиусе от координат игрока - вывод ему сообщения.

Добавлено (23.02.2012, 10:16)
---------------------------------------------
Upd. Ну или воспользоваться кодом __Jester, поставленную задачу выполняет.


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. Дорого.
LatronДата: Четверг, 23.02.2012, 11:03 | Сообщение # 7
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Fus1, да ужас, но 70% что у него обычный ГФ, где везде используется функция ProxDetector.

Quote (Eakwarp)
А так, достаточно воспользоваться простым алгоритмом.

1. Узнаем текущие координаты игрока
2. Цикл на всех игроков.(рекомендую уже использовать foreach, 2012й год на дворе).
3. Если игрок в радиусе от координат игрока - вывод ему сообщения.


Ага,жаль только он этого сделать не сможет.



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )




Сообщение отредактировал Latron - Четверг, 23.02.2012, 11:10
Brain_TolmachДата: Четверг, 23.02.2012, 11:10 | Сообщение # 8
Новенький
Группа: Продвинутые
Сообщений: 55
Награды: 2
Город: Лениногорск
Репутация: 36
Замечания: 0%
Статус:
Мод с 0 пишу только 3 функции есть проверка игрока в зоне
Code

stock IsPlayerInArea(playerid,Float:miny,Float:maxx,Float:maxy)//Использование-if(IsPlayerInArea(playerid,x min,y min,X max,Y max))
{
  new Float:x,Float:y,Float:z;//Это проверкка игрока в зоне
  GetPlayerPos(playerid,X,Y,Z);
  if(X >= minx && y >= miny && Y<= maxy)
  {
      return 1;
  }
}

Проверка игрока в кубе
Code

stock IsPlayerInCube(playerid,Float:xmin,Float:ymin,Float:zmin,Float:xmax,Float:ymax,Float:zmax)
{
  new Float:x,Float:y,Float:z;// if(IsPlayerInCube(playerid,xmin,ymin,zmin,xmax,ymax,zmax))
  GetPlayerPos(playerid(x,y,z);//Проверка игррока в кубе
  if(x > xmin && y > ymin && z > zmin && x < xmax && y < ymax && z < zmax)return 1;
  return 0;
}

И проверка игрока в радиусе
Code

stock PlayerToPoint(Float:radi,playerid,Float:x,Float:y,Float:z)//Проверка игрока в радиусе
{
  if(IsPlayerConnected(playerid))//if(playerToPoint(3.0,playerd,xyz))
  {
      new Float:oldposx,Float:oldposy,Floatoldposz;
      new Float:tempposx,Float:tempposy,Float:tempposz;
      GetPlayerPos(playerid,oldposx,oldposy,oldposz);
      tempposx = (oldposx -x);
      tempposy = (oldpos -y);
      tempposz = (oldpos -z);
      if(((tempposx < radi)&&(tempposx > -radi))&&((tempposy < radi)&&(temppos > -radi))&&((tempposz < radi)&&(tempposz > -radi)))
      {
          return 1;
   }
  }
  return 0;
}

А так всем спасибо, сейчас попытаюсь с функцией джестера сделать



LatronДата: Четверг, 23.02.2012, 11:12 | Сообщение # 9
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Brain_Tolmach, PlayerToPoint(Float:radi,playerid,Float:x,Float:y,Float:z)//Проверка игрока в радиусе
Это удалите, это прошлый век,сейчас есть уже IsPlayerInRangeOfPoint - стандартная.
И используйте способ фаса, касательно /me.



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )




Сообщение отредактировал Latron - Четверг, 23.02.2012, 11:12
EmiGrantДата: Четверг, 23.02.2012, 11:12 | Сообщение # 10
Долгожитель
Группа: Продвинутые
Сообщений: 1362
Награды: 34
Город: Пятигорск
Репутация: 1653
Замечания: 40%
Статус:
Quote (Brain_Tolmach)
И проверка игрока в радиусе

stock PlayerToPoint(Float:radi,playerid,Float:x,Float:y,Float:z)//Проверка игрока в радиусе
{
if(IsPlayerConnected(playerid))//if(playerToPoint(3.0,playerd,xyz))
{
new Float:oldposx,Float:oldposy,Floatoldposz;
new Float:tempposx,Float:tempposy,Float:tempposz;
GetPlayerPos(playerid,oldposx,oldposy,oldposz);
tempposx = (oldposx -x);
tempposy = (oldpos -y);
tempposz = (oldpos -z);
if(((tempposx < radi)&&(tempposx > -radi))&&((tempposy < radi)&&(temppos > -radi))&&((tempposz < radi)&&(tempposz > -radi)))
{
return 1;
}
}


Нахрена?





Если человек несет бред, то здесь 2 варианта: либо он очень умный либо очень тупой © EmiGrant
Brain_TolmachДата: Четверг, 23.02.2012, 11:15 | Сообщение # 11
Новенький
Группа: Продвинутые
Сообщений: 55
Награды: 2
Город: Лениногорск
Репутация: 36
Замечания: 0%
Статус:
Latron, Спасибо понел,сейчас удалю и воспользуюсь функцией фобоса..

Добавлено (23.02.2012, 11:15)
---------------------------------------------
EmiGrant, Я начинающий скриптер мало знаю стандартных функций.


LatronДата: Четверг, 23.02.2012, 11:19 | Сообщение # 12
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
[off]
Quote (Brain_Tolmach)
Latron, Спасибо понел,сейчас удалю и воспользуюсь функцией фобоса..

Фобос это новая кликуха фаса? crazy [/off]
Quote (Brain_Tolmach)
EmiGrant, Я начинающий скриптер мало знаю стандартных функций.

http://wiki.sa-mp.com/



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


Brain_TolmachДата: Четверг, 23.02.2012, 11:23 | Сообщение # 13
Новенький
Группа: Продвинутые
Сообщений: 55
Награды: 2
Город: Лениногорск
Репутация: 36
Замечания: 0%
Статус:
Quote (Latron)
ОффтопикQuote (Brain_Tolmach)Latron, Спасибо понел,сейчас удалю и воспользуюсь функцией фобоса.. Фобос это новая кликуха фаса?

перепутал чуток) просто знакомый есть,фобос)



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





 


 


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