Создаю новый диалог и появляется уйма ошибок
Диалог:
Код:if(dialogid == 7)// Инвентарь { if(response) { if(listitem == 0) // Водка { if(pInfo[playerid][pVodka] != 0) { pInfo[playerid][pVodka] -= 1; pInfo[playerid][pInfect] -= 15; pInfo[playerid][pHunger] += 15; SendClientMessage(playerid,0x88AA88AA,"Вы выпили бутылку водки"); GameTextForPlayer(playerid, "Заражение -15", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончилась водка"); } if(listitem == 1) // Консервы { if(pInfo[playerid][pKonserv] != 0) { pInfo[playerid][pKonserv] -= 1; pInfo[playerid][pHunger] -= 30; SendClientMessage(playerid,0x88AA88AA,"Вы съели порцию консерв"); GameTextForPlayer(playerid, "Голод -30", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончились консервы"); } if(listitem == 2) // Препорат "Антирад" { if(pInfo[playerid][pPreporat] != 0) { pInfo[playerid][pPreporat] -= 1; pInfo[playerid][pInfect] -= 50; SendClientMessage(playerid,0x88AA88AA,"Вы приняли препорат `Антирад`"); GameTextForPlayer(playerid, "Заражение -50", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончились препораты"); } if(listitem == 3) // Армейский паёк { if(pInfo[playerid][pRation] != 0) { pInfo[playerid][pRation] -= 1; pInfo[playerid][pHunger] -= 100; SendClientMessage(playerid,0x88AA88AA,"Вы съели 1 армейский паёк"); GameTextForPlayer(playerid, "Голод -100", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончился армейский паёк"); } if(listitem == 4) // ИПП { if(pInfo[playerid][pIpp] != 0) { new float:PH; GetPlayerHealth(playerid, PH); //Узнаём сколько хп на данный момент у игрока SetPlayerHealth(playerid, PH +50); //Прибовляем 15 хп pInfo[playerid][pIpp] -= 1; SendClientMessage(playerid,0x88AA88AA,"Вы использовали 1 ИПП"); GameTextForPlayer(playerid, "Здоровье +50", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончились ИПП"); } if(listitem == 5) // Армейская аптечка { if(pInfo[playerid][pMedic] != 0) { new float:PH; GetPlayerHealth(playerid, PH); //Узнаём сколько хп на данный момент у игрока SetPlayerHealth(playerid, PH +100); //Прибовляем 15 хп pInfo[playerid][pMedic] -= 1; SendClientMessage(playerid,0x88AA88AA,"Вы использовали 1 армейскую аптечку"); GameTextForPlayer(playerid, "Здоровье +100", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"У вас закончились армейские аптечки"); } } else { SendClientMessage(playerid,0x88AA88AA,"Вы закрыли инвентарь"); return 1; }
Ошибки:
Код:E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(124) : error 017: undefined symbol "ChangeWeather" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(210) : error 017: undefined symbol "RemovePlayerInfo" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(229) : error 017: undefined symbol "SavePlayer" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(704) : error 017: undefined symbol "CreateAccount" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(722) : error 017: undefined symbol "OnPlayerLogin" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(972) : warning 213: tag mismatch E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(973) : warning 213: tag mismatch E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(989) : warning 213: tag mismatch E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(990) : warning 213: tag mismatch E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1014) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1014) : error 004: function "OnPlayerClickPlayer" is not implemented E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1019) : warning 225: unreachable code E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1019) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1019) : error 017: undefined symbol "UnfreezePlayer" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1020) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1020) : error 017: undefined symbol "UnfreezePlayer" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1021) : error 001: expected token: ";", but found "return" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1026) : warning 225: unreachable code E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1026) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1026) : error 017: undefined symbol "UpdateOneSecond" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1029) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1029) : error 017: undefined symbol "UpdateOneSecond" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1421) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1421) : error 017: undefined symbol "ChangeWeather" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1423) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1423) : error 017: undefined symbol "ChangeWeather" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1448) : warning 225: unreachable code E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1448) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1448) : error 017: undefined symbol "Eject" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1450) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1450) : error 017: undefined symbol "Eject" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1472) : error 029: invalid expression, assumed zero E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(1472) : error 004: function "ProxDetector" is not implemented
- - - Добавлено - - -
Исправил. Теперь диалог верный:
Код:if(dialogid == 10)// V Bare { if(response) { if(listitem == 0) // Âîäêà { if(pInfo[playerid][pVodka] != 0) { pInfo[playerid][pVodka] -= 1; pInfo[playerid][pInfect] -= 15; pInfo[playerid][pHunger] += 15; SendClientMessage(playerid,0x88AA88AA,"Âû âûïèëè áóòûëêó âîäêè"); GameTextForPlayer(playerid, "Çàðàæåíèå -15", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëàñü âîäêà"); } } if(listitem == 1) // Êîíñåðâû { if(pInfo[playerid][pKonserv] != 0) { pInfo[playerid][pKonserv] -= 1; pInfo[playerid][pHunger] -= 30; SendClientMessage(playerid,0x88AA88AA,"Âû ñúåëè ïîðöèþ êîíñåðâ"); GameTextForPlayer(playerid, "Ãîëîä -30", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëèñü êîíñåðâû"); } if(listitem == 2) // Ïðåïîðàò "Àíòèðàä" { if(pInfo[playerid][pPreporat] != 0) { pInfo[playerid][pPreporat] -= 1; pInfo[playerid][pInfect] -= 50; SendClientMessage(playerid,0x88AA88AA,"Âû ïðèíÿëè ïðåïîðàò `Àíòèðàä`"); GameTextForPlayer(playerid, "Çàðàæåíèå -50", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëèñü ïðåïîðàòû"); } } if(listitem == 3) // Àðìåéñêèé ïà¸ê { if(pInfo[playerid][pRation] != 0) { pInfo[playerid][pRation] -= 1; pInfo[playerid][pHunger] -= 100; SendClientMessage(playerid,0x88AA88AA,"Âû ñúåëè 1 àðìåéñêèé ïà¸ê"); GameTextForPlayer(playerid, "Ãîëîä -100", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëñÿ àðìåéñêèé ïà¸ê"); } } if(listitem == 4) // ÈÏÏ { if(pInfo[playerid][pIpp] != 0) { GetPlayerHealth(playerid, PH); //Óçíà¸ì ñêîëüêî õï íà äàííûé ìîìåíò ó èãðîêà SetPlayerHealth(playerid, PH +50); //Ïðèáîâëÿåì 15 õï pInfo[playerid][pIpp] -= 1; SendClientMessage(playerid,0x88AA88AA,"Âû èñïîëüçîâàëè 1 ÈÏÏ"); GameTextForPlayer(playerid, "Çäîðîâüå +50", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëèñü ÈÏÏ"); } } if(listitem == 5) // Àðìåéñêàÿ àïòå÷êà { if(pInfo[playerid][pMedic] != 0) { new float:PH; GetPlayerHealth(playerid, PH); //Óçíà¸ì ñêîëüêî õï íà äàííûé ìîìåíò ó èãðîêà SetPlayerHealth(playerid, PH +100); //Ïðèáîâëÿåì 15 õï pInfo[playerid][pMedic] -= 1; SendClientMessage(playerid,0x88AA88AA,"Âû èñïîëüçîâàëè 1 àðìåéñêóþ àïòå÷êó"); GameTextForPlayer(playerid, "Çäîðîâüå +100", 5000, 1); } else { SendClientMessage(playerid,0x88AA88AA,"Ó âàñ çàêîí÷èëèñü àðìåéñêèå àïòå÷êè"); } } } else { SendClientMessage(playerid,0x88AA88AA,"Âû íàæàëè íà 'Êíîïêà 2' ëèáî Esc"); return 1; } } }
Только выдаются ошибки
Куда мне переменные на проверку хп правильно записать?Код:E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(977) : error 017: undefined symbol "PH" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(978) : error 017: undefined symbol "PH" E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(996) : warning 213: tag mismatch E:\Program Files\Virtual Reality\SA-MP 0.3z Windows Server\gamemodes\S.T.A.L.K.E.R..pwn(997) : warning 213: tag mismatch
- - - Добавлено - - -
Проблемма решена. Нужно Float с большой буквы писать.