18: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
Модератор форума: AXE, Weddew  
[Архив] Помощь новичкам по скриптингу ! #2
heufixДата: Понедельник, 28.09.2009, 02:59 | Сообщение # 1
Уважаемый человек
Группа: Продвинутые
Сообщений: 995
Награды: 22
Репутация: 231
Замечания: 80%
Статус:
Здравствуйте, хотите научиться скриптингу? пишите сюда, помoжем!(С)[PZ]KYZ[AIR].
Старая Тема уже достаточно полна ответов, это продолжение первой темы.
Убедительная просьба к Новичкам:

К большому сожалению, на этом форуме экстрасенсы не сидят,поэтому убедительно просим объяснять ваш вопрос/проблему ТАК,чтобы её поняли другие участники, не забывайте приписывать ваш код к своему сообщению(в тег pwn).



Радость
stepmexДата: Понедельник, 19.04.2010, 09:56 | Сообщение # 1216
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (Ghost-X)
Там, если он использует стример
я использую стример, и у меня не там и даже не в OnPlayerSpawn и не OnPlayerConnect.



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
abhorДата: Понедельник, 19.04.2010, 16:28 | Сообщение # 1217
Уверенный в себе
Группа: Продвинутые
Сообщений: 184
Награды: 3
Город: Оттава
Репутация: 108
Замечания: 0%
Статус:
Подскажите как исправить эти ошибки: Я хочу сделать условие чтоб не поднимало уровень, если не достаточно денег, но если стоит:

Code
if(CurrentMoney[playerid] < costlevel)

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

Code
D:\блабла.pwn(14555) : error 028: invalid subscript (not an array or too many subscripts): "GetPlayerMoney"  
D:\блабла.pwn(14555) : warning 215: expression has no effect  
D:\блабла.pwn(14555) : error 001: expected token: ";", but found "]"  
D:\блабла.pwn(14555) : error 029: invalid expression, assumed zero

Code
if(IsPlayerConnected(playerid))  
       {  
     if (gPlayerLogged[playerid] != 0)  
     {  
      PlayerInfo[playerid][pCash] = CurrentMoney[playerid];  
      if(PlayerInfo[playerid][pLevel] >= 0)  
      {  
       new nxtlevel = PlayerInfo[playerid][pLevel]+1;  
       new costlevel = nxtlevel*levelcost;  
       new expamount = nxtlevel*levelexp;  
       new infostring[256];  
       new string[256];  
       //if(CurrentMoney[playerid] < costlevel)  
                      //if(GetPlayerMoney[playerid] < costlevel)  
                      if(GetPlayerMoney[playerid] > costlevel)//СТРОЧКА 14555  
       {  
        format(infostring, 256, "   У Вас недостаточно денег ($%d)!",costlevel);  
        SendClientMessage(playerid, COLOR_GRAD1, infostring);  
        return 1;  
       }  
       else if (PlayerInfo[playerid][pExp] < expamount)  
       {  
        format(infostring, 256, "   Вам необходимо %d очков уважения, сейчас у Вас %d!",expamount,PlayerInfo[playerid][pExp]);  
        SendClientMessage(playerid, COLOR_GRAD1, infostring);  
        return 1;  
       }  
       else  
       {  
        format(string, sizeof(string), "~g~LEVEL UP~n~~w~You Are Now Level %d", nxtlevel);  
        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);  
        PlayerPlayMusic(playerid);  
        SafeGivePlayerMoney(playerid, (-costlevel));  
        PlayerInfo[playerid][pLevel]++;  
        if(PlayerInfo[playerid][pDonateRank] > 0)  
        {  
            PlayerInfo[playerid][pExp] -= expamount;  
            new total = PlayerInfo[playerid][pExp];  
            if(total > 0)  
            {  
                PlayerInfo[playerid][pExp] = total;  
            }  
            else  
            {  
                PlayerInfo[playerid][pExp] = 0;  
            }  
        }  
        else  
        {  
         PlayerInfo[playerid][pExp] = 0;  
        }  
        PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;  
        GameTextForPlayer(playerid, string, 5000, 1);  
        format(infostring, 256, "   Вы приобрели уровень %d за $%d. Введите /upgrade.", nxtlevel, costlevel);  
        SendClientMessage(playerid, COLOR_GRAD1, infostring);  
        format(infostring, 256, "   У Вас %d неиспользованых очков обновления.",PlayerInfo[playerid][gPupgrade]);  
        SendClientMessage(playerid, COLOR_GRAD2, infostring);  
       }  
      }  
      return 1;  
     }  
     else  
     {  
      SendClientMessage(playerid, COLOR_GRAD1, "   Вы не идентифицированы!");  
     }  
    }  
    return 1;



HostName: [MoD] Call Of Duty - Urban Clashes. FREE VIP!
Address: 91.121.164.164:8077
PepykДата: Понедельник, 19.04.2010, 17:41 | Сообщение # 1218
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
ТАк уточните пожалуста!!)
Где прописывать мне и как!*!

stepmexДата: Понедельник, 19.04.2010, 17:59 | Сообщение # 1219
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Code
if(!IsPlayerConnected(playerid))return 1;//данная проверка бред сивой кобылы, если вы мне покажете как игрок из оффлайна способен отправить команду, а главное на кого она повляет, я вам памятник поставлю!
if(gPlayerLogged[playerid] == 0)return SendClientMessage(playerid, COLOR_GRAD1, "Вы не идентифицированы!");
PlayerInfo[playerid][pCash] = CurrentMoney[playerid];
if(PlayerInfo[playerid][pLevel] < 0)return 1;
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new costlevel = nxtlevel*levelcost;
new expamount = nxtlevel*levelexp;
new string[256];
if(PlayerInfo[playerid][pCash] < costlevel)
{
  format(string, 256, "У Вас недостаточно денег ($%d)!",costlevel);
  SendClientMessage(playerid, COLOR_GRAD1, string);
  return 1;
}
if (PlayerInfo[playerid][pExp] < expamount)
{
  format(string, 256, "Вам необходимо %d очков уважения, сейчас у Вас %d!",expamount,PlayerInfo[playerid][pExp]);
  SendClientMessage(playerid, COLOR_GRAD1, string);
  return 1;
}
format(string, sizeof(string), "~g~LEVEL UP~n~~w~You Are Now Level %d", nxtlevel);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerPlayMusic(playerid);
SafeGivePlayerMoney(playerid, (-costlevel));
PlayerInfo[playerid][pLevel]++;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
  PlayerInfo[playerid][pExp] -= expamount;
  if(PlayerInfo[playerid][pExp] > 0)PlayerInfo[playerid][pExp] = total;
  else PlayerInfo[playerid][pExp] = 0;
}
else PlayerInfo[playerid][pExp] = 0;
PlayerInfo[playerid][gPupgrade] += 2;
GameTextForPlayer(playerid, string, 5000, 1);
format(string, 256, "Вы приобрели уровень %d за $%d. Введите /upgrade.", nxtlevel, costlevel);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, 256, "У Вас %d неиспользованых очков обновления.",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;

Добавлено (19.04.2010, 17:59)
---------------------------------------------

Quote (Pepyk)
ТАк уточните пожалуста!!)
Где прописывать мне и как!*!
тебе бесполезно что-либо объяснять, ты все равно не поймешь :(



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
PepykДата: Понедельник, 19.04.2010, 18:41 | Сообщение # 1220
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
Допустим я не пойму...
Но другим же тоже понадобиться!!!
Так что напрегись пожалуста и помоги прошу тебя)))

stepmexДата: Понедельник, 19.04.2010, 18:47 | Сообщение # 1221
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (Pepyk)
Но другим же тоже понадобиться!!!
Так что напрегись пожалуста и помоги прошу тебя)))
fuck



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
PepykДата: Понедельник, 19.04.2010, 19:02 | Сообщение # 1222
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
Эт себе будешь сувать**!
DANGER1979Дата: Вторник, 20.04.2010, 11:12 | Сообщение # 1223
Постоялец
Группа: I'm V.I.P.
Сообщений: 365
Награды: 5
Город: Гродно
Репутация: 557
Замечания: 0%
Статус:
Pepyk, тебе сначало надо немного самому понять и прочитать вики по ф-иям устанвоки иконок.
stepmex, врятли тебе поможет, т.к. ни разу не видел, чтобы он давал готовый код решения чей-то проблемы.

Так как на иконки есть ограничение, то лучше делать это через стример.
Вот держи.

Code
ShowMapIcons(playerid)//вызывается каждую секунду из таймера
{
   //для УСТАНОВКИ ИКОНОК НА КАРТЕ начало
   for(new j=0; j < MAX_ZONES; j++)
   {
    if( IsPlayerInZone(playerid, j) )//если игрок находится в координатах по строке j из массива zones
    {   //если игрок находится в какой либо из зон
     if(MapIconsShown[playerid] != j)//если иконки для этого игрока не установлены
     {
         for(new row = 0; row < MAX_ICONS; row++)
         {   //удаляем все предыдущие
       RemovePlayerMapIcon(playerid, row);
      }
      new ind, nMapIcon, IconList[MAX_ICONS];//массив для хранения найденых
      //получаем из массива список иконок соот. данной зоне и заносим их в другой массив
         for(new row = 0; row < MAX_ICONS; row++)
         {   //сканируем все иконки построчно
       if(MapIcons[row][zone_id] == zones[j][zone_id])
        {   //если иконка принадлежит зоне где находится чувак
        IconList[nMapIcon] = row;//записываем строку найденой иконки в массив
        nMapIcon++;//счётчик найденых иконок
       }
      }
         for(ind=0; ind<nMapIcon; ind++)//ind - чтобы не устанавливались другие иконки
         {   //устанавливаем иконки по строке ind из массива IconList[ind]
       SetPlayerMapIcon(playerid,ind,MapIcons[IconList[ind]][icon_x],MapIcons[IconList[ind]][icon_y],MapIcons[IconList[ind]][icon_z],MapIcons[IconList[ind]][icon_type],0);//
         }
      GameTextForPlayer(playerid,zones[j][zone_name],1000,4);//6 выводим название зоны
         MapIconsShown[playerid] = j;//иконки установлены, чтобы не выполнялось постояннно
        }
    }
    else
    {
     if(MapIconsShown[playerid] == j)
     {
         for(new row = 0; row < MAX_ICONS; row++) RemovePlayerMapIcon(playerid, row);
      MapIconsShown[playerid] = 999;
     }
    }
   }
   return 1;
}

Иконки устанавливаются из массива MapIcons
Вот так выглядит этот массив
Code
#define MAX_ICONS 84//60
enum iconsinfo {
   zone_id,
      Float:icon_x,
      Float:icon_y,
      Float:icon_z,
      icon_type
}
new Float:MapIcons[MAX_ICONS][iconsinfo] = {//для каждой зоны координаты иконок на карте
{MI_LOS_SANTOS,   1462.3958,-1012.3912,26.8438,52},//0 BANK $

...
{MI_RED_COUNTY,      628.7086,-571.7820,17.0885,30}//RCPD
};//для УСТАНОВКИ ИКОНОК НА КАРТЕ конец

Массив иконок в случаи домов надо заменить. Т.е. координаты брать из массива домов.
Так же тебе надо определить массив границ всех больших зон.
Выглядит он примерно вот так у меня
Code
//для УСТАНОВКИ ИКОНОК НА КАРТЕ начало
#define MI_LOS_SANTOS 0
#define MI_FLINT_COUNTY 1
#define MI_WHETSTONE 2
#define MI_SAN_FIERRO 3
#define MI_TIERRA_ROBADA_L 4
#define MI_TIERRA_ROBADA_R 5
#define MI_BONE_COUNTY 6
#define MI_LAS_VENTURAS 7
#define MI_RED_COUNTY 8

#define MAX_ZONES 9
enum zoneinfo {
   zone_id,
   zone_name[20],
      Float:zone_minx,
      Float:zone_miny,
      Float:zone_minz,
      Float:zone_maxx,
      Float:zone_maxy,
      Float:zone_maxz
}  
new Float:zones[MAX_ZONES][zoneinfo] = {//координаты прямоугольной зоны Xmin,Ymin,Zmin,Xmax,Ymax,Zmax
{ MI_TIERRA_ROBADA_L,"Tierra Robada",    -2997.40,   1659.60,   -242.90,   -480.50,   2993.80,    900.00    },
...
{ MI_TIERRA_ROBADA_R,"Tierra Robada",    -1213.90,   596.30,   -242.90,   -480.50,   1659.60,    900.00    }
};

Если не поймешь как им пользоваться, ТО пиши, т.к. просто вставить этот код не получится. НАдо будет прописать все недостоющие тебе данные и определить константы.
Удачи.



[UCP] Статистика сервера (MySQL)
GTA:SA VirtualWorld Server - LifeSimulator
[Продажа][GM] VirtualWorld v3.0.219
[FS] VW_SystemOfNeed - Система потребностей
[FS] VW_SystemOfBuying - Система покупки авто
[FS] VW_Speedometer - с системой расхода топлива и учёта пробега
[FS] VW_CargoShip - Грузовое судно


Сообщение отредактировал DANGER1979 - Вторник, 20.04.2010, 11:14
PepykДата: Вторник, 20.04.2010, 20:53 | Сообщение # 1224
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
DANGER1979 спс что хоть чемто помог!)
Буду розбераться!

dmstealthДата: Среда, 21.04.2010, 14:36 | Сообщение # 1225
Новенький
Группа: Пользователи
Сообщений: 8
Награды: 0
Город: Kiev
Репутация: 0
Замечания: 0%
Статус:
Quote (Genu)
Измени в фс сам GivePlayerMoney(playerid,amount); на PlayerCash[playerid] -=amount;

Этот способ пробовал сразу же когда увидел проблему, но данная команда ни отбирает деньги, ни добавляет их, и проблему само собой не решает.

Еще подумал и хочу попробовать: как сделать что бы при выдаче денег фильтрскрипт записывал новое значение PlayerCash прямо в файл игрока? То есть подменял лишь одну строку "cash="
Уже пробовал реализовать, но что-то оно не работает )))

[pwn]
PlayerSave(playerid){
new stringrace[64];
new playernamerace[MAX_PLAYER_NAME];
GetPlayerName(playerid,playernamerace,sizeof(playernamerace));
format(stringrace,sizeof(stringrace),"var/acf/%s.ini",playernamerace);
new File: cashrace = fopen(stringrace,io_write);
//if (hFile)
//{
new var[64];
format(var,64,"cash=%d\n",PlayerCash[playerid]);fwrite(cashrace,var);
// }
return 1;
}
[/pwn]

poks[md]Дата: Среда, 21.04.2010, 15:58 | Сообщение # 1226
Новенький
Группа: Пользователи
Сообщений: 56
Награды: 1
Город: нет
Репутация: -7
Замечания: 20%
Статус:
хочу создать окно при входе для регистрации и входа на сервер , не нашёл нигде помогите пожалуйста со скриптом?

Добавлено (21.04.2010, 15:58)
---------------------------------------------

Quote (stepmex)
fuck

мда классно помогают тут в скриптинге

PepykДата: Воскресенье, 25.04.2010, 11:18 | Сообщение # 1227
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
Помогают все нормально кроме 1!
Code
(stepmex) он сам по себе!

Добавлено (24.04.2010, 13:58)
---------------------------------------------
Всё я смог разобратьтся с иконками....
Ток сам голову напригал))

Добавлено (24.04.2010, 23:45)
---------------------------------------------
Помогите пожалуста..
Почему при проставке домов.прежние слетают?*?
И когда я выхожу из нового дома каторый я поставил,,,,,я выхожу в море(хз как*)при выезде из ЛС...

Помогите кто сможет пожалуста)

Добавлено (25.04.2010, 00:08)
---------------------------------------------
Как сделать чтобы после рестарта сохранялся тюннинг??*??
Помогите пожалуста)

Добавлено (25.04.2010, 11:18)
---------------------------------------------
Вот выхожу из дома и меня сюда выкидывает!
http://i033.radikal.ru/1004/95/eb986ba6c10e.jpg
http://s50.radikal.ru/i127/1004/9c/27e933266795.jpg
http://i052.radikal.ru/1004/49/b0fb4df28aea.jpg
Помогите пожалуста))

AwmДата: Воскресенье, 25.04.2010, 12:01 | Сообщение # 1228
Группа: I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус:
dmstealth, fseek и io_append для кого создали ?
Quote (Pepyk)
Вот выхожу из дома и меня сюда выкидывает!

координаты верные поставь.




"Life is hard... life is harder if you're stupid." - John Wayne
PepykДата: Воскресенье, 25.04.2010, 12:30 | Сообщение # 1229
Освоившийся
Группа: Пользователи
Сообщений: 111
Награды: 1
Город: ЧернобыльЬ
Репутация: 13
Замечания: 0%
Статус:
Правельно всё там...
Если нет..исправь плз)
[pwn]0.000000,-800.012207,72.670501,228.537200,1114.332519,1080.992187,0,0,0,0,0,0,The State,New house,1000000,0,100,5,1,0,5,1000,10,0,0,0,0,0,5,0,0[/pwn]

Добавлено (25.04.2010, 12:21)
---------------------------------------------
И если сможешь обьясни где у меня ошибка*?

Добавлено (25.04.2010, 12:30)
---------------------------------------------
млин походу не тот код дал)
[pwn]
878.1113,-1515.9084,13.8313,295.1559,1473.5322,1080.2578,0,0,0,0,0,0,The State,New house,1000000,0,100,15,1,0,5,1000,10,0,0,0,0,0,5[/pwn]

Hen-KokДата: Понедельник, 26.04.2010, 21:25 | Сообщение # 1230
Новенький
Группа: Пользователи
Сообщений: 16
Награды: 0
Город: уфа
Репутация: -1
Замечания: 0%
Статус:
ищу вопрос на ответ можно ли добавить мпшины в /carupgrade на моде GF?
Поиск:





 


 


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