- 0
Войдите для возможности подписаться
Подписчики
0

[закрыто] Ошибка public OnDialogResponse, public OnIncomingPacket
Вопрос от
Mironchik
,
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От RASTAMAN
Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
Система казино Система домов Система авто И многие другие системы!
Особых багов не найдено.
В моде присутствует 25 фракции.
Есть Textdraw на спавне!
-
От RASTAMAN
Plantinum RolePlay
Скачать файл Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
Система казино Система домов Система авто И многие другие системы!
Особых багов не найдено.
В моде присутствует 25 фракции.
Есть Textdraw на спавне!
Добавил RASTAMAN Добавлено 10.10.2017 Категория Моды Автор неизвестен
-
От Michov Andr
Re:samp RP — проект в разработке
Re:samp RP — это SA-MP в стиле RP-проект, который в данный момент находится в активной разработке. Мы создаём сервер с бонусной системой, где механики будут, и игроки смогут развивать свои персонажи, зарабатывать деньги и взаимодействовать с окружающим миром. Однако, главное — это ролевой процесс. Вы сами выбираете, хотите ли вы заниматься бизнесом и фармом или погружаться в глубокую ролевую игру. Всё зависит от того, какой путь вы хотите пройти.
Мы стремимся к тому, чтобы на сервере не было скучного фарма и бесконечных рутинных задач. Всё будет сбалансировано так, чтобы каждый игрок мог выбрать свой стиль игры и наслаждаться процессом, будь то отыгрыш роли, развитие персонажа или участие в экономике.
Что касается доната — на сервере будет доступна возможность покупки привилегий, включая покупку админки. Мы не планируем делать донат обязательным для прогресса, и он не будет влиять на геймплей, но те, кто хотят ускорить процесс или получить дополнительные возможности, смогут воспользоваться такими предложениями. Всё сделано так, чтобы не нарушать баланс и не превращать сервер в платный путь к успеху.
Re:samp RP — это сервер, где каждый игрок может найти для себя интересное занятие и, главное, где всегда будет место для качественной ролевой игры. Мы не навязываем никаких обязательных механик, и все решения остаются за вами. Стартовый бонус, донат, админки — это всё дополнительные возможности, но не основа игры.
Discrod:https://discord.gg/ernRMjyEJy
на логотип не смотрим да признаюсь взял с самп рп() но уж больно он норм)
-
От djxxx
приветствую всех.
Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
Код такой:
DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }
сток dialogadmshop:
stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) { if(style == 5) { ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", ""); } ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2); return 1; }
-
Опубликовано · Жалоба
Пишу команду (меню доната - коинов) и крашит сервер
[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, "");
}
}
}
Поделиться сообщением
Ссылка на сообщение
Поделиться на другие сайты