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

 



 
        
Фильм by SAMP-RUS (16)
AlinaKA 12.09.2017 23:51
Физрук (16)
Phyliciavox 08.09.2017 17:49
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 47 из 152«124546474849151152»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 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
[[[WampiR]]]Дата: Воскресенье, 05.05.2013, 20:42 | Сообщение # 691
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Weddew)
Покрасочная работа устанавливается функцией ChangeVehiclePaintjob.
Для того, чтобы покрасочная работа отображалась постоянно на транспорте, необходимо устанавливать работу во время спавна транспорта.


Если я правильно понял то я вставил вот это:
[pwn] new rand = random(3);
ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), rand);[/pwn]
В [pwn]public OnVehicleSpawn(vehicleid)[/pwn]
И вставлял вот это: [pwn] LoadModsForAll(vehicleid);
TuneThisCar(vehicleid);[/pwn]
В этот же public и все равно пропадает. Теперь она вообще не сохраняется.

vla9ikДата: Воскресенье, 05.05.2013, 20:58 | Сообщение # 692
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 153
Награды: 2
Город: Ярославль
Репутация: 158
Замечания: 0%
Статус:
[[[WampiR]]],
new car; это название машины которая будет с винилом
в [pwn]public OnGameModeInit();[/pwn] вставляешь
[pwn]car = AddStaticVehicle(560,1111.1111,2222.2222,3333.3333,4444.4444,0,0);[/pwn]
в [pwn]public OnVehicleSpawn(vehicleid)[/pwn] вставляешь
[pwn]ChangeVehiclePaintjob(car, 1);[/pwn]
Это должно работать. Попробуй



Сообщение отредактировал vla9ik - Воскресенье, 05.05.2013, 21:00
[[[WampiR]]]Дата: Понедельник, 06.05.2013, 11:36 | Сообщение # 693
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (vla9ik)
new car; это название машины которая будет с винилом

Не помогло. Все равно слетает.

WeddewДата: Понедельник, 06.05.2013, 14:01 | Сообщение # 694
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Если я правильно понял то я вставил вот это:

Цитата (|||WampiR|||)
new rand = random(3);
ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), rand);

Цитата (|||WampiR|||)
В
1
public OnVehicleSpawn(vehicleid)

Вы смотрите входные параметры функции! В OnVehicleSpawn нет параметра playerid, а есть только vehicleid!

Добавлено (06.05.2013, 14:01)
---------------------------------------------
[[[WampiR]]], в OnVehicleSpawn(vehicleid)
[pwn]new rand = random(2)+1;
ChangeVehiclePaintjob(vehicleid, rand);[/pwn]



www.weddew-shop.ru
[[[WampiR]]]Дата: Понедельник, 06.05.2013, 15:53 | Сообщение # 695
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Weddew)
[[[WampiR]]], в OnVehicleSpawn(vehicleid)
new rand = random(2)+1;
 ChangeVehiclePaintjob(vehicleid, rand);

Все равно изчезает.

sehrgetДата: Понедельник, 06.05.2013, 22:20 | Сообщение # 696
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
В начале мода:

[pwn]new CenaActive = 0;[/pwn]

[pwn]if(dialogid == 10000)
{
if(response)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_RED, "Бла-бла");
return 1;
}
if(strval(inputtext) < 0 && strval(inputtext) > 1)
{
SendClientMessage(playerid, COLOR_RED, "Íåïðàâèëüíûé ââîä ðåæèìà ðàáîòû àíòè÷èòà!");
return 1;
}
new Rejim = strval(inputtext);
CenaActive = Rejim;
}
}[/pwn]
Ошибок нету, НО CenaActive не меняется. Как это исправить?

WeddewДата: Понедельник, 06.05.2013, 23:42 | Сообщение # 697
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
sehrget, подробнее о промежутке чисел, в котором должно находится значение переменной CenaActive, а также проверьте, не изменяется ли значение этой переменной где-нибудь еще.
P.S. Описывайте проблему подробнее, а также действия, которые Вы хотите выполнить.




www.weddew-shop.ru
GeryyДата: Вторник, 07.05.2013, 01:54 | Сообщение # 698
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (sehrget)
В начале мода:

Условие не такое должно быть?

Код

if(strval(inputtext) < 0 || strval(inputtext) > 1)    
{    
       SendClientMessage(playerid, COLOR_RED, "Неправильный ввод режима работы античита!");    
       return 1;    
}
CenaActive = strval(inputtext);



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Вторник, 07.05.2013, 01:56
ElectroschokkДата: Вторник, 07.05.2013, 11:33 | Сообщение # 699
Новенький
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Помогите с командой. В общем дело такое, команда /ar [id] для ареста. хочу сделать /ar без обязательного указания ID'а игрока. То есть, чтобы команда действовала на ближайшего игрока, без необходимости указывать его ID.
GeryyДата: Вторник, 07.05.2013, 13:35 | Сообщение # 700
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Electroschokk, в команде /ar (без id) нужно будет циклом "пройтись" по всем игрокам, выбрать тех кто ближе всего окажется на данный момент к игроку который вводит (/ar) + добавить условие: розыск - не розыск и т.д.


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.

Сообщение отредактировал Geryy - Вторник, 07.05.2013, 13:36
SaibotДата: Вторник, 07.05.2013, 16:13 | Сообщение # 701
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Такая проблема:Хотель зделать так чтоб лидер когда вводил эту команду (/makeadvokat - команда даёт работу Оф.Адвоката) чтоб мог дать Оф. Адвоката тока фракции №7. Я делал так:
[pwn]if(PlayerInfo[playerid][pMember] < 7 || PlayerInfo[playerid][pLeader] < 7) return SendClientMessage(playerid, COLOR_GRAD2,"Игрок должен состоять в Коллегии Адвокатов.");[/pwn]
Но почемуто работа Оф.Адвоката даёться только Участникам а лидерам недаёться.
[pwn]if(strcmp(cmd, "/makeadvokat",true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 21)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "/makeadvokat [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[playerid][pMember] < 7 || PlayerInfo[playerid][pLeader] < 7) return SendClientMessage(playerid, COLOR_GRAD2,"Игрок должен состоять в Коллегии Адвокатов.");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Офицер %s принял %s в Оффициальные Адвокаты.",sendername, giveplayer);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJob] = 2;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок в оффлайн!");
return 1;
}
}
return 1;
}[/pwn]

VagrantДата: Вторник, 07.05.2013, 18:12 | Сообщение # 702
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус:
Saibot, попробуй:
[pwn]
if(strcmp(cmd, "/makeadvokat",true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 21)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "/makeadvokat [playerid/PartOfName]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок в оффлайн!");
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pMember] != 7 || PlayerInfo[giveplayerid][pLeader] != 7) return SendClientMessage(playerid, COLOR_GRAD2,"Игрок должен состоять в Коллегии Адвокатов.");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Офицер %s принял %s в Оффициальные Адвокаты.",sendername, giveplayer);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJob] = 2;
}
}
return 1;
}
[/pwn]



Человек учась ходить падает, и только падая, он учится ходить!
Мои работы:
[GM] W.F.S.A. V. 1.0 - 100%
[GM] San Fierro Enigmatic (TDM) V. 1.0 - 100%
[FS] Clan House V. 1.0 - 100%
[FS] Save Car Tun System V. 1.0 - 100%
[FS] Vagrant Anti-CapsLock V. 2.1 - 100%
[FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100%
[APP] SA-MP Interior Viewer V. 1.0 - 100%

Принимаю заказы на помощь в скриптинге!


Сообщение отредактировал Vagrant - Вторник, 07.05.2013, 18:12
SaibotДата: Вторник, 07.05.2013, 19:22 | Сообщение # 703
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (Vagrant)
Saibot, попробуй: 1234567891011121314151617181920if(strcmp(cmd, "/makeadvokat",true) == 0) { if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 21) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "/makeadvokat [playerid/PartOfName]"); giveplayerid = ReturnUser(tmp); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок в оффлайн!"); if(giveplayerid != INVALID_PLAYER_ID) { if(PlayerInfo[giveplayerid][pMember] != 7 || PlayerInfo[giveplayerid][pLeader] != 7) return SendClientMessage(playerid, COLOR_GRAD2,"Игрок должен состоять в Коллегии Адвокатов."); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Офицер %s принял %s в Оффициальные Адвокаты.",sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTBLUE, string); PlayerInfo[giveplayerid][pJob] = 2; } } return 1; }

Тоже самое

WeddewДата: Вторник, 07.05.2013, 21:17 | Сообщение # 704
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Saibot, [pwn]if(strcmp(cmd, "/makeadvokat",true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 21)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "/makeadvokat [playerid/PartOfName]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Этот игрок в оффлайн!");
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pMember] == 7 || PlayerInfo[giveplayerid][pLeader] == 7)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Офицер %s принял %s в Оффициальные Адвокаты.",sendername, giveplayer);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pJob] = 2;
}
else SendClientMessage(playerid, COLOR_GRAD2,"Игрок должен состоять в Коллегии Адвокатов.");
}
}
return 1;
} [/pwn]




www.weddew-shop.ru
Young_NiggaДата: Среда, 08.05.2013, 00:50 | Сообщение # 705
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Помогите пожалуйста! Почти написал систему регистрации/авторизации для своего мода, но при подключении зарегистрированного игрока ему выдаются деньги, которые сохранены в аккаунте, а вот уровень здоровья всегда 100%... Уже чего только не пробовал. Заранее благодарю!
Код Гейммода:
[pwn]#include <a_samp>
#include <mxINI>
#include <file>

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define PATH "/Accounts/%s.ini"
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_BLACK 0x000000FF
#define COLOR_RED 0xFF4040FF
#define COLOR_GREEN 0x40FF40FF
#define COLOR_BLUE 0x4040FFFF
#define COLOR_NONE 0x00000000

new pName[MAX_PLAYER_NAME];

public OnGameModeInit()
{
SetGameModeText("Revolution v.0.1");
printf("\n\n\n\
************************************\n\
********** Revolution Mod **********\n\
********** Version 0.2 **********\n\
************************************\n\
\n\n\n");
AllowAdminTeleport(1);
return 1;
}
stock UserPath(playerid)
{
new str[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(str,sizeof(str),PATH,pName);
return str;
}
public OnPlayerConnect(playerid)
{
new string[60];
SendClientMessage(playerid,COLOR_WHITE,"\n{88AA88}Добро пожаловать в новый мод{FFFFFF}\n{88AA88}Revolution Life!{FFFFFF}\n");
GetPlayerName(playerid,pName,sizeof(pName));
format(string,sizeof(string),"%s присоединился к игре. (ID:%d)",pName,playerid);
SendClientMessageToAll(0xFFFF00AA,string);
if(fexist(UserPath(playerid)))
{
new fullpath[64];
new Float:health,money;
format(fullpath,sizeof(fullpath),PATH,pName);
new iniFile = ini_openFile(fullpath);
ini_getInteger(iniFile,"Money",money);
ini_getFloat(iniFile,"Health",health);
ini_closeFile(iniFile);
GivePlayerMoney(playerid,money);
printf("здоровье %f",health);
SetPlayerHealth(playerid,health);
return 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Регистрация на сервере","Пожалуйста, введите Ваш пароль, чтобы зарегистрировать аккаунт","Регистрация","Выход");
}
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid==DIALOG_REGISTER)
{
if(response)
{
if(strlen(inputtext)<4)
{
new cantregister[45];
format(cantregister,sizeof(cantregister),"Пароль должен быть НЕ КОРОЧЕ 4 символов.");
SendClientMessage(playerid,COLOR_RED,cantregister);
Kick(playerid);
}
else
{
new fullpath[64];
format(fullpath,sizeof(fullpath),PATH,pName);
new iniFile = ini_createFile(fullpath);
ini_openFile(fullpath);
ini_setString(iniFile,"Name",pName);
ini_setString(iniFile,"Password",inputtext);
ini_setInteger(iniFile,"Money",10000);
ini_setInteger(iniFile,"Kills",0);
ini_setInteger(iniFile,"Deaths",0);
ini_setInteger(iniFile,"Admin",0); //0 - обычный игрок, 1 - модератор, 2 - администратор
new Float:phealth;
SetPlayerHealth(playerid,20.00);
GetPlayerHealth(playerid,phealth);
ini_setFloat(iniFile,"Health",20.0);
GivePlayerMoney(playerid,10000);
ini_closeFile(iniFile);
new successregister[45];
format(successregister,sizeof(successregister),"Регистрация прошла успешно!");
SendClientMessage(playerid,COLOR_GREEN,successregister);
}
}
else
{
Kick(playerid);
return 1;
}
}
return 1;
}
public OnGameModeExit()
{
return 1;
}
[/pwn]

Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 47 из 152«124546474849151152»
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM