- 0
Войдите для возможности подписаться
Подписчики
0
[закрыто] Ошибка public OnDialogResponse, public OnIncomingPacket
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Дебилойд
Здравствуйте!
Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
Что нужно будет делать:
Моделировать и адаптировать автомобили.
Создавать и настраивать скины (модели персонажей).
Большим плюсом будет:
Умение создавать качественные и оптимизированные интерьеры.
Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
-
От LORDIKUS
Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!
🔗 Спец. Связь:
— DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
— VK: https://vk.com/shin833
— TG: https://t.me/s_hin833
-
От Korochansky
Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.
В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
Полнофункциональный локальный Git:
Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
Чистый UTF-8 (без BOM):
Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
И многое другое...
И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
-
-
Mironchik Новичок 0
Пишу команду (меню доната - коинов) и крашит сервер
[10:12:25] [debug] Server crashed while executing new.amx
[10:12:25] [debug] AMX backtrace:
[10:12:25] [debug] #0 00000014 in public OnDialogResponse (playerid=0, dialogid=271, response=1, listitem=2, inputtext[]=@017b5b8c "3. ") at C:\Users\fanti\OneDrive\Desktop\Мод 6.1\gamemodes\new.pwn:13
[10:12:25] [debug] #1 00bcb0c8 in public OnIncomingPacket () at C:\Users\fanti\OneDrive\Desktop\Мод 6.1\gamemodes\new.pwn:57310
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(strcmp(inputtext, "#", true) == 0 || strcmp(inputtext, "|", true) == 0 || strcmp(inputtext, "%", true) == 0 || strcmp(inputtext, "@", true) == 0 || strcmp(inputtext, "&", true) == 0)
{
SCM(playerid, -1, ".");
}
if(strfind(inputtext,"%") != -1)
{
return SendClientMessage(playerid, 0xFF6600FF, "В сообщение присутствуют запрещеные символы");
}
switch(dialogid)
{
case DIALOG_OWNABLE_TRAILER:
{
if(response)
{
new vehicleid = GetPlayerOwnableTrailerListitem(playerid);
new index = GetVehicleData(vehicleid, V_ACTION_ID);
if(vehicleid != INVALID_VEHICLE_ID)
{
switch(listitem + 1)
{
case 1: // Открыть / закрыть
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в транспорте");
if(GetPlayerOwnableCars(playerid) == 0)
return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в личном транспорте");
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Float:vX,Float:vY,Float:vZ;
GetVehiclePos(vehicleid,vX,vY,vZ);
if ((floatabs(pX-vX)<12.0)&&(floatabs(pY-vY)<12.0)&&(floatabs(pZ-vZ)<12.0)&& (vehicleid!=GetPlayerVehicleID(playerid)))
{
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
GetVehiclePos(vehicleid, GetOwnableTrailerData(index, OT_POS_X), GetOwnableTrailerData(index, OT_POS_Y), GetOwnableTrailerData(index, OT_POS_Z));
GetVehicleZAngle(vehicleid, GetOwnableTrailerData(index, OT_ANGLE));
SaveOwnableTrailer(vehicleid);
}
else
{
AttachTrailerToVehicle(vehicleid,GetPlayerVehicleID(playerid));
}
}
else SendClientMessage(playerid, 0x999999FF, "Вы должны находится возле дома на колёсах");
SetPVarInt(playerid, "go_list", 1);
//callcmd::lock(playerid, "1");
}
case 2: // Вставить / вытащить ключи
{
SetPVarInt(playerid, "go_list", 1);
if(vehicleid != INVALID_VEHICLE_ID)
{
new price = 5000;
if(GetPlayerGPSInfo(playerid, G_ENABLED) == GPS_STATUS_OFF)
{
if(GetPlayerMoneyEx(playerid) >= price)
{
GivePlayerMoneyEx(playerid, -price, "Метка ТС на GPS", true, true);
new Float: x, Float: y, Float: z;
GetVehiclePos(vehicleid, x, y, z);
EnablePlayerGPS(playerid, 55, x, y, z, "Местоположение Вашего транспорта отмечено на GPS");
return 1;
}
else SendClientMessage(playerid, 0x999999FF, "Недостаточно денег");
}
else SendClientMessage(playerid, 0xCECECEFF, "На Вашем GPS уже отмечено место");
}
}
case 3: // Отметить транспорт на GPS
{
SetPVarInt(playerid, "go_list", 1);
if(DestroyOwnableTrailer(vehicleid))
{
new fmt_str[128];
new car_price = 1400000;
new percent = car_price * 20 / 100;
new price = car_price - percent;
SetPlayerTrailerData(playerid, GetPVarInt(playerid, "listitem_trailer"), INVALID_VEHICLE_ID);
AddPlayerData(playerid, P_BANK, +, price);
BankLog(playerid, price, "Продажа личного транспорта");
format(fmt_str, sizeof fmt_str, "UPDATE accounts SET bank=%d WHERE id=%d LIMIT 1", GetPlayerBankMoney(playerid), GetPlayerAccountID(playerid));
mysql_query(mysql, fmt_str, false);
SendClientMessage(playerid, 0x3399FFFF, "Вы продали личный дом на колёсах");
format(fmt_str, sizeof fmt_str, "Налоговый сбор составляет 30 процентов от его стоимости {FF9900}(%d руб)", percent);
SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);
format(fmt_str, sizeof fmt_str, "На основной банковский счет переведено {FFFF00}%d руб", price);
SendClientMessage(playerid, 0x66CC00FF, fmt_str);
format(fmt_str, sizeof fmt_str, "~g~+%d rub", price);
GameText(playerid, fmt_str, 4000, 2);
}
}
case 4: // Содержимое багажника
{
SetVehiclePos(vehicleid, GetOwnableTrailerData(index,OT_POS_X), GetOwnableTrailerData(index,OT_POS_Y), GetOwnableTrailerData(index,OT_POS_Z));
SetVehicleZAngle(vehicleid, GetOwnableTrailerData(index, OT_ANGLE));
}
case 5: // Выгрузить транспорт
{
if(UnloadPlayerOwnableTrailer(playerid, GetPVarInt(playerid, "listitem_trailer")))
SendClientMessage(playerid, 0x66CC33FF, "Ваш трейлер успешно выгружен!");
else
SendClientMessage(playerid, 0x999999FF, "С момента загрузки данного трейлера еще не прошло 1 минуты");
}
default:
return 1;
}
//callcmd::car(playerid, "");
}
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(strcmp(inputtext, "#", true) == 0 || strcmp(inputtext, "|", true) == 0 || strcmp(inputtext, "%", true) == 0 || strcmp(inputtext, "@", true) == 0 || strcmp(inputtext, "&", true) == 0)
{
SCM(playerid, -1, ".");
}
if(strfind(inputtext,"%") != -1)
{
return SendClientMessage(playerid, 0xFF6600FF, "В сообщение присутствуют запрещеные символы");
}
switch(dialogid)
{
case DIALOG_OWNABLE_TRAILER:
{
if(response)
{
new vehicleid = GetPlayerOwnableTrailerListitem(playerid);
new index = GetVehicleData(vehicleid, V_ACTION_ID);
if(vehicleid != INVALID_VEHICLE_ID)
{
switch(listitem + 1)
{
case 1: // Открыть / закрыть
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в транспорте");
if(GetPlayerOwnableCars(playerid) == 0)
return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в личном транспорте");
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Float:vX,Float:vY,Float:vZ;
GetVehiclePos(vehicleid,vX,vY,vZ);
if ((floatabs(pX-vX)<12.0)&&(floatabs(pY-vY)<12.0)&&(floatabs(pZ-vZ)<12.0)&& (vehicleid!=GetPlayerVehicleID(playerid)))
{
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
GetVehiclePos(vehicleid, GetOwnableTrailerData(index, OT_POS_X), GetOwnableTrailerData(index, OT_POS_Y), GetOwnableTrailerData(index, OT_POS_Z));
GetVehicleZAngle(vehicleid, GetOwnableTrailerData(index, OT_ANGLE));
SaveOwnableTrailer(vehicleid);
}
else
{
AttachTrailerToVehicle(vehicleid,GetPlayerVehicleID(playerid));
}
}
else SendClientMessage(playerid, 0x999999FF, "Вы должны находится возле дома на колёсах");
SetPVarInt(playerid, "go_list", 1);
//callcmd::lock(playerid, "1");
}
case 2: // Вставить / вытащить ключи
{
SetPVarInt(playerid, "go_list", 1);
if(vehicleid != INVALID_VEHICLE_ID)
{
new price = 5000;
if(GetPlayerGPSInfo(playerid, G_ENABLED) == GPS_STATUS_OFF)
{
if(GetPlayerMoneyEx(playerid) >= price)
{
GivePlayerMoneyEx(playerid, -price, "Метка ТС на GPS", true, true);
new Float: x, Float: y, Float: z;
GetVehiclePos(vehicleid, x, y, z);
EnablePlayerGPS(playerid, 55, x, y, z, "Местоположение Вашего транспорта отмечено на GPS");
return 1;
}
else SendClientMessage(playerid, 0x999999FF, "Недостаточно денег");
}
else SendClientMessage(playerid, 0xCECECEFF, "На Вашем GPS уже отмечено место");
}
}
case 3: // Отметить транспорт на GPS
{
SetPVarInt(playerid, "go_list", 1);
if(DestroyOwnableTrailer(vehicleid))
{
new fmt_str[128];
new car_price = 1400000;
new percent = car_price * 20 / 100;
new price = car_price - percent;
SetPlayerTrailerData(playerid, GetPVarInt(playerid, "listitem_trailer"), INVALID_VEHICLE_ID);
AddPlayerData(playerid, P_BANK, +, price);
BankLog(playerid, price, "Продажа личного транспорта");
format(fmt_str, sizeof fmt_str, "UPDATE accounts SET bank=%d WHERE id=%d LIMIT 1", GetPlayerBankMoney(playerid), GetPlayerAccountID(playerid));
mysql_query(mysql, fmt_str, false);
SendClientMessage(playerid, 0x3399FFFF, "Вы продали личный дом на колёсах");
format(fmt_str, sizeof fmt_str, "Налоговый сбор составляет 30 процентов от его стоимости {FF9900}(%d руб)", percent);
SendClientMessage(playerid, 0xFFFFFFFF, fmt_str);
format(fmt_str, sizeof fmt_str, "На основной банковский счет переведено {FFFF00}%d руб", price);
SendClientMessage(playerid, 0x66CC00FF, fmt_str);
format(fmt_str, sizeof fmt_str, "~g~+%d rub", price);
GameText(playerid, fmt_str, 4000, 2);
}
}
case 4: // Содержимое багажника
{
SetVehiclePos(vehicleid, GetOwnableTrailerData(index,OT_POS_X), GetOwnableTrailerData(index,OT_POS_Y), GetOwnableTrailerData(index,OT_POS_Z));
SetVehicleZAngle(vehicleid, GetOwnableTrailerData(index, OT_ANGLE));
}
case 5: // Выгрузить транспорт
{
if(UnloadPlayerOwnableTrailer(playerid, GetPVarInt(playerid, "listitem_trailer")))
SendClientMessage(playerid, 0x66CC33FF, "Ваш трейлер успешно выгружен!");
else
SendClientMessage(playerid, 0x999999FF, "С момента загрузки данного трейлера еще не прошло 1 минуты");
}
default:
return 1;
}
//callcmd::car(playerid, "");
}
}
}
Поделиться сообщением
Ссылка на сообщение
Поделиться на другие сайты