Помогите с добавлением в сетстат
| |
Mr_Nigger | Дата: Воскресенье, 01.02.2015, 17:01 | Сообщение # 1 |
.::Offline::.
Разбойник
Сообщений: 31
[ 0 ]
Награды: 0
Статус
отсутствует
| Хотел бы добавить команду /setskill в сетстат,но хотел бы чтобы было как в команде допустим /setstat id №в сетстате №оружки и кол-во скилла(/setstat 0 36 31 1000 допустим),можно так сделать?
Вот сетскилл Код if(strcmp(cmd, "/setskill", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } giveplayerid = strval(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } new stat; stat = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } new amount; amount = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 6) { switch (stat) { case 1: { PlayerInfo[giveplayerid][pSDPistol] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ SDPistol ó íåãî òåïåðü ðàâåí %d.", amount); } case 2: { PlayerInfo[giveplayerid][pDesertEagle] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ Desert Eagle ó íåãî òåïåðü ðàâåí %d.", amount); } case 3: { PlayerInfo[giveplayerid][pMP5] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ SMG ó íåãî òåïåðü ðàâåí %d.", amount); } case 4: { PlayerInfo[giveplayerid][pAK47] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ AK-47 ó íåãî òåïåðü ðàâåí %d.", amount); } case 5: { PlayerInfo[giveplayerid][pM4] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ M-4 ó íåãî òåïåðü ðàâåí %d.", amount); } case 6: { PlayerInfo[giveplayerid][pShotGun] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ ShotGun ó íåãî òåïåðü ðàâåí %d.", amount); } default: { format(string, sizeof(string), " Íåèçâåñòíîå çíà÷åíèå!", amount); }
} SendClientMessage(playerid, COLOR_GRAD1, string); } else { SendClientMessage(playerid, COLOR_GRAD1, " Ó âàñ íåò ïðàâ íà èñïîëüçîâàíèå ýòîé êîìàíäû!"); } } } } return 1; } извиняюсь за текст в команде
Сообщение отредактировал
Mr_Nigger - Воскресенье, 01.02.2015, 17:02 |
|
| |
ZioHik | Дата: Понедельник, 02.02.2015, 02:31 | Сообщение # 2 |
.::Offline::.
http://u.to/N46EAw
Сообщений: 831
[ 82 ]
Награды: 29
Статус
отсутствует
| Лучше оставь отдельной командой.
|
|
| |
ZioHik | Дата: Понедельник, 02.02.2015, 02:38 | Сообщение # 3 |
.::Offline::.
http://u.to/N46EAw
Сообщений: 831
[ 82 ]
Награды: 29
Статус
отсутствует
| Или так попробуй Код case 36: { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Iianeacea: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } new stats; stats = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 6) { switch (stats) { case 1: { PlayerInfo[giveplayerid][pSDPistol] = amount; format(string, sizeof(string), " Neeee i?o?ey SDPistol o iaai oaia?u ?aaai %d.", amount); } case 2: { PlayerInfo[giveplayerid][pDesertEagle] = amount; format(string, sizeof(string), " Neeee i?o?ey Desert Eagle o iaai oaia?u ?aaai %d.", amount); } case 3: { PlayerInfo[giveplayerid][pMP5] = amount; format(string, sizeof(string), " Neeee i?o?ey SMG o iaai oaia?u ?aaai %d.", amount); } case 4: { PlayerInfo[giveplayerid][pAK47] = amount; format(string, sizeof(string), " Neeee i?o?ey AK-47 o iaai oaia?u ?aaai %d.", amount); } case 5: { PlayerInfo[giveplayerid][pM4] = amount; format(string, sizeof(string), " Neeee i?o?ey M-4 o iaai oaia?u ?aaai %d.", amount); } case 6: { PlayerInfo[giveplayerid][pShotGun] = amount; format(string, sizeof(string), " Neeee i?o?ey ShotGun o iaai oaia?u ?aaai %d.", amount); } default: { format(string, sizeof(string), " Iaecaanoiia cia?aiea!", amount); } } SendClientMessage(playerid, COLOR_GRAD1, string); } else { SendClientMessage(playerid, COLOR_GRAD1, " O aan iao i?aa ia eniieuciaaiea yoie eiiaiau!"); } }
|
|
| |
Mr_Nigger | Дата: Четверг, 05.02.2015, 17:22 | Сообщение # 4 |
.::Offline::.
Разбойник
Сообщений: 31
[ 0 ]
Награды: 0
Статус
отсутствует
| Мне пишет на серве,неизвестное значение Когда пишу допустим /setstat 0 36 1(любое вообще число) Пишет: SendClientMessage(playerid, COLOR_GRAD1, "Подсказка: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot");
А когда продолжаю допустим:/setstat 0 36 5 100,пишет неизвестное значение
Может мой косяк,глянь вот все: Код case 36: { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } new stats; stats = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 6) { switch (stats) { case 1: { PlayerInfo[giveplayerid][pSDPistol] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ SDPistol ó íåãî òåïåðü ðàâåí %d.", amount); } case 2: { PlayerInfo[giveplayerid][pDesertEagle] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ Desert Eagle ó íåãî òåïåðü ðàâåí %d.", amount); } case 3: { PlayerInfo[giveplayerid][pMP5] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ MP5 ó íåãî òåïåðü ðàâåí %d.", amount); } case 4: { PlayerInfo[giveplayerid][pAK47] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ AK47 ó íåãî òåïåðü ðàâåí %d.", amount); } case 5: { PlayerInfo[giveplayerid][pM4] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ M4A1 ó íåãî òåïåðü ðàâåí %d.", amount); } case 6: { PlayerInfo[giveplayerid][pShotGun] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ ShotGun ó íåãî òåïåðü ðàâåí %d.", amount); } default: { //format(string, sizeof(string), " Íåèçâåñòíîå çíà÷åíèå!", amount); } } SendClientMessage(playerid, COLOR_GRAD1, string); } else { //SendClientMessage(playerid, COLOR_GRAD1, " Ó âàñ íåò ïðàâ íà èñïîëüçîâàíèå ýòîé êîìàíäû!"); } } default: { format(string, sizeof(string), " Íåèçâåñòíîå çíà÷åíèå!", amount); }
} SendClientMessage(playerid, COLOR_GRAD1, string); } else { SendClientMessage(playerid, COLOR_GRAD1, " Ó âàñ íåò ïðàâ íà èñïîëüçîâàíèå ýòîé êîìàíäû!"); } } } } return 1; }
Пришлось два раза вставить последние строки т.к. там скобок не хватало
Сообщение отредактировал
Mr_Nigger - Четверг, 05.02.2015, 17:43 |
|
| |
ZioHik | Дата: Суббота, 07.02.2015, 00:46 | Сообщение # 5 |
.::Offline::.
http://u.to/N46EAw
Сообщений: 831
[ 82 ]
Награды: 29
Статус
отсутствует
| Оставь лучше командой. Либо тебе придется вводить так: /setstat 0 36 5 100 0. Напиши если нужно. Я попробую сделать
|
|
| |
Mr_Nigger | Дата: Суббота, 07.02.2015, 11:43 | Сообщение # 6 |
.::Offline::.
Разбойник
Сообщений: 31
[ 0 ]
Награды: 0
Статус
отсутствует
| ИДея с добавлением в сетстат глупая конечно,но мне все же нужно,если не трудно замути)
|
|
| |
ZioHik | Дата: Суббота, 07.02.2015, 23:12 | Сообщение # 7 |
.::Offline::.
http://u.to/N46EAw
Сообщений: 831
[ 82 ]
Награды: 29
Статус
отсутствует
| Попробуй /setstat 0 36 5 100 0 Код case 36: { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /setskill [playerid/PartOfName] [statcode] [amount]"); SendClientMessage(playerid, COLOR_GRAD4, "|1 pSDPistol |2 pDesert |3 pSmg |4 pAk |5 pM4 |6 pShot"); return 1; } new stats; stats = strval(tmp); new amounts; amounts = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 6) { switch (stats) { case 1: { PlayerInfo[giveplayerid][pSDPistol] = amounts; format(string, sizeof(string), " Ñêèëë îðóæèÿ SDPistol ó íåãî òåïåðü ðàâåí %d.", amounts); } case 2: { PlayerInfo[giveplayerid][pDesertEagle] = amounts; format(string, sizeof(string), " Ñêèëë îðóæèÿ Desert Eagle ó íåãî òåïåðü ðàâåí %d.", amounts); } case 3: { PlayerInfo[giveplayerid][pMP5] = amounts; format(string, sizeof(string), " Ñêèëë îðóæèÿ MP5 ó íåãî òåïåðü ðàâåí %d.", amounts); } case 4: { PlayerInfo[giveplayerid][pAK47] = amount; format(string, sizeof(string), " Ñêèëë îðóæèÿ AK47 ó íåãî òåïåðü ðàâåí %d.", amount); } case 5: { PlayerInfo[giveplayerid][pM4] = amounts; format(string, sizeof(string), " Ñêèëë îðóæèÿ M4A1 ó íåãî òåïåðü ðàâåí %d.", amounts); } case 6: { PlayerInfo[giveplayerid][pShotGun] = amounts; format(string, sizeof(string), " Ñêèëë îðóæèÿ ShotGun ó íåãî òåïåðü ðàâåí %d.", amounts); } default: { //format(string, sizeof(string), " Íåèçâåñòíîå çíà÷åíèå!", amounts); } } SendClientMessage(playerid, COLOR_GRAD1, string); } else { //SendClientMessage(playerid, COLOR_GRAD1, " Ó âàñ íåò ïðàâ íà èñïîëüçîâàíèå ýòîé êîìàíäû!"); } } default: { format(string, sizeof(string), " Íåèçâåñòíîå çíà÷åíèå!", amount); }
} SendClientMessage(playerid, COLOR_GRAD1, string); } else { SendClientMessage(playerid, COLOR_GRAD1, " Ó âàñ íåò ïðàâ íà èñïîëüçîâàíèå ýòîé êîìàíäû!"); } } } } return 1; }
|
|
| |
Mr_Nigger | Дата: Воскресенье, 08.02.2015, 00:39 | Сообщение # 8 |
.::Offline::.
Разбойник
Сообщений: 31
[ 0 ]
Награды: 0
Статус
отсутствует
| Две пустые строчки отправляет,а скилл не прописывает
|
|
| |
ZioHik | Дата: Понедельник, 09.02.2015, 20:37 | Сообщение # 9 |
.::Offline::.
http://u.to/N46EAw
Сообщений: 831
[ 82 ]
Награды: 29
Статус
отсутствует
| Оставьте отдельной командой. Мороки меньше
|
|
| |
ivanshayba | Дата: Вторник, 24.11.2015, 15:09 | Сообщение # 10 |
.::Offline::.
Новичок
Сообщений: 7
[ 0 ]
Награды: 0
Статус
отсутствует
| Можно попробовать вот так сделать. В команду /setskill добавить вот эту строку SPD(playerid,666,DIALOG_STYLE_LIST, "Выдать скилы", "Dezrt Igl\nAK-47\nM4\nShoy Gun\nMP5", "Выдать", "Отмена");
Создать кейс 666,его конечно нужно будет увеличить для всех видов оружия,но я покажу для примера для одного оружия Dezer Igl
case 666: { if(response) { switch(listitem) { case 0: SPD(playerid, 333, DIALOG_STYLE_INPUT, "{00BFFF}•{FFFFFF}Скилы Dezert Igl{00BFFF}•", "Введите ID тогго, кому вы хотите выдать скилы", "Выдать", "Отмена");
И далее создадим уже кейс 333 уже для выдачи скилов.
case 333: { if(response) { new string556[256]; new pname[MAX_PLAYER_NAME]; new idd = strval(inputtext); new lname[MAX_PLAYER_NAME]; if(idd != INVALID_PLAYER_ID) {} else { SCM(playerid, COLOR_GREY, "Игрок не найден"); } if(PlayerInfo[idd][pCarLic] == 1) return SCM(playerid, COLOR_GREY, "У этого игрока скилы на 100%!"); GetPlayerName(idd, pname, sizeof(pname)); format(string556, sizeof(string556), "Вы выдали скилы %s[%d].",pname, idd); SCM(playerid, COLOR_LIGHTBLUE, string556); PlayerInfo[idd][pCarLic] = 1; GPN format(string556, sizeof(string556), "Администратор %s Выдал скилы %s[%d].",lname, pname, idd); SendRadioMessage(11,COLOR_LIGHTBLUE , string556); SCM(idd, COLOR_LIGHTBLUE, "Вам выдали скилы"); } }
Я когда то по такому примеру,себе делал команду /setmaney
|
|
| |
|