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

 



 
        
Подви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
Страница 104 из 151«12102103104105106150151»
Модератор форума: 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
artemganin1999Дата: Суббота, 07.09.2013, 13:01 | Сообщение # 1546
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
большое спасибо, ну и заодно вопросик, у меня в моде давно стоит античит на тюнинг кара через собейт, я попробывал на улице затюнить все нормально тюнится,не кикает
[pwn] if(GetPlayerInterior(playerid) == 0)
{
SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты за тюнинг кара через собейт.");
Kick(playerid);
}[/pwn] if(GetPlayerInterior(playerid) == 0)
это у меня стоит в public OnVehicleMod(playerid,vehicleid,componentid)

GeryyДата: Суббота, 07.09.2013, 13:22 | Сообщение # 1547
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (artemganin1999)
у меня в моде давно стоит античит на тюнинг кара через собейт, я попробывал на улице затюнить все нормально тюнится,не кикает

[pwn]
public OnVehicleMod(playerid, vehicleid, componentid)
{
if(GetPlayerInterior(playerid) == 0)
{
RemoveVehicleComponent(vehicleid,componentid);
}
return 1;
}[/pwn]



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
artemganin1999Дата: Воскресенье, 08.09.2013, 11:19 | Сообщение # 1548
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
В общем я хз почему, все должно работать, администратор запускает cs зону, и когда человек входит в зону (/incs) у него в любой каманде (синих и красных) выполняется
Код
CSPlayers += 1;

И есть команда /killme когда игрок остается один он должен набрать и его объявят победителем, но проблема в том что, даже если на зоне человек 2,10 и т.п. он ее набирает и его объявляет победителем
[pwn] if(strcmp(string, "/killme", true) == 0)
{
if(NaCS[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не на КС зоне!");
if(CSPlayers == 1) return SendClientMessage(playerid,COLOR_RED,"Вы ещё не одни в зоне!");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "Region73: Зона окончена, победил: %s!",sendername);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
SetPlayerHealth(playerid, 0);
return true;
} [/pwn]

GeryyДата: Воскресенье, 08.09.2013, 11:41 | Сообщение # 1549
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
artemganin1999,
Проблема в том, что условие if(CSPlayers == 1) не выполняется.
Переменная CSPlayers ++; должна не только увеличиваться при входе игрока на CS, но и уменьшаться при выходе/дисконнекте CSPlayers --;



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

Сообщение отредактировал Geryy - Воскресенье, 08.09.2013, 11:41
artemganin1999Дата: Воскресенье, 08.09.2013, 14:33 | Сообщение # 1550
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
и как это поправить (
GeryyДата: Воскресенье, 08.09.2013, 15:48 | Сообщение # 1551
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (artemganin1999)
и как это поправить (

Для начала изменить условие:

[pwn]

if(strcmp(string, "/killme", true) == 0)
{
if(NaCS[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не на КС зоне!");
if(CSPlayers == 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "Region73: Зона окончена, победил: %s!",sendername);
SendClientMessageToAll(COLOR_LIGHTBLUE, string);
SetPlayerHealth(playerid, 0);
}
return true;
}
[/pwn]

Вобще завершение зоны по команде игрока это глупо, лучше сделать это все автоматически используя OnPlayerDeath



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

Сообщение отредактировал Geryy - Воскресенье, 08.09.2013, 15:52
artemganin1999Дата: Вторник, 10.09.2013, 15:27 | Сообщение # 1552
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
а вот возможно следующие, вот я использую диалог для хилки
[pwn] if(dialogid == 2626)
{
if(response)
{
PlayerInfo[playerid][pMoney] -= 500;
SetPlayerHealth(playerid, 100.0);
SendClientMessage(playerid, COLOR_GREEN, "Вы успешно похилились.");
}
else
{
SetPlayerPos(playerid,1461.0078,2767.1785,10.8203);
SendClientMessage(playerid, COLOR_RED, "Вы отменили хилку.");
}
}[/pwn]
но делать для каждой фракции диалог с разной SetPlayerPos не удобно, можно как нибудь сделать чтобы просто его телепортровало рядом к тому месту где он был

Добавлено (10.09.2013, 12:20)
---------------------------------------------
сам разобрался

Добавлено (10.09.2013, 15:27)
---------------------------------------------
а как сделать чтобы ник скрывался нормально, то есть вот допустим у меня стоит
[pwn] if(listitem == 0)
{
foreach(Player,i)
{
if(IsPlayerConnected(i))
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
}
}
SetPlayerSkin(playerid,29);
PlayerInfo[playerid][pMaskuse] = 1;
format(string, sizeof(string), "Íåèçâåñòíûé íàäåë ìàñêèðîâêó.");
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}[/pwn]
а когда этот игрок заходит и выходит из здания то ник опять виден

SaibotДата: Вторник, 10.09.2013, 15:41 | Сообщение # 1553
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
artemganin1999,

Попробуй так. Вставь это в конец мода:

Код

Tomas_ReedДата: Четверг, 12.09.2013, 15:09 | Сообщение # 1554
Новенький
Группа: Пользователи
Сообщений: 8
Награды: 0
Город: *LVIV*
Репутация: 0
Замечания: 0%
Статус:
Всем привет, обьясните нубу как запихнуть всё это в .so, если кто может, запихните и скиньте ссылочку, буду очень благодарен :)
(Просто в комплекте с серваком был только .dll, а мне нужен линуксовский, вот нашёл его клона для запихивания, хееелп)

artemganin1999Дата: Четверг, 12.09.2013, 21:59 | Сообщение # 1555
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Как правильно написать команду для отправки пароля на mail ? Пробывал
[pwn] if(strcmp(string, "/команда",true) == 0)
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Пароль был выслан на указанный Mail");
format(string,sizeof(string),"Ваш текущий пароль: %s",pKey);
SendMail(pMail,"admin@rpg.ru","Восстановление пароля",string);
return true;
}[/pwn]
выводит сообщение пароль выслан, и выдает Uknow comand, а на мыло присылается заместо пароля .000

SolitarioniДата: Четверг, 12.09.2013, 22:09 | Сообщение # 1556
Постоялец
Группа: I'm V.I.P.
Сообщений: 350
Награды: 12
Город: Ростов-на-Дону
Репутация: 198
Замечания: 0%
Статус:
Подскажите анимацию, чтобы посадить игрока на стул. Анимации сиденья из библиотеки FOOD погружаются на половину под землю. Так же если игрока поставить на стул и включить анимацию, он хоть и погрузиться в стул, но недостаточно силоно. Вообщем как посадить игрока на стул? Эксперементировал с TogglePlayerControllable, всеравно нечего не получилось.






Справочник стандартных функций:

a_vehicles
file.inc
a_sampdb.inc
a_samp callbacks
a_players.inc
a_objects.inc
4o_kavoДата: Пятница, 13.09.2013, 11:50 | Сообщение # 1557
Постоялец
Группа: I'm V.I.P.
Сообщений: 349
Награды: 1
Город: Красноярск
Репутация: 191
Замечания: 0%
Статус:
Как все это вписать в мод? кто сможет подробно объямнить какие строки и куда нужно прописывать?

Код
/*
              Prohibido TOTALMENTE el Robo de Créditos o la
             Publicación de este FILTERSCRIPT sin Mi Permiso.

         SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll'
         CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
         NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
*/
#include <a_samp>
#include <zcmd>

new MatarFlatulencia[MAX_PLAYERS][2];
new FlatulenciaTroll[MAX_PLAYERS][2];
#define EfectoPedo (18687)
#define EfectoEructo (18729)

public OnFilterScriptInit() {
         print("\n**************************************");
         print("      Flatulencias en SA-MP 'Troll'     ");
         print("           Fecha: 12/07/2013            ");
         print("             Autor: OTACON              ");
         print("      --* Cargado con Exito!!. *--      ");
         print("***************************************\n");
         return true;
}
public OnFilterScriptExit() {
         print("\n**************************************");
         print("      Flatulencias en SA-MP 'Troll'     ");
         print("           Fecha: 12/07/2013            ");
         print("             Autor: OTACON              ");
         print("    --* Descargado con Exito!!. *--     ");
         print("***************************************\n");
         return true;
}
COMMAND:pedo(playerid, params[]) {
     if(!IsPlayerConnected(playerid) || GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return true;
     new Float:pos[3];
         GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
         DestroyObject(FlatulenciaTroll[playerid][0]);
         FlatulenciaTroll[playerid][0]=CreateObject(EfectoPedo, pos[0], pos[1], pos[2], 0.000, 0.000, 0.000);
         AttachObjectToPlayer(FlatulenciaTroll[playerid][0], playerid, 0.0, 0.0, -1.9, 0.0, 0.0, 180.0);
     PlayAudioStreamForPlayerEx(playerid, 8.0, "http://www.sonidosmp3gratis.com/sounds/los-frijoles_1.mp3");
     KillTimer(MatarFlatulencia[playerid][0]);
         MatarFlatulencia[playerid][0]=SetTimerEx("MatarFlatulencia_1", 1000, false, "d", playerid);
     return true;
}
COMMAND:eructo(playerid, params[]) {
     if(!IsPlayerConnected(playerid) || GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return true;
     new Float:pos[3];
         GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
         DestroyObject(FlatulenciaTroll[playerid][1]);
         FlatulenciaTroll[playerid][1]=CreateObject(EfectoEructo, pos[0], pos[1], pos[2], 0.000, 0.000, 0.000);
         AttachObjectToPlayer(FlatulenciaTroll[playerid][1], playerid, 0.0, 0.0, -0.9, 0.0, 0.0, 360.0);
         PlayAudioStreamForPlayerEx(playerid, 8.0, "http://www.sonidosmp3gratis.com/sounds/burp3.mp3");
         KillTimer(MatarFlatulencia[playerid][1]);
         MatarFlatulencia[playerid][1]=SetTimerEx("MatarFlatulencia_2", 1000, false, "d", playerid);
     return true;
}
forward MatarFlatulencia_1(playerid);
public MatarFlatulencia_1(playerid) {
KillTimer(MatarFlatulencia[playerid][0]);
DestroyObject(FlatulenciaTroll[playerid][0]); }
forward MatarFlatulencia_2(playerid);
public MatarFlatulencia_2(playerid) {
KillTimer(MatarFlatulencia[playerid][1]);
DestroyObject(FlatulenciaTroll[playerid][1]); }
/*
              Prohibido TOTALMENTE el Robo de Créditos o la
             Publicación de este FILTERSCRIPT sin Mi Permiso.

         SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll'
         CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
         NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
*/
stock PlayAudioStreamForPlayerEx(playerid, Float:Distancia, url[]) { //By OTACON
     new Float:Pos[3];
     GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
     if(IsPlayerConnected(playerid)) {
         StopAudioStreamForPlayer(playerid);
         PlayAudioStreamForPlayer(playerid, url, Pos[0], Pos[1], Pos[2]);
             for(new player=0; player<GetMaxPlayers(); player++) {
             if(!IsPlayerConnected(player)) continue;
             if(GetPlayerInterior(playerid) == GetPlayerInterior(player) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(player)) {
                         if(IsPlayerConnected(player) && (player != playerid) && IsPlayerStreamedIn(playerid,player)) {
                         if(IsPlayerInRangeOfPoint(player, Distancia, Pos[0], Pos[1], Pos[2])) {
                         StopAudioStreamForPlayer(player);
                         PlayAudioStreamForPlayer(player, url, Pos[0], Pos[1], Pos[2]);
                         }
                             }
                 }
         }
     }
     return true;
}
/*
              Prohibido TOTALMENTE el Robo de Créditos o la
             Publicación de este FILTERSCRIPT sin Mi Permiso.

         SIMPLE FILTERSCRIPT --> Flatulencias en SA-MP 'Troll'
         CREDITOS: OTACON <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
         NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" /> xD <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/wink.gif" border="0" align="absmiddle" alt=";)" />
*/



-=»>Русский Дрифт Серввер «<=- IP: 176.32.36.131:7777

GTA-Rus.com - Grand Theft Auto
WeddewДата: Пятница, 13.09.2013, 18:23 | Сообщение # 1558
Группа: Ангел Хранитель
Сообщений: 1237
Награды: 19
Город: Казань
Репутация: 1245
Замечания: 0%
Статус:
4o_kavo,
Цитата (Weddew)
[ Краткая инструкция для вшивания 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`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.




www.weddew-shop.ru
artemganin1999Дата: Пятница, 13.09.2013, 20:50 | Сообщение # 1559
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Цитата (artemganin1999)
Как правильно написать команду для отправки пароля на mail ? Пробывал

up

Добавлено (13.09.2013, 20:50)
---------------------------------------------
так
[pwn]if(strcmp(string, "/команда",true) == 0)
{
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Пароль был выслан на указанный Mail");
format(string,sizeof(string),"Ваш текущий пароль: %s",pKey);
SendMail(pMail,"admin@rpg.ru","Восстановление пароля",string);
return true;
}[/pwn]

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

Файл с расширением so - библиотека семейства ОС Linux.
В статье, ссылку на которую вы указали, указаны функции по работе с файлами. Также там есть описание каждой функции.

Добавлено (13.09.2013, 22:09)
---------------------------------------------
Lonely_Tramp, попробуйте поэксперементировать с координатами, а именно с координатой Z (высота).



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





 


 


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