shape1
shape2
shape3
shape4
shape7
shape8

undefined symbol "ShowSweeperDialog"


Статус
Закрыто для дальнейших ответов.

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
D:\TORP\gamemodes\TORP.pwn(861) : error 017: undefined symbol "PlayerInfo"
D:\TORP\gamemodes\TORP.pwn(2712) : error 017: undefined symbol "ShowSweeperDialog"
D:\TORP\gamemodes\TORP.pwn(7660) : error 017: undefined symbol "ShowSweeperDialog"
Код:
(861) - if(PlayerInfo[playerid][pDonateRank] > 0)
Код:
(2712)   ShowSweeperDialog(playerid){
         ShowPlayerDialog(playerid,SWEEPER_DIALOG_ID,DIALOG_STYLE_MSGBOX,"Ìîéùèê óëèö","Âû äåéñòâèëüíî õîòèòå ìûòü óëèöû?","Äà","Íåò");
    }
Код:
 (7660)       ShowSweeperDialog(playerid);
 

JoKeR2020

Гуру
Пользователь
26.11.2014
1 800
4
321
0
Массив PlayerInfo на свой замени.

Вырежи функцию ShowSweeperDialog из GF

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
@JoKeR2020, что такое "GF"?

@JoKeR2020, и массив у меня такой же, а ошибка почему то там.

 
Последнее редактирование модератором:
A

Amfy

Гость
Гость
Что выполняет функция ShowSweeperDialog?

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
, Делал работу уборщика улиц и вот ошибки.Вот эта работа:

Код:
Ко всем #define:
#define SWEEPER_DIALOG_ID 745545

Вот это вставляйте после enum pInfo
new Float:sweeper_way[][3] = {
        { 961.317382, -1318.751342, 13.367965 },
        { 914.939025, -1341.871215, 13.318072 },
        { 939.867736, -1405.448120, 13.273300 },
        { 1328.59533, -1408.075561, 13.336299 },
        { 1277.86645, -1392.950317, 13.203144 },
        { 1261.46411, -1293.723266, 13.268248 },
        { 1187.81469, -1278.576049, 13.282743 },
        { 1073.07910, -1278.535034, 13.382812 },
        { 1061.29711, -1231.800781, 16.702779 },
        { 1001.58044, -1218.120361, 16.765625 },
        { 939.972167, -1264.500488, 15.479687 },
        { 968.761413, -1328.332641, 13.357466 },
        { 1038.69616, -1328.814331, 13.395730 },
        { 993.575683, -1301.311279, 13.382812 }
};
StartSweeperWork(playerid)
{
        if(GetPVarInt(playerid, "sweeper_work")) return;
        SetPVarInt(playerid, "sweeper_work", 1);
        SendClientMessage(playerid, 0x00FF00FF, "Работа уборщика началась");
        SetPlayerCheckpoint(playerid, sweeper_way[0][0], sweeper_way[0][1], sweeper_way[0][2], 3.0);
}

StopSweeperWork(playerid, bool:success = false)
{
        if(!GetPVarInt(playerid, "sweeper_work")) return;
        DeletePVar(playerid, "sweeper_work");
        DeletePVar(playerid, "sweeper_check");
        SendClientMessage(playerid, 0x00FF00FF, "Работа уборщика закончилась");
        if(success)
        {
        if(PlayerInfo[playerid][pDonateRank] > 0)
        {
                        GivePlayerMoney(playerid, 120);
                SendClientMessage(playerid, 0xFF0000FF, "Вы заработали 120$");
        }
            else
            {
                        GivePlayerMoney(playerid, 90);
                SendClientMessage(playerid, 0xFF0000FF, "Вы заработали 90$");
                }
        }
        DisablePlayerCheckpoint(playerid);
}

NextSweeperCheck(playerid)
{
        if(!GetPVarInt(playerid, "sweeper_work")) return;
        new check = GetPVarInt(playerid, "sweeper_check");
        check++;
        if(check >= sizeof sweeper_way) StopSweeperWork(playerid, true);
        else {
                SetPlayerCheckpoint(playerid, sweeper_way[check][0], sweeper_way[check][1], sweeper_way[check][2], 3.0);
                SetPVarInt(playerid, "sweeper_check", check);
        }
}

Перед OnDialogResponse
ShowSweeperDialog(playerid){
        ShowPlayerDialog(playerid,SWEEPER_DIALOG_ID,DIALOG_STYLE_MSGBOX,"Работа уборщика","Начать работу уборщика?","Да","Нет");
}


В OnDialogResponse
if(dialogid == SWEEPER_DIALOG_ID && response)
    {
        if(response)
            {
                    StartSweeperWork(playerid);
        }
        else
        {
                    RemovePlayerFromVehicle(playerid);
                }
        return 1;
    }


В OnPlayerEnterCheckpoint
if(GetPVarInt(playerid, "sweeper_work"))
        {
                PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
                NextSweeperCheck(playerid);
    }


В OnPlayerStateChange
if(     newstate == PLAYER_STATE_DRIVER &&
                GetVehicleModel(GetPlayerVehicleID(playerid)) == 574 &&
                !GetPVarInt(playerid, "sweeper_work")   )
    {
        ShowSweeperDialog(playerid);
    }
        if(     oldstate == PLAYER_STATE_DRIVER && GetPVarInt(playerid, "sweeper_work") )
        {
            StopSweeperWork(playerid);
        }


И добавляем сами машины для работы.
    AddStaticVehicle(574,981.410766,-1307.014038,13.110304,0.000000,1,1); // Sweeper 1
    AddStaticVehicle(574,984.906127,-1307.104980,13.109639,358.714050,1,1); // Sweeper 2
    AddStaticVehicle(574,988.342163,-1307.217773,13.107501,357.368988,1,1); // Sweeper 3
    AddStaticVehicle(574,991.799438,-1307.272338,13.108702,358.838043,1,1); //4 Sweeper
    AddStaticVehicle(574,995.058654,-1307.234619,13.109288,358.743682,1,1); //5 Sweeper
    AddStaticVehicle(574,998.600524,-1307.377441,13.115609,358.220123,1,1); //6 Sweeper
    AddStaticVehicle(574,1002.218688,-1307.480834,13.109222,359.376159,1,1); //7 Sweeper
    AddStaticVehicle(574,1005.636291,-1307.514770,13.110326,0.874356,1,1); //8 Sweeper
 
A

Amfy

Гость
Гость
Ну, судя по ошибке - ты не вставил функцию ShowSweeperDialog перед OnDialogResponse

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
,Спасибо, исправил, теперь только одна ошибка, не поможете?

D:\TORP\gamemodes\TORP.pwn(861) : error 017: undefined symbol "PlayerInfo" 

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
, у меня такой же массив как и там, а ошибка почему там есть.

, у меня такой же массив, всё равно ошибка.

 
Последнее редактирование модератором:

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
definehost.ru
Скриптер
@JdmO_O, не должно быть такого, проверьте всё заново.

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
,решил эту проблему,сорри за оффтоп, но почему-то не показываются чекпоинты.

Сажусь в транспорта, диалог вылез, я нажал "Начать", больше не каких действий.

 
A

Amfy

Гость
Гость
@JdmO_O, попробуй так:

new Float:sweeper_way[14][3] = {
{ 961.317382, -1318.751342, 13.367965 },
{ 914.939025, -1341.871215, 13.318072 },
{ 939.867736, -1405.448120, 13.273300 },
{ 1328.59533, -1408.075561, 13.336299 },
{ 1277.86645, -1392.950317, 13.203144 },
{ 1261.46411, -1293.723266, 13.268248 },
{ 1187.81469, -1278.576049, 13.282743 },
{ 1073.07910, -1278.535034, 13.382812 },
{ 1061.29711, -1231.800781, 16.702779 },
{ 1001.58044, -1218.120361, 16.765625 },
{ 939.972167, -1264.500488, 15.479687 },
{ 968.761413, -1328.332641, 13.357466 },
{ 1038.69616, -1328.814331, 13.395730 },
{ 993.575683, -1301.311279, 13.382812 }

и подключи крашдетект, на всякий случай.

 
A

Amfy

Гость
Гость
@JdmO_O, текст то пишет "Работа уборщика началась" ?

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
,Нет, не пишет.

Даже когда нажимаешь "Нет" из транспорта не выкидывает. 

 

JoKeR2020

Гуру
Пользователь
26.11.2014
1 800
4
321
0
xd

#define SWEEPER_DIALOG_ID 745545

Что?! Информация SAMP Wiki:

Max dialogid is 32767
Заменяй на свой любой id диалога.

 

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
@JoKeR2020,Спасибо, теперь работает.

Но, когда вылезает диалог, я нажимаю "Нет" и не выкидывает из авто, а должно.

Вот код:

Код:
    if(dialogid == SWEEPER_DIALOG_ID && response)
    {
        if(response)
                {
                    StartSweeperWork(playerid);
        }
        else
        {
                    RemovePlayerFromVehicle(playerid);
                }
        return 1;
    } 
 
Статус
Закрыто для дальнейших ответов.