Вопросы

Работает опять-же криво.
Пишеться в игре [A][A-GUN] Основатель %s выдал оружие игроку <пустое место> Так-же с примерно той-же командой только уже /gun Спросите нах я сделал /agun? Потому-что игроки выдавали себе миниган и творили с ним что хотели,вот я и добавил /agun может выдавать все оружки кроме 45 Я хз почему оставил 45 ид Но я думал будет ошибка если я уберу весь case  в общем /agun выдаёт всё а у /gun запрещёнки есть довольно большие. помоги плиз.С меня +-ик

CMD:agun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 15) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /agun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	SendClientMessage(playerid, COLOR_GRAD1,stringer1);
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Вам оружие!", PlayerInfo[playerid][pNames]);
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал оружие игроку %s", PlayerInfo[playerid][pNames][pNames]);
	SendAdminMessage(COLOR_RED,stringer1);
	return true;
}

И ещё не могли бы вы сделать для меня команду /fakeban ? С диалогом что  вы получили бан?Я думаю всем ясна данная команда,но всё-же скажу. Это даёт ФЕЙКОВЫЙ бан,не банит игрока и желательно чтобы не снимала админку а то было такое что снималось админка. Кто сделаем там +-ик :D  Спасибо заранее
Командный Процессор DC_CMD обязательно плиз :D

Отредактировано пользователем AnimeshniK

Поделиться сообщением


Ссылка на сообщение

18 ответов на этот вопрос

  • 0

@AnimeshniK По поводу проблемы с форматированием. Проблема опять такая же, как и в прошлой теме. В этот раз поясню подробней. 

Format - функция для форматированного ввода в строку, т.е. она записывает данные в переменную.

SendClientMessage - функция для вывода (отправки строки игроку). 

Теперь логически сопоставьте, что нужно выполнить первым: ввод или вывод?

Спойлер

format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Вам оружие!", PlayerInfo[playerid][pNames]); // запись данных
SendClientMessage(playerid, COLOR_GRAD1,stringer1); // вывод данных
format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал оружие игроку %s", PlayerInfo[playerid][pNames][pNames]); // запись данных
SendAdminMessage(COLOR_RED,stringer1); // вывод данных 

 

Ссылки на документацию:

https://wiki.sa-mp.com/wiki/Format

https://wiki.sa-mp.com/wiki/SendClientMessage

Поделиться сообщением


Ссылка на сообщение
  • 0

Енум с диалогами(если имеется)

fakeban

OnDialogResponse

case fakeban:
		{
			if(response)
			{
				SendClientMessage(playerid, -1, "Ха-ха-ха-ха-ха, а я пошутииил! :)");
			}
		}

И в любое место в моде)

cmd:fakeban(playerid,params[])
{
	new id,reason[64];
	if(sscanf(params,"us[64]",id,reason)) return SendClientMessage(playerid, -1, "Usage: /fakeban [ID][Причина]");
	if(id < 0 || id > 499) return SendClientMessage(playerid, -1, "Неверный ID");
	new dialog[256];
	format(dialog,sizeof dialog, "Вы были забанены на сервере (НАЗВАНИЕ).\n\
		Причина: %s",reason);
	ShowPlayerDialog(playerid, fakeban, DIALOG_STYLE_MSGBOX, "Уведомление:", dialog, "Принять", "");
	return 0;
}

Пробежимся по коду:
В перечисляемый список enum (ха-ха-ха) добавим название нашего диалога: fakeban
В паблик с диалогами(OnPlayerDialog), напишем: делаем проверку, если нажата клавиша 1(Принять), то высветится сообщение с шуткой(лол как смешно). 
Затем мы пишем саму команду, кстати, cmd на CMD замени, попробуй, если ошибки будут.
Создаём переменные с ID и reason, ставьте размерность сообщения по своему вкусу, после с помощью SSCANF принимаем параметры. Затем проверяем id игрока, проверка ужасна, но работает( может быть xD ) 
Затем выделяем память под текст диалога, выделил побольше, т.к ещё и причина входит в этот состав, можно было сделать по уму, но если не принципиально :) Затем форматируем текст, после выводим диалог, P R O F I T.

Судя по ТЗ , вам требовалось это?)

 

__________________
/gun , /agun код скинь

 

Упс, да, не заметил код, сори. В общем попробуй new string[512]; (внутри твоей команды) , и stringer1 заменить на string

Отредактировано пользователем keyl1337
Причина: пофиксил один эррор, разобрал свой полезный урок, хаха

Поделиться сообщением


Ссылка на сообщение
  • 0
3 часа назад, keyl1337 сказал:

Енум с диалогами(если имеется)


fakeban

OnDialogResponse


case fakeban:
		{
			if(response)
			{
				SendClientMessage(playerid, -1, "Ха-ха-ха-ха-ха, а я пошутииил! :)");
			}
		}

И в любое место в моде)


cmd:fakeban(playerid,params[])
{
	new id,reason[64];
	if(sscanf(params,"us[64]",id,reason)) return SendClientMessage(playerid, -1, "Usage: /fakeban [ID][Причина]");
	if(id < 0 || id > 499) return SendClientMessage(playerid, -1, "Неверный ID");
	new dialog[256];
	format(dialog,sizeof dialog, "Вы были забанены на сервере (НАЗВАНИЕ).\n\
		Причина: %s",reason);
	ShowPlayerDialog(playerid, fakeban, DIALOG_STYLE_MSGBOX, "Уведомление:", dialog, "Принять", "");
	return 0;
}

Пробежимся по коду:
В перечисляемый список enum (ха-ха-ха) добавим название нашего диалога: fakeban
В паблик с диалогами(OnPlayerDialog), напишем: делаем проверку, если нажата клавиша 1(Принять), то высветится сообщение с шуткой(лол как смешно). 
Затем мы пишем саму команду, кстати, cmd на CMD замени, попробуй, если ошибки будут.
Создаём переменные с ID и reason, ставьте размерность сообщения по своему вкусу, после с помощью SSCANF принимаем параметры. Затем проверяем id игрока, проверка ужасна, но работает( может быть xD ) 
Затем выделяем память под текст диалога, выделил побольше, т.к ещё и причина входит в этот состав, можно было сделать по уму, но если не принципиально :) Затем форматируем текст, после выводим диалог, P R O F I T.

Судя по ТЗ , вам требовалось это?)

 

__________________
/gun , /agun код скинь

 

Упс, да, не заметил код, сори. В общем попробуй new string[512]; (внутри твоей команды) , и stringer1 заменить на string

Спасибо конечно,но я начинающий,так что почти нечего не понял из выше сказанного :D Можешь плиз по проще?

Поделиться сообщением


Ссылка на сообщение
  • 0
30 минут назад, DEST сказал:

@AnimeshniK По поводу проблемы с форматированием. Проблема опять такая же, как и в прошлой теме. В этот раз поясню подробней. 

Format - функция для форматированного ввода в строку, т.е. она записывает данные в переменную.

SendClientMessage - функция для вывода (отправки строки игроку). 

Теперь логически сопоставьте, что нужно выполнить первым: ввод или вывод?

  Правильный вариант кода (закрыть спойлер)


format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Вам оружие!", PlayerInfo[playerid][pNames]); // запись данных
SendClientMessage(playerid, COLOR_GRAD1,stringer1); // вывод данных
format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал оружие игроку %s", PlayerInfo[playerid][pNames][pNames]); // запись данных
SendAdminMessage(COLOR_RED,stringer1); // вывод данных 

 

Ссылки на документацию:

https://wiki.sa-mp.com/wiki/Format

https://wiki.sa-mp.com/wiki/SendClientMessage

Простите,я понимаю что вы профессионал в своём деле,но не могли бы вы для меня сделать Код или что там надо который рабоает как-то так при форматирований тех строк Администратор %s выдал оружие %d[Тут тип пишеться Desert Eagle и  т.д]  игроку %s с %d[тут патроны скольк выдал] патронами. Очень прошу :D

40 минут назад, DEST сказал:

@AnimeshniK По поводу проблемы с форматированием. Проблема опять такая же, как и в прошлой теме. В этот раз поясню подробней. 

Format - функция для форматированного ввода в строку, т.е. она записывает данные в переменную.

SendClientMessage - функция для вывода (отправки строки игроку). 

Теперь логически сопоставьте, что нужно выполнить первым: ввод или вывод?

  Правильный вариант кода (открыть спойлер)


format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Вам оружие!", PlayerInfo[playerid][pNames]); // запись данных
SendClientMessage(playerid, COLOR_GRAD1,stringer1); // вывод данных
format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал оружие игроку %s", PlayerInfo[playerid][pNames][pNames]); // запись данных
SendAdminMessage(COLOR_RED,stringer1); // вывод данных 

 

Ссылки на документацию:

https://wiki.sa-mp.com/wiki/Format

https://wiki.sa-mp.com/wiki/SendClientMessage

Увы но не работает этот ваш Правильный Варьянт.

sa-mp-024.png

Поделиться сообщением


Ссылка на сообщение
  • 0
4 часа назад, AnimeshniK сказал:

Спасибо конечно,но я начинающий,так что почти нечего не понял из выше сказанного :D Можешь плиз по проще?

Попроще  = CTRL + C , CTRL + V

 

Ещё попроще , скопируешь вставишь только команду -_-

Отредактировано пользователем keyl1337

Поделиться сообщением


Ссылка на сообщение
  • 0
10 минут назад, keyl1337 сказал:

Попроще  = CTRL + C , CTRL + V

 

Ещё попроще , скопируешь вставишь только команду -_-

Так а как хотя-б выглядит этот Енум с диалогами??

 

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, AnimeshniK сказал:

Так а как хотя-б выглядит этот Енум с диалогами??

 

Вообще идентично обычному енуму, т.е
 

enum e_DialogID
{
	none,
  	fakeban,
  	register,
}
//и сюда просто кидаешь названия диалогов, никаких запар :)

Если у тебя его нет, то .. я думаю , ну в принципе, можешь создать, и в дальнейшем его юзать) В DialogResponse , просто писать 
 

switch(dialogid)
{
  case fakeban:
    {}
    
  case name_of_dialog: // вот так прросто добавляешь диалоги (:
}



UPD:
И все enum'ы, лучше называй  так: "e_name_of_enum", в последующем , другому кодеру будет удобно юзать его.

Отредактировано пользователем keyl1337

Поделиться сообщением


Ссылка на сообщение
  • 0
18 часов назад, keyl1337 сказал:

Вообще идентично обычному енуму, т.е
 


enum e_DialogID
{
	none,
  	fakeban,
  	register,
}
//и сюда просто кидаешь названия диалогов, никаких запар :)

Если у тебя его нет, то .. я думаю , ну в принципе, можешь создать, и в дальнейшем его юзать) В DialogResponse , просто писать 
 


switch(dialogid)
{
  case fakeban:
    {}
    
  case name_of_dialog: // вот так прросто добавляешь диалоги (:
}



UPD:
И все enum'ы, лучше называй  так: "e_name_of_enum", в последующем , другому кодеру будет удобно юзать его.

Прости,а ты не знаешь как сделать телепорт игрока вместе  с машиной ??

Поделиться сообщением


Ссылка на сообщение
  • 0
37 минут назад, AnimeshniK сказал:

Прости,а ты не знаешь как сделать телепорт игрока вместе  с машиной ??

SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z); 

 

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, keyl1337 сказал:

SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z); 

 

Не работает.

1 час назад, keyl1337 сказал:

SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z); 

 

CMD:tun(playerid)
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 1) return true;
	if(PlayerInfo[playerid][pPayDayHad] > 5) return SendClientMessage(playerid, -1, "{ff0000}Âû íå îòûãðàëè 5 ÷àñîâ.");
	SendClientMessage(playerid, COLOR_YELLOW, "Âû óñïåøíî òåëåïîðòèðîâàëèñü ê Òþíèíã-Ñàëîíó.");
	SetPPos(playerid, -1778.31, 1200.12, 24.73);
   	SetVehiclePos(GetPlayerVehicleID(playerid), -1778.31, 1200.12, 24.73);
	return true;
}

Вот код команды,которая должна тебя тепать с тачкой. Почему не работает??И как сделать чтобы можно было тепаться на любой админке,а то почему-то возможно тепатся только с 1 лвлом админки подскажите плиз Уже пробовал символ сменить на > не помогло.

 

Помогите плиз и с этой командой,ты проигрываешь и у тебя списываються вирты но после их как-будто сервер восстанавливает..

CMD:cubik(playerid, params[])
{
    if(sscanf(params, "dd", params[0], params[1]))  {
        SendClientMessage(playerid, 0xFF8000AA, !"Èñïîëüçóéòå /cubik [÷èñëî 1-6][Ñóììà Ñòàâêè] ÷òîáû áðîñèòü êóáèê.");
        return SendClientMessage(playerid, 0xFF8000AA, !"Óñëè âû óãàäàåòå âû ïîëó÷èòå ñóììó ñòàâêè óìíîæåííóþ íà 10.");
    }

    if(1 < params[0] > 6)
        return SendClientMessage(playerid, 0xFF8000AA, !"×èñëî îò 1 äî 6.");

    if(100 < params[1] > 1000000)
        return SendClientMessage(playerid, 0xFF8000AA, !"Ñóììà ñòàâêè íå äîëæíà áûòü ìåíüøå 100$ è áîëüøå 1.000.000$.");

    if(params[0] == random(6 + 1)) {
        SendClientMessage(playerid, 0xFF8000AA, !"Âû âûèãðàëè è ïîëó÷àåòå ñóììó ñòàâêè óìíîæåííóþ íà 10.");
        return GivePlayerMoney(playerid, params[1]  * 10);
    }
    else {
    	SendClientMessage(playerid, 0xFF8000AA, !"Âû ïðîèãðàëè!");
        GivePlayerMoney(playerid, -params[0]);
    }
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
3 часа назад, AnimeshniK сказал:

Не работает.


CMD:tun(playerid)
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 1) return true;
	if(PlayerInfo[playerid][pPayDayHad] > 5) return SendClientMessage(playerid, -1, "{ff0000}Âû íå îòûãðàëè 5 ÷àñîâ.");
	SendClientMessage(playerid, COLOR_YELLOW, "Âû óñïåøíî òåëåïîðòèðîâàëèñü ê Òþíèíã-Ñàëîíó.");
	SetPPos(playerid, -1778.31, 1200.12, 24.73);
   	SetVehiclePos(GetPlayerVehicleID(playerid), -1778.31, 1200.12, 24.73);
	return true;
}

Вот код команды,которая должна тебя тепать с тачкой. Почему не работает??И как сделать чтобы можно было тепаться на любой админке,а то почему-то возможно тепатся только с 1 лвлом админки подскажите плиз Уже пробовал символ сменить на > не помогло.

 

Помогите плиз и с этой командой,ты проигрываешь и у тебя списываються вирты но после их как-будто сервер восстанавливает..


CMD:cubik(playerid, params[])
{
    if(sscanf(params, "dd", params[0], params[1]))  {
        SendClientMessage(playerid, 0xFF8000AA, !"Èñïîëüçóéòå /cubik [÷èñëî 1-6][Ñóììà Ñòàâêè] ÷òîáû áðîñèòü êóáèê.");
        return SendClientMessage(playerid, 0xFF8000AA, !"Óñëè âû óãàäàåòå âû ïîëó÷èòå ñóììó ñòàâêè óìíîæåííóþ íà 10.");
    }

    if(1 < params[0] > 6)
        return SendClientMessage(playerid, 0xFF8000AA, !"×èñëî îò 1 äî 6.");

    if(100 < params[1] > 1000000)
        return SendClientMessage(playerid, 0xFF8000AA, !"Ñóììà ñòàâêè íå äîëæíà áûòü ìåíüøå 100$ è áîëüøå 1.000.000$.");

    if(params[0] == random(6 + 1)) {
        SendClientMessage(playerid, 0xFF8000AA, !"Âû âûèãðàëè è ïîëó÷àåòå ñóììó ñòàâêè óìíîæåííóþ íà 10.");
        return GivePlayerMoney(playerid, params[1]  * 10);
    }
    else {
    	SendClientMessage(playerid, 0xFF8000AA, !"Âû ïðîèãðàëè!");
        GivePlayerMoney(playerid, -params[0]);
    }
    return 1;
}

 

Раскладку смени и перекопируй код заново.
Там где с 1-ым лвлом админки, нужен код)
После перезахода восстанавливает? 

Отредактировано пользователем keyl1337

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, keyl1337 сказал:

Раскладку смени и перекопируй код заново.
Там где с 1-ым лвлом админки, нужен код)
После перезахода восстанавливает? 

Всм восстанавливает ? :D Можете написать мне правильный код?

 

Поделиться сообщением


Ссылка на сообщение
  • 0
39 минут назад, AnimeshniK сказал:

Всм восстанавливает ? :D Можете написать мне правильный код?

 

в смысле деньги восстанавливаются после перезахода? 

Поделиться сообщением


Ссылка на сообщение
  • 0
13 часов назад, keyl1337 сказал:

в смысле деньги восстанавливаются после перезахода? 

Ну тип деньги сразу восстанавливаются Тип с начала идут в минус а после восстанавливаются,идут в минус  я имел ввиду ЧТо убывают.

Поделиться сообщением


Ссылка на сообщение
  • 0
В 10.08.2019 в 16:35, DEST сказал:

@AnimeshniK По поводу проблемы с форматированием. Проблема опять такая же, как и в прошлой теме. В этот раз поясню подробней. 

Format - функция для форматированного ввода в строку, т.е. она записывает данные в переменную.

SendClientMessage - функция для вывода (отправки строки игроку). 

Теперь логически сопоставьте, что нужно выполнить первым: ввод или вывод?

  Правильный вариант кода (открыть спойлер)


format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Вам оружие!", PlayerInfo[playerid][pNames]); // запись данных
SendClientMessage(playerid, COLOR_GRAD1,stringer1); // вывод данных
format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал оружие игроку %s", PlayerInfo[playerid][pNames][pNames]); // запись данных
SendAdminMessage(COLOR_RED,stringer1); // вывод данных 

 

Ссылки на документацию:

https://wiki.sa-mp.com/wiki/Format

https://wiki.sa-mp.com/wiki/SendClientMessage

Кстати,не решилась проблема. Всё так-же пишет Администратор Alexei_Cheetov выдал <пробел> / Ну кароче всё (Слово удалено системой) не работает :D Буду рад если скинете доделанный и правильный код\

Поделиться сообщением


Ссылка на сообщение
  • 0

@AnimeshniK Нужно исправить аргументы форматирования, порядок операций там правильный. 

Поделиться сообщением


Ссылка на сообщение
  • 0
5 минут назад, DEST сказал:

@AnimeshniK Нужно исправить аргументы форматирования, порядок операций там правильный. 

Прости но я всё-же так не понимаю,я понимаю если ты например пример напишешь :D Уж прости но так учился я скриптингу :D Ну и ещё учусь.

Поделиться сообщением


Ссылка на сообщение
  • 0

Отпишите мне в Личные Сообщения, сделаю вам команду нормально и ее никто не сможет использовать с исключением Администратора и то с определенного уровня.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }
       0
       Ответить
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }