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

 



 
        
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
 





Рекомендуем:
Добавить 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
Страница 132 из 151«12130131132133134150151»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 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
brebvixДата: Понедельник, 03.03.2014, 22:11 | Сообщение # 1966
Новенький
Группа: Продвинутые
Сообщений: 43
Награды: 2
Репутация: 116
Замечания: 0%
Статус:
Steep_Nk, большое спасибо за ответ, всё работает, но частично :)
Приведу реальный код:
[pwn]enum info {
Name[50],
IP[20]
}
new data[1000][info];

public OnFilterScriptInit()
{
data[0][Name] = "User_Test";
return 1;
}[/pwn]
При выполнении получаю ошибку:
Код
error 047: array sizes do not match, or destination array is too small

Причем если Name или IP будут типа integer - то данные запишет нормально.



Blog: http://brebvix.com
E-Mail: admin@brebvix.com
Dima-kunДата: Понедельник, 03.03.2014, 22:14 | Сообщение # 1967
Группа: Разработчики
Сообщений: 6234
Награды: 72
Репутация: 3329
Замечания: 0%
Статус:
Steep_Nk, ой зачем столько лишних телодвижений?? Не ну я понимаю сейчас компьютеры мощные и такие операции не будут сложны, но и не стоит разбрасываться памятью.
[pwn]public OnPlayerConnect(playerid)
{

GetPlayerIp( playerid, data[playerid][IP], 15 );
return 1;
}[/pwn]

Добавлено (03.03.2014, 22:14)
---------------------------------------------

Цитата brebvix ()
data[0][Name] = "User_Test";

вот так:
[pwn]strmid( data[0][Name], "User_Test", 0, strlen( "User_Test" ), 255 ); [/pwn]



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
brebvixДата: Понедельник, 03.03.2014, 22:17 | Сообщение # 1968
Новенький
Группа: Продвинутые
Сообщений: 43
Награды: 2
Репутация: 116
Замечания: 0%
Статус:
Цитата Dima-kun ()
strmid( data[0][Name], "User_Test", 0, strlen( "User_Test" ), 255 );

Огромное спасибо, проверил - это именно то что нужно :) Пользуясь тем, что я уже в теме, задам еще один вопрос. Как можно осуществить поиск по массиву, не перебирая его через for? К примеру получить ИП адресс пользователя User_Test (из примера выше) :)



Blog: http://brebvix.com
E-Mail: admin@brebvix.com
Vito_ThompsonДата: Вторник, 04.03.2014, 17:34 | Сообщение # 1969
Новенький
Группа: Пользователи
Сообщений: 2
Награды: 0
Город: Пермь
Репутация: 0
Замечания: 0%
Статус:
Здравствуйте подскажите как сделать открытие меню через клавишу ALT или через другую.
У меня мод RP

MaxДата: Вторник, 04.03.2014, 17:50 | Сообщение # 1970
Уверенный в себе
Группа: Продвинутые
Сообщений: 170
Награды: 0
Город: Казань
Репутация: 59
Замечания: 0%
Статус:
Dima-kun, неплохо выпендрился! Laie_98
Но речь идет не об оптимизации сейчас! Я просто привел пример!

Dima-kunДата: Вторник, 04.03.2014, 18:06 | Сообщение # 1971
Группа: Разработчики
Сообщений: 6234
Награды: 72
Репутация: 3329
Замечания: 0%
Статус:
Steep_Nk, твой пример не работоспособен


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
[BGD]John_RUSДата: Вторник, 04.03.2014, 19:21 | Сообщение # 1972
Освоившийся
Группа: Продвинутые
Сообщений: 143
Награды: 1
Репутация: 39
Замечания: 0%
Статус:
Намутил прикольную вещь на свой админкар, с частотой в полсекунды создается взрыв, машина выглядит как летящий астероид по дороге, но одно но, SetVehicleHealth 1000 не спасает от рандомного взрыва машины crazy Как её сделать совсем неуязвимой?
GeryyДата: Среда, 05.03.2014, 02:32 | Сообщение # 1973
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата [BGD]John_RUS ()
Намутил прикольную вещь на свой админкар, с частотой в полсекунды создается взрыв, машина выглядит как летящий астероид по дороге, но одно но, SetVehicleHealth 1000 не спасает от рандомного взрыва машины crazy Как её сделать совсем неуязвимой?

RepairVehicle(GetPlayerVehicleID(playerid));

Цитата Vito_Thompson ()
Здравствуйте подскажите как сделать открытие меню через клавишу ALT или через другую.
У меня мод RP

В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) добавить условие
if (newkeys == KEY_WALK)
{
//открыть меню
}



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Vito_ThompsonДата: Среда, 05.03.2014, 17:56 | Сообщение # 1974
Новенький
Группа: Пользователи
Сообщений: 2
Награды: 0
Город: Пермь
Репутация: 0
Замечания: 0%
Статус:
Киньте пожалуйста инклуд "samp-rp"
JokermaniaДата: Суббота, 08.03.2014, 17:37 | Сообщение # 1975
Новенький
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Скрипт офигенный!
Но,поставлю + тому ,кто поможет мне с одной проблемкой.которую я не могу понять уже как 2 дня... :(
Вообщем скачал скрипт на кар меню,на изминение цвет ника,скачал вот этот скрипт на создание банд,и ВЕЗДЕ когда я выбираю что то в диалоговом окне,окно исчезает и ничего не происходит.Очень прошу,помогите пожалуйста решить эту проблему! Буду очень благодарен и поставлю +! :(

WeddewДата: Суббота, 08.03.2014, 17:53 | Сообщение # 1976
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата brebvix ()
Огромное спасибо, проверил - это именно то что нужно Пользуясь тем, что я уже в теме, задам еще один вопрос. Как можно осуществить поиск по массиву, не перебирая его через for? К примеру получить ИП адресс пользователя User_Test (из примера выше)

Записывать IP не в массив, а в PVar:

[pwn]
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
SetPVarString(playerid, "PlayerIP", ip);
[/pwn]

После уже получать IP из PVar:

[pwn]
new ip[16];
GetPVarString(playerid, "PlayerIP", ip, sizeof(ip));
[/pwn]

Добавлено (08.03.2014, 17:53)
---------------------------------------------

Цитата Steep_Nk ()
неплохо выпендрился!


Человек показал, как избежать подобного быдлокода:
Цитата Steep_Nk ()
data[playerid][IP] = plrIP;


Советую хоть чему-нибудь научиться у этого человека.




www.weddew-shop.ru
slamboy2012Дата: Суббота, 08.03.2014, 21:21 | Сообщение # 1977
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Город: Нижний Новгород
Репутация: 0
Замечания: 0%
Статус:
как заканчивается бензин морозит игрока в машине

[pwn]if (strcmp("/en", cmdtext, true) == 0)
{
new caridi = GetPlayerVehicleID(playerid);
if(zavodis[GetPlayerVehicleID(playerid)] == false)
{
if (Fuell[caridi] <= 0) return SendClientMessage(playerid, COLOR_REDD, "Вызовите механика или заправьтесь с канистры!");
if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
zavodis[GetPlayerVehicleID(playerid)] = true;
}
}
}
else if(zavodis[GetPlayerVehicleID(playerid)] == true)
{
if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
zavodis[GetPlayerVehicleID(playerid)] = false;
}
}
}
return true;[/pwn]

[pwn]if(Fuell[carid] < 0)
{
Fuell[carid] = 0;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_REDD, "У вас закончился бензин!");
SendClientMessage(playerid, COLOR_GREEN, "{62AD50}Используйте телефон {FFFFFF}(( /menu » [8] Управление телефоном » Служебные номера )) {62AD50}Что бы вызвать таксиста/механика");
zavodis[GetPlayerVehicleID(playerid)] = false;
}
TextDrawSetString(TextdrawFuel[playerid],str4);
TextDrawSetString(TextdrawSpeed[playerid],str);
TextDrawSetString(TextdrawStatus[playerid],str2);
TextDrawSetString(TextdrawEngine[playerid],str5);
}
}[/pwn]

Добавлено (08.03.2014, 21:04)
---------------------------------------------

Цитата slamboy2012 ()
как заканчивается бензин морозит игрока в машине

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (strcmp("/en", cmdtext, true) == 0)
    {
        new caridi = GetPlayerVehicleID(playerid);
        if(zavodis[GetPlayerVehicleID(playerid)] == false)
        {
            if (Fuell[caridi] <= 0) return SendClientMessage(playerid, COLOR_REDD, "Вызовите механика или заправьтесь с канистры!");
            if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
            {
                if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                {
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
                    zavodis[GetPlayerVehicleID(playerid)] = true;
                }
            }
        }
        else if(zavodis[GetPlayerVehicleID(playerid)] == true)
        {
            if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
            {
                if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                {
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective) ;
                    zavodis[GetPlayerVehicleID(playerid)] = false;
                }
            }
        }
        return true;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(Fuell[carid] < 0)
        {
            Fuell[carid] = 0;
            GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
            SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
            SendClientMessage(playerid, COLOR_REDD, "У вас закончился бензин!");
            SendClientMessage(playerid, COLOR_GREEN, "{62AD50}Используйте телефон {FFFFFF}(( /menu » [8] Управление телефоном » Служебные номера )) {62AD50}Что бы вызвать таксиста/механика");
            zavodis[GetPlayerVehicleID(playerid)] = false;
        }
        TextDrawSetString(TextdrawFuel[playerid],str4);
        TextDrawSetString(TextdrawSpeed[playerid],str);
        TextDrawSetString(TextdrawStatus[playerid],str2);
        TextDrawSetString(TextdrawEngine[playerid],str5);
    }
 }


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

Добавлено (08.03.2014, 21:21)
---------------------------------------------
Помогите пожалуйста, почему морозит игрока, когда бензин кончается?

WeddewДата: Воскресенье, 09.03.2014, 01:19 | Сообщение # 1978
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
slamboy2012, заморозка игрока выполняется следующей функцией:
[pwn]TogglePlayerControllable(playerid, 0);[/pwn]
В приведенном вами коде я этого не заметил.




www.weddew-shop.ru
slamboy2012Дата: Воскресенье, 09.03.2014, 18:45 | Сообщение # 1979
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Город: Нижний Новгород
Репутация: 0
Замечания: 0%
Статус:
Цитата Weddew ()
1
TogglePlayerControllable(playerid, 0);

В приведенном вами коде я этого не заметил.


Спасибо нашёл, в чём проблема, проблема была в том когда машину к дому спавнил у неё бенз пропадал а тогда переглючило от этого)

Добавлено (09.03.2014, 08:29)
---------------------------------------------
Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно..... suicide2

Добавлено (09.03.2014, 16:24)
---------------------------------------------
Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно.... suicide2 suicide2 suicide2 suicide2

Добавлено (09.03.2014, 18:45)
---------------------------------------------
suicide2 suicide2 wall

WeddewДата: Воскресенье, 09.03.2014, 19:14 | Сообщение # 1980
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
Цитата slamboy2012 ()
Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно....

Удаление транспорта выполняется функцией
[pwn]DestroyVehicle(vehicleid);[/pwn]
вместо vehicle - переменная с ID`ом транспорта.
Функцию в вашем случае необходимо вызывать в OnPlayerDisconnect(playerid);




www.weddew-shop.ru
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 132 из 151«12130131132133134150151»
Поиск:





 


 


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