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

 



 
          





Рекомендуем:





Последние Файлы 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
SebastyanДата: Четверг, 02.05.2013, 15:05 | Сообщение # 661
Новенький
Группа: Продвинутые
Сообщений: 52
Награды: 1
Репутация: 31
Замечания: 40%
Статус:
Добрый день всем.
подскажите пожалуйста почему у меня в одном [FS] не работает проверка на фракцию,когда вводишь команду просто не работает.
[pwn]
enum pInfo
{
pMember,
pRank
};
new PlayerInfo[MAX_PLAYERS][pInfo];
[/pwn]
[pwn]public OnPlayerCommandText(playerid, cmdtext[])
{

if(!strcmp(cmdtext, "/Pagemori", true))
{
if(PlayerInfo[playerid][pMember] == 3 )
{
ShowPlayerDialog(playerid,0,DSL,"Âîçäóøíàÿ Äîñòàâêà Òðàíñïîðòà","Õàìåð\nÃðóçîâèê", "Âûáîð", "Îòìåíà");
}
}
return 1;
}[/pwn]

[[[WampiR]]]Дата: Четверг, 02.05.2013, 15:18 | Сообщение # 662
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Weddew)
Сбой виртуальных миров. Посмотрите архивы этой темы, вопрос уже ни раз обсуждался.

Все обыскал. Нашел только вот это: http://www.samp-rus.com/forum/15-12484-1 но тут ничего не понятно...

SaibotДата: Четверг, 02.05.2013, 17:19 | Сообщение # 663
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Такая проблема:Когда законник убивает игрока с зв то он не садится в КПЗ.Но когда я делаю чтоб приступники садились только в одно КПЗ то всё работает.Но мне надо чтоб когда LSPD FBI ARMI LVPD убивали, то чтоб приступники появлялись в кпз(если игрок з LSPD посадил то чтоб приступник появлялся в КПЗ LSPD и так дале.)
Вот что я делал:
[cut noguest=public OnPlayerDeath(playerid, killerid, reason)][pwn]if(IsACop(killerid))
{
if(PlayerInfo[playerid][pWanted] == 1 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 2 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 3 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 4 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 5 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] >= 6 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 1 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 2 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 3 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 4 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] == 5 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] >= 6 && PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
}[/pwn][/cut]
А вот тут я не знаю что делать,и для чего оно:
[cut noguest=public OnPlayerStateChange(playerid, newstate, oldstate)][pwn]if(newstate == PLAYER_STATE_WASTED)
{
if(WantedLevel[playerid] >= 1)
{
new price = WantedLevel[playerid] * 100;
new count;
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i) && CrimInRange(15.0, playerid,i))
{
//count = 1;
format(string, sizeof(string), "~w~Running Suspect~r~Killed~n~Bonus~g~$%d", price);
GameTextForPlayer(i, string, 5000, 1);
GivePlayerMoney(i, price / 2);
PlayerPlaySound(i, 1058, 0.0, 0.0, 0.0);
}
}
}
//------------------------------------------------------------------------------
if(count == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWantedDeaths] += 1;
PlayerInfo[playerid][pJailTime] = (WantedLevel[playerid])*(600);
format(string, sizeof(string), "Вы сели в тюрьму на %d секунд и потеряли $%d.", PlayerInfo[playerid][pJailTime], price);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
WantedPoints[playerid] = 0;
WantedLevel[playerid] = 0;
SetPlayerWantedLevel(playerid, 0);
PlayerInfo[playerid][pMestoJail] = 1;*/
}[/pwn][/cut]

SebastyanДата: Четверг, 02.05.2013, 19:33 | Сообщение # 664
Новенький
Группа: Продвинутые
Сообщений: 52
Награды: 1
Репутация: 31
Замечания: 40%
Статус:
Посмотрите есть ошибки какие нибудь.
подскажите пожалуйста почему у меня в одном [FS] не работает проверка на фракцию,когда вводишь команду просто не работает.
[pwn]
enum pInfo
{
pMember,
pRank
};
new PlayerInfo[MAX_PLAYERS][pInfo];


public OnPlayerCommandText(playerid, cmdtext[])
{

if(!strcmp(cmdtext, "/Pagemori", true))
{
if(PlayerInfo[playerid][pMember] == 3 )
{
ShowPlayerDialog(playerid,0,DSL,"Âîçäóøíàÿ Äîñòàâêà Òðàíñïîðòà","Õàìåð\nÃðóçîâèê", "Âûáîð", "Îòìåíà");
}
}
return 1;
}
[/pwn]

Добавлено (02.05.2013, 19:30)
---------------------------------------------

Цитата (|||WampiR|||)
Подскажите в чем проблема? Перенес дом командой "/setpos" ну сделал рестарт потом когда покупаешь его и при выходе с него появляешься вообще в другом месте. За чего это может быть?


У тебя значок дома на том же месте стоит , ни куда не сместился (пикап зеленый)?
Если да то в рестарт добавь чтобы дома сохранялись.

Добавлено (02.05.2013, 19:33)
---------------------------------------------
Saibot,
Используй просто вот это и не парься.
[pwn]
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
[/pwn]

Вместо во этого
[pwn]
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
[/pwn]

WeddewДата: Четверг, 02.05.2013, 19:36 | Сообщение # 665
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Sebastyan, используйте PVar`ы.
Пример:
В мод в OnPlayerUpdate
[pwn]SetPVarInt(playerid, "Member", PlayerInfo[playerid][pMember]);[/pwn]

Пример проверки в FS:
[pwn]
if(GetPVarInt(playerid, "Member"))
{
}
[/pwn]




www.weddew-shop.ru
SebastyanДата: Четверг, 02.05.2013, 19:38 | Сообщение # 666
Новенький
Группа: Продвинутые
Сообщений: 52
Награды: 1
Репутация: 31
Замечания: 40%
Статус:
Weddew,
Спасибо!

Artem_TДата: Четверг, 02.05.2013, 20:02 | Сообщение # 667
Освоившийся
Группа: I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус:
Код
[19:28:51] [debug] Run time error 4: "Array index out of bounds"
[19:28:51] [debug]  Accessing element at negative index -1
[19:28:51] [debug] AMX backtrace:
[19:28:51] [debug] #0 000609e0 in public FC_OnPlayerStateChange () from 01_04_13_SARSL.amx
[19:28:51] [debug] #1 0000c384 in public OnPlayerStateChange () from 01_04_13_SARSL.amx
[19:34:13] [debug] Run time error 4: "Array index out of bounds"
[19:34:13] [debug]  Accessing element at index 15 past array upper bound 14
[19:34:13] [debug] AMX backtrace:
[19:34:13] [debug] #0 00059dc8 in public Streamer_OnPlayerEnterRaceCP () from 01_04_13_SARSL.amx
[19:34:13] [debug] #1 0000a600 in public OnPlayerEnterRaceCheckpoint () from 01_04_13_SARSL.amx

В чем проблема?

[[[WampiR]]]Дата: Четверг, 02.05.2013, 20:32 | Сообщение # 668
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Sebastyan)
У тебя значок дома на том же месте стоит , ни куда не сместился (пикап зеленый)?
Если да то в рестарт добавь чтобы дома сохранялись.

facepalm если бы все было так как ты сказал я бы сюда не писал! У меня все id домов после 294 до 500 с лишним выходят в доме номер 283

AlcoholikДата: Четверг, 02.05.2013, 21:05 | Сообщение # 669
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Saibot, у тебя в проверке неверные параметры.
Смотрим
[pwn]if(IsACop(killerid)) [/pwn]
Если убийца коп, тут всё ок

[pwn] if(PlayerInfo[playerid][pWanted] == 1 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) [/pwn]
Если этот игрок в розыске и он же относится к фракции 1. playerid - игрок, которого убили, killerid - игрок убийца. Должно быть так:
[pwn]if(PlayerInfo[playerid][pWanted] == 1 && PlayerInfo[killerid][pMember] == 1 || PlayerInfo[killerid][pLeader] == 1)[/pwn]
И так далее. Но у тебя очень много лишних проверок, так как действие одно на все эти проверки. Я бы сделал так:
[pwn]if(IsACop(killerid))
{
if(PlayerInfo[playerid][pWanted] >= 1 && (PlayerInfo[killerid][pMember] == 1 || PlayerInfo[killerid][pLeader] == 1))
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
else if(PlayerInfo[playerid][pWanted] >= 1 && (PlayerInfo[killerid][pMember] == 2 || PlayerInfo[killerid][pLeader] == 2))
{
new rand = random(sizeof(FBISpawns));
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, FBISpawns[rand][0], FBISpawns[rand][1], FBISpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWanted] =0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Вы посажены в тюрьму на 600 секунд!");
SendClientMessage(killerid,0x6495EDFF,"Вы посадили преступника на 600 секунд!");
PlayerInfo[playerid][pMestoJail] = 1;
SetPlayerWantedLevel(playerid, 0);
WantedLevel[playerid] = 0;
SetPlayerSkin(playerid, 268);
}
}[/pwn]



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
[[[WampiR]]]Дата: Четверг, 02.05.2013, 22:04 | Сообщение # 670
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Не пойму в чем проблема? На одном моде эти же команды работают нормально а у меня почемуто не реагируют вообще. Точнее текст пишет а неон не устанавливается. Подскажите если кто знает.
[cut noguest=Код][pwn] if(strcmp("/neon blue", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18648,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18648,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_BLUE, "Синий неон установлен механиком Zig Zag");
return 1;
}
}
//red
if(strcmp("/neon red", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18647,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18647,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_LIGHTRED2, "Красный неон установлен механиком Zig Zag");
return 1;
}
}
//green
if(strcmp("/neon green", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18649,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18649,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_GREEN, "Зелёный неон установлен механиком Zig Zag");
return 1;
}
}
//white
if(strcmp("/neon white", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18652,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18652,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_WHITE, "Белый неон установлен механиком Zig_Zag");
return 1;
}
}
//pink
if(strcmp("/neon pink", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18651,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18651,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_WHITE, "Розовый неон установлен механиком Zig_Zag");
return 1;
}
}
//yellow
if(strcmp("/neon yellow", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateObject(18650,0,0,0,0,0,0,100.0);
new neon1 = CreateObject(18650,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon,GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_YELLOW, "Желтый неон установлен механиком Zig_Zag");
return 1;
}
}[/pwn][/cut]

SaibotДата: Четверг, 02.05.2013, 22:22 | Сообщение # 671
Освоившийся
Группа: Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус:
Цитата (RoACh)
Saibot, у тебя в проверке неверные параметры. Смотрим

Спасибо.Но всё равно не сажает игрока в КПЗ,проблема ввот етом коде:
[cut noguest=public OnPlayerStateChange(playerid, newstate, oldstate)][pwn]if(newstate == PLAYER_STATE_WASTED)
{
if(WantedLevel[playerid] >= 1)
{
new price = WantedLevel[playerid] * 100;
new count;
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i) && CrimInRange(15.0, playerid,i))
{
count = 1;
format(string, sizeof(string), "~w~Running Suspect~r~Killed~n~Bonus~g~$%d", price);
GameTextForPlayer(i, string, 5000, 1);
GivePlayerMoney(i, price / 2);
PlayerPlaySound(i, 1058, 0.0, 0.0, 0.0);
}
}
}
//-----------------------------------------------------------------------------
if(count == 1)
{
new rand = random(sizeof(LSPDSpawns));
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pWantedDeaths] += 1;
PlayerInfo[playerid][pJailTime] = (WantedLevel[playerid])*(600);
format(string, sizeof(string), "Вы сели в тюрьму на %d секунд и потеряли $%d.", PlayerInfo[playerid][pJailTime], price);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
WantedPoints[playerid] = 0;
WantedLevel[playerid] = 0;
SetPlayerWantedLevel(playerid, 0);
}
}
}[/pwn][/cut]

GeryyДата: Пятница, 03.05.2013, 15:47 | Сообщение # 672
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Не пойму в чем проблема? На одном моде эти же команды работают нормально а у меня почемуто не реагируют вообще. Точнее текст пишет а неон не устанавливается. Подскажите если кто знает.

Лимит объектов CreateObject не превышен у тебя?



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
[[[WampiR]]]Дата: Пятница, 03.05.2013, 16:01 | Сообщение # 673
Уверенный в себе
Группа: Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус:
Цитата (Geryy)
Лимит объектов CreateObject не превышен у тебя?

Да вроде нет.

MerbulДата: Пятница, 03.05.2013, 20:42 | Сообщение # 674
Новенький
Группа: Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Здарова всем как сделать чтобы показывало другое место при регистраций в самп и там чтобы стоял человек?
WeddewДата: Пятница, 03.05.2013, 22:17 | Сообщение # 675
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (|||WampiR|||)
Да вроде нет.

Как вариант, попробовать использовать динамические объекты.
Пример одной из команд:
[pwn]if(strcmp("/neon blue", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pDonateRank] >= 3)
{
new neon = CreateDynamicObject(18648,0,0,0,0,0,0,100.0);
new neon1 = CreateDynamicObject(18648,0,0,0,0,0,0,100.0);
AttachDynamicObjectToVehicle(neon, GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(neon1, GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_BLUE, "Синий неон установлен механиком Zig Zag");
return 1;
}
}[/pwn]




www.weddew-shop.ru
Поиск:





 


 


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