cmdtext
kasyak Дата: Пятница, 26.08.2011, 20:39:57 | Сообщение # 1
Группа: Пользователи
Сообщений: 28
Подскажите как сделать так чтобы только для команды TEAM_triada работала команда /asdfДобавлено (26.08.2011, 20:39) --------------------------------------------- и подскажите как сделать передачу денег другому игроку, только без диалогов
Сообщение Подскажите как сделать так чтобы только для команды TEAM_triada работала команда /asdfДобавлено (26.08.2011, 20:39) --------------------------------------------- и подскажите как сделать передачу денег другому игроку, только без диалогов
Автор - kasyak Дата добавления - 26.08.2011 в 20:39:57
Snoop Дата: Пятница, 26.08.2011, 21:03:12 | Сообщение # 2
Группа: Пользователи
Сообщений: 98
kasyak , Quote (kasyak )
и подскажите как сделать передачу денег другому игроку, только без диалогов
Это щас дамДобавлено (26.08.2011, 20:52) --------------------------------------------- Вот
Code
if(strcmp(cmd, "/Команда для Передачи денег", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: [playerid/PartOfName] [amount]"); return 1; } //giveplayerid = strval(tmp); giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /pay [playerid/PartOfName] [amount]"); return 1; } moneys = strval(tmp); if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 3) { SendClientMessage(playerid, COLOR_GRAD1, "Áîëüøå 10000 òîëüêî ñ 3 ëâë!"); return 1; } if(moneys < 1 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GRAD1, "Ìèíèìóì 1, ìàêñèìóì 1000000."); return 1; } if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if(PlayerInfo[giveplayerid][pLocal] == 106) { SendClientMessage(playerid, COLOR_GRAD1, "Command not allowed in this location"); return 1; } if (ProxDetectorS(5.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { ConsumingMoney[giveplayerid] = 1; GiveMoney(playerid, (0 - moneys)); GiveMoney(giveplayerid, moneys); format(string, sizeof(string), " Òû ïåðåäàë %s(èãðîêó: %d), $%d.", giveplayer,giveplayerid, moneys); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_GRAD1, string); format(string, sizeof(string), " Òû ïîëó÷èë $%d îò %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_GRAD1, string); format(string, sizeof(string), "%s çàïëàòèë $%d ê %s", sendername, moneys, giveplayer); PayLog(string); if(moneys >= 1000000) { ABroadCast(COLOR_YELLOW,string,1); } PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0); format(string, sizeof(string), "* %s âûíèìàåò íåêîòîðûå íàëè÷íûå äåíüãè, è îòäà¸ò èõ %s.", sendername ,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0); } else { SendClientMessage(playerid, COLOR_GRAD1, " Ó òåáÿ íåò ñòîëüêî äåíåã! ."); } } else { SendClientMessage(playerid, COLOR_GRAD1, " Ýòîò èãðîê ñëèøêîì äàë¸êî îò âàñ! ."); } }//invalid id } else { format(string, sizeof(string), " %d èãðîê íå â èãðå.", giveplayerid); SendClientMessage(playerid, COLOR_GRAD1, string); } } return 1; }
Добавлено (26.08.2011, 21:00) ---------------------------------------------
Quote (kasyak )
работала команда /asdf
А что это за такая команда?!Добавлено (26.08.2011, 21:03) ---------------------------------------------kasyak , ну Если ты хочешь чтобы работала только у определеной фракции То в команде После
Code
if (strcmp(cmd, "/Команда", true) == 0) {
Вставь: Code
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)
У меня все так...Если помог от + Не откажусь ;)
Сообщение kasyak , Quote (kasyak )
и подскажите как сделать передачу денег другому игроку, только без диалогов
Это щас дамДобавлено (26.08.2011, 20:52) --------------------------------------------- Вот
Code
if(strcmp(cmd, "/Команда для Передачи денег", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: [playerid/PartOfName] [amount]"); return 1; } //giveplayerid = strval(tmp); giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /pay [playerid/PartOfName] [amount]"); return 1; } moneys = strval(tmp); if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 3) { SendClientMessage(playerid, COLOR_GRAD1, "Áîëüøå 10000 òîëüêî ñ 3 ëâë!"); return 1; } if(moneys < 1 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GRAD1, "Ìèíèìóì 1, ìàêñèìóì 1000000."); return 1; } if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if(PlayerInfo[giveplayerid][pLocal] == 106) { SendClientMessage(playerid, COLOR_GRAD1, "Command not allowed in this location"); return 1; } if (ProxDetectorS(5.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { ConsumingMoney[giveplayerid] = 1; GiveMoney(playerid, (0 - moneys)); GiveMoney(giveplayerid, moneys); format(string, sizeof(string), " Òû ïåðåäàë %s(èãðîêó: %d), $%d.", giveplayer,giveplayerid, moneys); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_GRAD1, string); format(string, sizeof(string), " Òû ïîëó÷èë $%d îò %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_GRAD1, string); format(string, sizeof(string), "%s çàïëàòèë $%d ê %s", sendername, moneys, giveplayer); PayLog(string); if(moneys >= 1000000) { ABroadCast(COLOR_YELLOW,string,1); } PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0); format(string, sizeof(string), "* %s âûíèìàåò íåêîòîðûå íàëè÷íûå äåíüãè, è îòäà¸ò èõ %s.", sendername ,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0); } else { SendClientMessage(playerid, COLOR_GRAD1, " Ó òåáÿ íåò ñòîëüêî äåíåã! ."); } } else { SendClientMessage(playerid, COLOR_GRAD1, " Ýòîò èãðîê ñëèøêîì äàë¸êî îò âàñ! ."); } }//invalid id } else { format(string, sizeof(string), " %d èãðîê íå â èãðå.", giveplayerid); SendClientMessage(playerid, COLOR_GRAD1, string); } } return 1; }
Добавлено (26.08.2011, 21:00) ---------------------------------------------
Quote (kasyak )
работала команда /asdf
А что это за такая команда?!Добавлено (26.08.2011, 21:03) ---------------------------------------------kasyak , ну Если ты хочешь чтобы работала только у определеной фракции То в команде После
Code
if (strcmp(cmd, "/Команда", true) == 0) {
Вставь: Code
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)
У меня все так...Если помог от + Не откажусь ;)Автор - Snoop Дата добавления - 26.08.2011 в 21:03:12
kasyak Дата: Суббота, 27.08.2011, 15:58:10 | Сообщение # 3
Группа: Пользователи
Сообщений: 28
передача денег не работает Code
E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "tmp" E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "strtok" E:\serv1\server\gamemodes\test.pwn(388) : error 017: undefined symbol "tmp" E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "COLOR_GRAD1" E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "i" E:\serv1\server\gamemodes\test.pwn(390) : warning 215: expression has no effect E:\serv1\server\gamemodes\test.pwn(390) : error 001: expected token: ";", but found ")" E:\serv1\server\gamemodes\test.pwn(390) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 7 Errors.
Добавлено (27.08.2011, 15:58) --------------------------------------------- if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции) об этом по подробнее можно? PlayerInfo[playerid][pLeader] что это за переменая и это PlayerInfo[playerid][pMember] ?
Сообщение передача денег не работает Code
E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "tmp" E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "strtok" E:\serv1\server\gamemodes\test.pwn(388) : error 017: undefined symbol "tmp" E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "COLOR_GRAD1" E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "i" E:\serv1\server\gamemodes\test.pwn(390) : warning 215: expression has no effect E:\serv1\server\gamemodes\test.pwn(390) : error 001: expected token: ";", but found ")" E:\serv1\server\gamemodes\test.pwn(390) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 7 Errors.
Добавлено (27.08.2011, 15:58) --------------------------------------------- if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции) об этом по подробнее можно? PlayerInfo[playerid][pLeader] что это за переменая и это PlayerInfo[playerid][pMember] ?
Автор - kasyak Дата добавления - 27.08.2011 в 15:58:10
admin Дата: Суббота, 27.08.2011, 20:17:43 | Сообщение # 4
Группа: Администраторы
Сообщений: 3869
kasyak , в команде самом впиши вот что: Code
if(gTeam[playerid] != TEAM_Kop) //тут где TEAM_Kop изменишь на свое { SendClientMessage(playerid, COLOR_RED, "это текст что будет писать если он не под этим зашел"); return 1; }
и верху мода впиши: Code
new gTeam[MAX_PLAYERS];
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение kasyak , в команде самом впиши вот что: Code
if(gTeam[playerid] != TEAM_Kop) //тут где TEAM_Kop изменишь на свое { SendClientMessage(playerid, COLOR_RED, "это текст что будет писать если он не под этим зашел"); return 1; }
и верху мода впиши: Code
new gTeam[MAX_PLAYERS];
Автор - admin Дата добавления - 27.08.2011 в 20:17:43
kasyak Дата: Суббота, 27.08.2011, 23:40:53 | Сообщение # 5
Группа: Пользователи
Сообщений: 28
а насчет денег?
Сообщение а насчет денег? Автор - kasyak Дата добавления - 27.08.2011 в 23:40:53
admin Дата: Воскресенье, 28.08.2011, 07:10:15 | Сообщение # 6
Группа: Администраторы
Сообщений: 3869
Находим паблик OnPlayerCommandText и вставляем в него след.строки: Code
new string[256]; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new cmd[256]; new giveplayerid, moneys, idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]"); return 1; } moneys = strval(tmp); printf("givecash_command: %d %d",giveplayerid,moneys); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), " Вы отправили $%d для %s.", giveplayer, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), " Вы получили $%d от %s.", moneys, sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(id:%d) отправил %d для %s.",sendername, playerid, moneys, giveplayer); } else { SendClientMessage(playerid, COLOR_YELLOW, " Неправильный кол-во денег!"); } } else { format(string, sizeof(string), " Неправельный ИД!",giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; }
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение Находим паблик OnPlayerCommandText и вставляем в него след.строки: Code
new string[256]; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new cmd[256]; new giveplayerid, moneys, idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]"); return 1; } moneys = strval(tmp); printf("givecash_command: %d %d",giveplayerid,moneys); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), " Вы отправили $%d для %s.", giveplayer, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), " Вы получили $%d от %s.", moneys, sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(id:%d) отправил %d для %s.",sendername, playerid, moneys, giveplayer); } else { SendClientMessage(playerid, COLOR_YELLOW, " Неправильный кол-во денег!"); } } else { format(string, sizeof(string), " Неправельный ИД!",giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; }
Автор - admin Дата добавления - 28.08.2011 в 07:10:15
kasyak Дата: Воскресенье, 28.08.2011, 14:52:12 | Сообщение # 7
Группа: Пользователи
Сообщений: 28
надо было еще в конце подписать Code
strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
Добавлено (28.08.2011, 2:52:12) --------------------------------------------- Подскажите как сделать так чтобы вводиш команду и число и и у чела отнималось столько денег и добавлялось в переменную. Только если можно то по подробнее рассказать.
Сообщение надо было еще в конце подписать Code
strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
Добавлено (28.08.2011, 2:52:12) --------------------------------------------- Подскажите как сделать так чтобы вводиш команду и число и и у чела отнималось столько денег и добавлялось в переменную. Только если можно то по подробнее рассказать.
Автор - kasyak Дата добавления - 28.08.2011 в 14:52:12
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи