PDA

Просмотр полной версии : [Вопрос] /stats and /ahelp



maksim04ka1
22.05.2014, 20:34
Добрый день, можете сделать так, чтоб эти команды были в диалогах ?

if(strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/ah", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_YELLOW2, "** 1 ** /читать (Слышем СМС и Шептанаия) /слышать (Слышать всё) /aduty (Заступить на дежурство) /a (Админ чат) /an (Ответить игроку) /o (OOC Чат) /goto (ТП к игроку)");
SendClientMessage(playerid, COLOR_YELLOW2, "** 1 ** /spec (Начать слежку за игроком) /specoff (Прекратить слешку) /slap (Подбросить игрока в воздух)");
SendClientMessage(playerid, COLOR_YELLOW2, "** 1 ** /kick (Кикнуть игрока) /mute (Заткнуть игрока) /cc (Очистить чат) /z (Сказать от администратора)");
SendClientMessage(playerid, COLOR_YELLOW2, "** 1 ** /veh (Создать транспорт) /fixveh (Починить транспорт) /nonrp (Кикнуть игрока с причиной: нонРП ник)");
SendClientMessage(playerid, COLOR_YELLOW2, "** 1 ** /masked (Замаскированнае игроки) /unfreeze (Разморозить игрока) /delveh (Удалить созданные админ. Авто)");
}
if (PlayerInfo[playerid][pAdmin] >= 2)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 2 *** /check (Посмотреть stats игрока) /disarm (Разоружить игрока) /getcar (ТП Транспорт) /dl (Посмотреть ID Транспорта)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 2 *** /tp (ТП)");
}
if (PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 3 *** /gethere (ТП игрока к себе)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 3 *** /freeze (Заморозить игрока) /startraceroll (Начать гонку на роликах)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 3 *** /noooc (Включить OOC Чат) /stopraceroll (Закончить гонку на роликах) /jail (Посадить в тюрьму)");
}
if (PlayerInfo[playerid][pAdmin] >= 4)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 4 *** /setint (Сменить интерьер) /warn (Дать предупреждение)");
}
if (PlayerInfo[playerid][pAdmin] >= 5)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 5 *** /gotomark (ТП по заданной точке) /mark (Задать точку для ТП)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 5 *** /fuelcars (Заправить все авто) /world (Установить Вирт. Мир игрока)");
}
if (PlayerInfo[playerid][pAdmin] >= 6)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 6 *** /atakelic (Забрать лицензии) /setjob (Установить работу для игрока)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 6 *** /clearradio (Отчистить рацию игрока) /clearpassport (Отчистить паспорт игрока)");
}
if (PlayerInfo[playerid][pAdmin] >= 7)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 7 *** /ban (Забанить игрока) /agivelic (Выдать лицензии) /gmx (Рестарт) /otmoney (Забрать деньги) /prison (Посадить в присон)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 7 *** /givedrugs (Дать наркоту игроку) /makeleader (Сделать лидером) /makemember (Принять игрока во фракцию, Замом.) /res (Зареспавнить все авто)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 7 *** /sethp (Пополнит ХП) /givearmor (Пополнить броню) /setname (Сменить ник игрока) /givegun (Дать оружие игроку) /givemoney (Дать денег игроку)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 7 *** /startlotto (Запустить Лотто) /hidenames (Спрятать все ники игроков) /shownames (Показать все ники игроков) /setstat (Редактировать статистику игрока) ");
}
if (PlayerInfo[playerid][pAdmin] >= 8)
{
SendClientMessage(playerid, COLOR_YELLOW2,"** 8 *** /skydive (Запуск в космос) /fourdive (Запуск игроков в космос) /weather (Задать погоду) /unbanip");
SendClientMessage(playerid, COLOR_YELLOW2,"** 8 *** /asellbiz (Продать большой биз) /asellsbiz (Продать маленький биз) /asellhouse (Продать дом) /makemoder (Дать модерку)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 8 *** /weatherall (Установить погоду для всех) /localchat (Локализовать чат) /sms+ (Прибавить цену СМС) /sms/ (Убавить цену СМС)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 8 *** /setrank (Повысить ранг) /rpkill (Сделать РП смерть.)");
SendClientMessage(playerid, COLOR_YELLOW2,"** 8 *** /edit (Сменить/изменить дома,бизы) /payday (Сделать ЗП) /carveh (Поставить авто на продажу)");
}
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
}
return 1;
}
Ииии....

SendClientMessage(playerid, COLOR_RED,"_______________________________________");
format(coordsstring, sizeof(coordsstring),"*** %s ***",name);
SendClientMessage(playerid, COLOR_WHITE,coordsstring);
format(coordsstring, sizeof(coordsstring), " Уpoвeнь:[%d], Пoл:[%s], Вoзpacт:[%d], Родина:[%s], Здopoвьe:[%.1f], Нaлuчныe:[%d руб], Счeт:[%d руб], Нoмep:[%d]", level,atext,age,otext,shealth+50, cash, account, pnumber);
SendClientMessage(playerid, COLOR_GRAD1,coordsstring);
format(coordsstring, sizeof(coordsstring), " Премиум акк:[%s], Брак:[%s], Чacoв в игре:[%d], Нoмep билeтa:[%d], Пpoфeccия:[%s]", drank,married,ptime,lotto,jtext);
SendClientMessage(playerid, COLOR_GRAD3,coordsstring);
format(coordsstring, sizeof(coordsstring), " Рыбa:[%d], Нaибoльшaя pыбa:[%d], Пpecтуплeния:[%d], Нaкaзaнuя:[%d], Смepтeй в poзыcкe:[%d]", fishes,bigfish,crimes,arrests,warrests );
SendClientMessage(playerid, COLOR_GRAD4,coordsstring);
format(coordsstring, sizeof(coordsstring), " Убийcтв:[%d], Попаданий в больницу:[%d], Игр.часы:[%d/%d], Уpoвeнь poзыcka:[%d]",kills,deaths,exp,expamount,wanted);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
format(coordsstring, sizeof(coordsstring), " Hapкoтики:[%d], Мaтepиaлы:[%d], Рoль:[%s], Фpakцuя:[%s], Рaнг:[%s], Бoлeзнь:[%s]",drugs,mats,ttext,ftext,rtext,dtext);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
format(coordsstring, sizeof(coordsstring), " Предупреждения:[%d/3], Кредит:[%d], Авто:[%d/3]",warns,PlayerInfo[playerid][pCashCredit],PlayerInfo[playerid][pCar]);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);
if (PlayerInfo[playerid][pAdmin] >= 9999)
{
format(coordsstring, sizeof(coordsstring), " Ключ от дома: [%d], Ключ от машины: [%d]", housekey,HireCar[targetid],intir,local);
SendClientMessage(playerid, COLOR_GRAD6,coordsstring);
}
SendClientMessage(playerid, COLOR_RED,"_______________________________________");
}
}
Буду благодарен. И еще такой вопрос, можно ли крмп мод перевести на mysql ?

DeimoS
22.05.2014, 20:44
1) Попробуйте сами. Нужен лишь format и сам SHowPlayerDialog. Если что-то не получится - получившийся код сюда и мы уже вам поможем.
2) Можно

A N D R E Y
22.05.2014, 21:06
Сколько платите? раз уж хотите что-бы код вам дали....

maksim04ka1
22.05.2014, 21:22
Я конечно извиняюсь, но бесплатно что нельзя ?

- - - Добавлено - - -


1) Попробуйте сами. Нужен лишь format и сам SHowPlayerDialog. Если что-то не получится - получившийся код сюда и мы уже вам поможем.
2) Можно

Попробую, но пробовал нечего не получилось 4 ошибки были, я его удалил.

Spectrum
22.05.2014, 21:34
if(strcmp(cmd, "/ahelp", true) == 0 || strcmp(cmd, "/ah", true) == 0)
{
showplayerdialog(playerid,dialogid,dialog_style_list,"Команды админов","1] 1lvl\n2] 2lvl\n3] 3lvl","ok","cancel");
}
return 1;
}
kak-to tak

A N D R E Y
22.05.2014, 21:35
Я конечно извиняюсь, но бесплатно что нельзя ?

- - - Добавлено - - -



Попробую, но пробовал нечего не получилось 4 ошибки были, я его удалил.
Бесплатно можно, но никому это не нужно, мануалов по форуму хренова туча. Вам проще самому что-то почитать и понять чем ждать халявы которой не будет. Хотя если вы еще будете прикидываться безумным дурачком то вам может быть и помогут....

maksim04ka1
22.05.2014, 21:45
Вот нашел как делать только для zcmd, как поставить проверку на админа ?

CMD:ahelp(playerid)
{
ShowPlayerDialog(playerid,555,DIALOG_STYLE_LIST,"Админ команды","Администратор 1-го уровня\nАдминистратор 2-го уровня\nАдминистратор 3-го уровня\nАдминистратор 4-го уровня\nАдминистратор 5-го уровня\nАдминистратор 6-го уровня\nАдминистратор 7-го уровня\nАдминистратор 8-го уровня","Ок","Закрыть");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 555)
{
if(response)
{
if(listitem == 0) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 1-го уровня'");
if(listitem == 1) return SendClientMessage(playerid,0x88AA88AA,"'Тут команды 2-го уровня");
if(listitem == 2) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 3-го уровня");
if(listitem == 3) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 4-го уровня'");
if(listitem == 4) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 5-го уровня'");
if(listitem == 5) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 6-го уровня'");
if(listitem == 6) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 7-го уровня");
if(listitem == 7) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 8-го уровня'");

}
else
{
SendClientMessage(playerid,0x88AA88AA,"Вы нажали 'Закрыть' либо Esc");
return 1;
}
}
return 1;
}

A N D R E Y
22.05.2014, 21:56
Что значит как? пишете вашу команду на стандартном процессоре и Пишете проверку на админа, а дальше соблюдаю отступы и табуляцию пишете вывод диалога как в вашем вам примере....

maksim04ka1
22.05.2014, 22:06
Как я понял, то вот так ?

CMD:ahelp(playerid)
{
ShowPlayerDialog(playerid,555,DIALOG_STYLE_LIST,"Админ команды","Администратор 1-го уровня\nАдминистратор 2-го уровня\nАдминистратор 3-го уровня\nАдминистратор 4-го уровня\nАдминистратор 5-го уровня\nАдминистратор 6-го уровня\nАдминистратор 7-го уровня\nАдминистратор 8-го уровня","Ок","Закрыть");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 555)
{
if(response)
{
#pragma unused params
if(pData[playerid][pAdmin] < 1) return true;
if(listitem == 0) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 1-го уровня");
if(pData[playerid][pAdmin] < 2) return true;
if(listitem == 1) return SendClientMessage(playerid,0x88AA88AA,"'Тут команды 2-го уровня");
if(pData[playerid][pAdmin] < 3) return true;
if(listitem == 2) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 3-го уровня");
if(pData[playerid][pAdmin] < 4) return true;
if(listitem == 3) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 4-го уровня'");
if(pData[playerid][pAdmin] < 5) return true;
if(listitem == 4) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 5-го уровня'");
if(pData[playerid][pAdmin] < 6) return true;
if(listitem == 5) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 6-го уровня'");
if(pData[playerid][pAdmin] < 7) return true;
if(listitem == 6) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 7-го уровня");
if(pData[playerid][pAdmin] < 8) return true;
if(listitem == 7) return SendClientMessage(playerid,0x88AA88AA,"Тут команды 8-го уровня'");

}
else
{
SendClientMessage(playerid,0x88AA88AA,"Вы нажали 'Закрыть' либо Esc");
return 1;
}
}
return 1;
}

Spectrum
22.05.2014, 22:13
у тебя onplayercommandtext, если ты подключишь ZCMD команды работать не будут

maksim04ka1
22.05.2014, 22:15
у тебя onplayercommandtext, если ты подключишь ZCMD команды работать не будут
Хех, ну теперь осталось все что я написал перевести )

underwoker
23.05.2014, 01:17
Хех, ну теперь осталось все что я написал перевести )
Ну так переведи. Хоспаде, до чего пошел ленивый народ! Да скачай ты любой мод, смотри как там в диалоге это сделано, и делай под себя, неужто сложно!?
Сейчас Все РП моды схожи...

DeimoS
23.05.2014, 06:57
Я конечно извиняюсь, но бесплатно что нельзя ?

На данном портале не оказывают гуманитарную помощь скриптерам, которые отчаянно пытаются прыгнуть выше головы. Тут помогают с изучением языка. И то, что мы дадим вам готовый код, знаний вам не прибавит. А вот если вы перестанете лениться и откроете какой-нибудь мод, просмотрев похожую команду и проследив логику её написания, вы поймёте как она пишется и сможете самостоятельно её написать. Именно в этом и заключается обучение . Уж учить за вас тут явно никто не станет.



Попробую, но пробовал нечего не получилось 4 ошибки были, я его удалил.

Ну так ещё пробуйте. Что вам мешает? Может вас бьют каждый раз, когда вы пытаетесь добавить в скрипт нерабочий код? Или деньги требуют? Если так, то обратитесь в местное отделение полиции, ибо вас обманывают. Никого, нигде и ни за какой код не бьют. И никто никому не запрещает тестировать код столько раз, сколько нужно. Не получилось раз - перепроверили себя и переписали. Ещё раз не получилось - открыли гугл и просмотрели форумы в поисках информации по появившейся проблеме. И так пока не получиться написать. Именно так и пишутся скрипты/программы. И если вы не готовы - лучше вам забыть о данном виде деятельности.
Пишите ещё раз. Только пишите вдумчиво, а не тупо копируйте код, как вы сделали выше (если вы хотите научиться скриптингу. Если не хотите - лучше вам покинуть тот форум). И если уж совсем ничего получаться не будет - кидайте код сюда и описывайте проблему, которая у вас возникла.