17: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  
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


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


Скриптерам:

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



Инструкции:

  • [cut noguest=Краткая инструкция для вшивания FS в мод]
    1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
    2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
    3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
    4) Все прототипы (forward ...(...) ) ко всем прототипам.
    5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.

    P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
    P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
    [/cut]
  • [cut noguest=Защита от ботов]
    В OnPlayerConnect
    [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
    В конец мода
    [pwn]stock GetPlayersSameIp(playerid)
    {//by Weddew
    //Возвращает количество подключенных игроков с таким же IP как у playerid
    new count = 0, p_ip[16], i_ip[16];
    GetPlayerIp(playerid, p_ip, sizeof(p_ip));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    GetPlayerIp(playerid, i_ip, sizeof(i_ip));
    if(i != playerid)
    {
    if(!strcmp(p_ip, i_ip, false)) count++;
    }
    }
    return count;
    }[/pwn]
    [/cut]
  • [cut noguest=Проверка на Role Play ник]
    В конец мода:
    [pwn]
    stock IsARPNickname(playerid)
    {
    //by Weddew
    new p_n[MAX_PLAYER_NAME], dcount = 0;
    GetPlayerName(playerid, p_n, sizeof(p_n))
    for(i = 0; i < strlen(p_n); i++)
    {
    if(p_n[i] == '_') dcount++;
    }
    if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
    return true;
    }[/pwn]

    В OnPlayerConnect

    [pwn]
    if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]

    P.S.:
    Не пропустит: _Nick_Name_, _Nick_Name, NickName_
    Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45
SaibotДата: Суббота, 20.07.2013, 22:31 | Сообщение # 1276
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Такая проблема: Даю игроку мут, мут даётся а сообщение не доходит.
[pwn]if(strcmp(cmd, "/nmute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "/nmute [id] [время]");
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pHelper] == 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
if(money < 1 || money > 180) return SendClientMessage(playerid, COLOR_GRAD2,"Заткнуть игрока можно на время от 1 минут до 180 минут.");
MuteHelper[playa] = money*180;
format(string, sizeof(string), "{009933}Хелпер %s ограничил(а) доступ к /n чату на %d минут.",sendername,money);
SendRadioMessage(playa, COLOR_GRAD2, string);
format(string, sizeof(string), "{009933}Хелпер %s ограничил(а) доступ %s к /n чату на %d минут.",sendername,giveplayer,money);
ABroadCastHelper(COLOR_YELLOW,string,1);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2,"Эта команда только для Хелперов.");
}
}
}
return true;
}[/pwn]

WeddewДата: Суббота, 20.07.2013, 22:34 | Сообщение # 1277
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Saibot, проблема тут
[pwn]SendRadioMessage(playa, COLOR_GRAD2, string); [/pwn]
Функция SendRadioMessage посылает сообщения членам организации.
Используйте следующее
[pwn]SendClientMessage(playa, COLOR_GRAD2, string); [/pwn]




www.weddew-shop.ru
oleg903Дата: Суббота, 20.07.2013, 23:46 | Сообщение # 1278
Новенький
Группа: Пользователи
Сообщений: 6
Награды: 0
Город: Домодедово
Репутация: 0
Замечания: 0%
Статус:
Код
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18162) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18164) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18166) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18168) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18170) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18174) : error 021: symbol already defined: "SendClientMessage"
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18176) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18178) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18180) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18184) : error 021: symbol already defined: "SendClientMessage"
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18186) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18188) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18190) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18194) : error 021: symbol already defined: "SendClientMessage"
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18196) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18198) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18200) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18204) : error 021: symbol already defined: "SendClientMessage"
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18206) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18208) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18210) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18214) : error 021: symbol already defined: "SendClientMessage"
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18216) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(18220) : error 010: invalid function or declaration
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : error 029: invalid expression, assumed zero
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : warning 215: expression has no effect
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : warning 215: expression has no effect
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : warning 215: expression has no effect
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : warning 215: expression has no effect
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : warning 215: expression has no effect
C:\Users\Хабалов\Desktop\Genix Role Play version 7.0 FINAL\gamemodes\GenixRp.pwn(23525) : error 001: expected token: ";", but found ")"


Код
18162  if(dialogid == DIALOG_GUN)
     {
         if(response)
         {
             switch(listitem)
             {
             case 0:
                 {
                     if(GetPlayerMoney(playerid) >=2500)
                     {
                         GivePlayerMoney(playerid,-2500);
                         ServerGivePlayerWeapons(playerid,24,24);
                         SendClientMessage(playerid,COLOR_GREEN,"Вы купили {A020F0}Deagle");
                     }
                     else return SendClientMessage(playerid,COLOR_BLUE,"Недостаточно денег");
                 }
             case 1:
                 {
                     if(GetPlayerMoney(playerid) >=6000)
                     {
                         GivePlayerMoney(playerid,-6000);
                         ServerGivePlayerWeapons(playerid,31,250);
                         SendClientMessage(playerid,COLOR_GREEN,"Вы купили {A020F0}M4A1");
                     }
                     else return SendClientMessage(playerid,COLOR_BLUE,"Недостаточно денег");
                 }
             case 2:
                 {
                     if(GetPlayerMoney(playerid) >=50)
                     {
                         GivePlayerMoney(playerid,-50);
                         ServerGivePlayerWeapons(playerid,4,1);
                         SendClientMessage(playerid,COLOR_GREEN,"Вы купили {A020F0}Нож");
                     }
                     else return SendClientMessage(playerid,COLOR_BLUE,"Недостаточно денег");
                 }
             case 3:
                 {
                     if(GetPlayerMoney(playerid) >=15000)
                     {
                         GivePlayerMoney(playerid,-15000);
                         ServerGivePlayerWeapons(playerid,25,25);
                         SendClientMessage(playerid,COLOR_GREEN,"Вы купили {A020F0}Shotgun");
                     }
                     else return SendClientMessage(playerid,COLOR_BLUE,"Недостаточно денег");
                 }
             case 4:
                 {
                     if(GetPlayerMoney(playerid) >=5000)
                     {
                         GivePlayerMoney(playerid,-5000);
                         ServerGivePlayerWeapons(playerid,28,500);
                         SendClientMessage(playerid,COLOR_GREEN,"Вы купили {A020F0}Micro SMG");
                     }
                     else return SendClientMessage(playerid,COLOR_BLUE,"Недостаточно денег");
                 }
             }
         }
         return 1;
   18221  }
//-------------------------------- Конец диалога ---------------------------


Код

     if(pickupid == yakgun)  // Если игрок на пикапе
{
         if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 6) // И он состоит в ацтеках то (15 - ид фракции)
         {
   23525          ShowPlayerDialog(playerid,DIALOG_GUN,DIALOG_STYLE_LIST,"Выбор оружия","\nDeagle(24)          \t\t\t{A020F0}2500$\nM4A1(250)           \t\t\t{A020F0}7000$\nKnife                 \t\t\t{A020F0}50$\nShotGun(25)        \t\t\t{A020F0}15000$\nMicro SMG(500)      \t\t\t{A020F0}5000$","Далее","Нет"); // Выводим диалог с выбором
             return 1;
         }
         else{ SendClientMessage(playerid, COLOR_LIGHTRED2,"* Вы не состоите в Yakuza!"); // Если игрок не в яках то выводим сообщение
         }
     }

Помогите, прошу!

_BigSm0ke_Дата: Воскресенье, 21.07.2013, 00:37 | Сообщение # 1279
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Все ищу какой бы хостинг выбрать для сервера, остановился на ihc.ru, можете кто-нибудь подсказать, для сервера samp что там заказывать? OpenVZ VPS? Самое главное хотел бы узнать, там есть антиддос? И какую ОС туда ставить (я так понял туда можно поставить одну из этих: Centos, ubuntu, debian)?


LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут


Сообщение отредактировал _BigSm0ke_ - Воскресенье, 21.07.2013, 00:42
WeddewДата: Воскресенье, 21.07.2013, 00:52 | Сообщение # 1280
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
oleg903, скорее всего ошибка из-за незакрытой фигурной скобки.



www.weddew-shop.ru
oleg903Дата: Воскресенье, 21.07.2013, 00:54 | Сообщение # 1281
Новенький
Группа: Пользователи
Сообщений: 6
Награды: 0
Город: Домодедово
Репутация: 0
Замечания: 0%
Статус:
Weddew, в каком месте? можно поподробнее)
WeddewДата: Воскресенье, 21.07.2013, 00:54 | Сообщение # 1282
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
Все ищу какой бы хостинг выбрать для сервера, остановился на ihc.ru, можете кто-нибудь подсказать, для сервера samp что там заказывать? OpenVZ VPS? Самое главное хотел бы узнать, там есть антиддос? И какую ОС туда ставить (я так понял туда можно поставить одну из этих: Centos, ubuntu, debian)?

Я как-то пробовал ставить на KVM VPS Debian, скажу сразу, установить поверх ОС какие-либо дополнения не получится, советую выбирать CentOS




www.weddew-shop.ru
_BigSm0ke_Дата: Воскресенье, 21.07.2013, 00:58 | Сообщение # 1283
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Цитата (Weddew)
Я как-то пробовал ставить на KVM VPS Debian, скажу сразу, установить поверх ОС какие-либо дополнения не получится, советую выбирать CentOS

ясно, спасибо, а что например за дополнения?

И все таки:
1) Что ставить? OpenVZ или KVM?
2) 1 gb оперативки сколько онлайна потянет?



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
WeddewДата: Воскресенье, 21.07.2013, 01:38 | Сообщение # 1284
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
_BigSm0ke_, Если планируете держать несколько серверов, то берите виртуализацию KVM.
Цитата (_BigSm0ke_)
2) 1 gb оперативки сколько онлайна потянет?

Будет достаточно, для сервера с онлайном в 200

Добавлено (21.07.2013, 01:38)
---------------------------------------------

Цитата (oleg903)
Weddew, в каком месте? можно поподробнее)

Тут трудно сказать, в каком именно месте. Используйте это приложение для поиска незакрытых фигурных скобок.




www.weddew-shop.ru
oleg903Дата: Воскресенье, 21.07.2013, 01:50 | Сообщение # 1285
Новенький
Группа: Пользователи
Сообщений: 6
Награды: 0
Город: Домодедово
Репутация: 0
Замечания: 0%
Статус:
Weddew, а как этим приложением пользоваться?
_BigSm0ke_Дата: Воскресенье, 21.07.2013, 01:56 | Сообщение # 1286
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Weddew, а антиддос есть?


LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
WeddewДата: Воскресенье, 21.07.2013, 02:23 | Сообщение # 1287
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (oleg903)
Weddew, а как этим приложением пользоваться?

Инструкция на том же сайте.
Цитата (_BigSm0ke_)
Weddew, а антиддос есть?

Скорее всего, если же досят сервер, то пишите в Тех. поддержку.




www.weddew-shop.ru


Сообщение отредактировал Weddew - Воскресенье, 21.07.2013, 02:24
SaibotДата: Воскресенье, 21.07.2013, 15:13 | Сообщение # 1288
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Weddew)
SendRadioMessage(playa, COLOR_GRAD2, string);
wall
Как зделать чтобы анимка 15heal не работала на ДМ-зоне.
public SetPlayerUnjail()
[pwn]new Float:healt;
GetPlayerHealth(i,healt);
if (healt < 15.0)
{
Killed[i] = 1;
AnimationKill(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
}
else if (healt > 15.0 && Killed[i] == 1)
{
Killed[i] = 0;
ClearAnimations(i);
}[/pwn]
Делал вот так, но когда убивают игрока на зоне он не умерает.
[pwn]if(ZonaKill[i] == 1)
{
ClearAnimations(i);
}[/pwn]

ДМ-Зона-[pwn]if(ZonaKill[i] == 1)[/pwn]

WeddewДата: Воскресенье, 21.07.2013, 16:43 | Сообщение # 1289
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Saibot, [pwn]new Float:healt;
GetPlayerHealth(i,healt);
if (healt < 15.0)
{
Killed[i] = 1;
if(!ZonaKill[i]) AnimationKill(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
}
else if (healt > 15.0 && Killed[i] == 1)
{
Killed[i] = 0;
ClearAnimations(i);
}[/pwn]




www.weddew-shop.ru
[f1eldy]Дата: Воскресенье, 21.07.2013, 17:22 | Сообщение # 1290
Новенький
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Подскажите уроки для создания скриптов для сампа?
Поиск:





 


 


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