igjde Дата: Суббота, 24.08.2013, 14:45:14 | Сообщение # 1
Группа: Пользователи
Сообщений: 50
Код
Здравствуйте,помогите как исправить команду /makegun у меня в нем ошибка Вот диалог команды Введите: /makegun [id][id оружия] [кол-во патронов] Вот скрины Как я набираю скок мне нужно патронов в ган http://i59.fastpic.ru/big/2013/0824/7a/2e3d4fabf279070ab8167a5240d2847a.png А вот что выходит http://i58.fastpic.ru/big/2013/0824/38/4838785c766c5953fa75e94bde953c38.png Вот Диалог команды /makegun в pawno Код if(strcmp(cmd,"/makegun",true)==0) { if(IsPlayerConnected(playerid)) { if(!IsAGang(playerid) && !IsAArm(playerid)) { SendClientMessage(playerid,COLOR_GREY,"Вам недоступна данная функцыя!"); return 1; } new x_weapon[256],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS]; new giveplayer[ MAX_PLAYER_NAME ],giveplayerid,sendername[ MAX_PLAYER_NAME ],string[ 256 ]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { ShowPlayerDialog(playerid,8321,DIALOG_STYLE_MSGBOX,"Доступное оружие","{01FCFF}ID Название\t\t\tМеталл\n\n{FFFFFF}1.Silinced 9mm\t\t\t3\n2.Desert Eagle\t\t\t6\n3.Shotgun\t\t\t8\n4.MP5\t\t\t\t9\n5.AK-47\t\t\t\t10\n6.M4\t\t\t\t10\n7.Sniper Rifle\t\t\t20\n\nДля добавление патронов к оружию\nнеобходимо держать его в руках.","Закрыть",""); SendClientMessage(playerid, COLOR_GRAD1, " {ffa200}[INFO]:{ffffff} /makegun {33aa33} [ID]{ffffff}[Номер оружие] [Кол-Во патронов]"); return 1; } giveplayerid = ReturnUser(tmp); if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { x_weapon = strtok(cmdtext, idx); if(!strlen(tmp)) { ShowPlayerDialog(playerid,8321,DIALOG_STYLE_MSGBOX,"Доступное оружие","{01FCFF}ID Название\t\t\tМеталл\n\n{FFFFFF}1.Silinced 9mm\t\t\t3\n2.Desert Eagle\t\t\t6\n3.Shotgun\t\t\t8\n4.MP5\t\t\t\t9\n5.AK-47\t\t\t\t10\n6.M4\t\t\t\t10\n7.Sniper Rifle\t\t\t20\n\nДля добавление патронов к оружию\nнеобходимо держать его в руках.","Закрыть",""); SendClientMessage(playerid, COLOR_GRAD1, " {ffa200}[INFO]:{ffffff} /makegun {33aa33} [ID]{ffffff}[Номер оружие] [Кол-Во патронов]"); return 1; } if(strcmp(x_weapon,"1",true) == 0) { if(PlayerInfo[playerid][pMats] > 3) { weapon[playerid] = 23; price[playerid] = 5; ammo[playerid] = 21; PlayerInfo[playerid][pAmmo2] = 21; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"2",true) == 0) { if(PlayerInfo[playerid][pMats] > 6) { weapon[playerid] = 24; price[playerid] = 7; ammo[playerid] = 14; PlayerInfo[playerid][pAmmo2] = 14; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"3",true) == 0) { if(PlayerInfo[playerid][pMats] > 8) { weapon[playerid] = 29; price[playerid] = 9; ammo[playerid] = 60; PlayerInfo[playerid][pAmmo2] = 60; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"4",true) == 0) { if(PlayerInfo[playerid][pMats] > 9) { weapon[playerid] = 25; price[playerid] = 11; ammo[playerid] = 30; PlayerInfo[playerid][pAmmo2] = 30; PlayerInfo[giveplayerid][pGun2] = 25; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"5",true) == 0) { if(PlayerInfo[playerid][pMats] > 10) { weapon[playerid] = 30; price[playerid] = 13; ammo[playerid] = 50; PlayerInfo[playerid][pAmmo2] = 40; PlayerInfo[giveplayerid][pGun2] = 30; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"6",true) == 0) { if(PlayerInfo[playerid][pMats] > 10) { weapon[playerid] = 31; price[playerid] = 14; ammo[playerid] = 50; PlayerInfo[playerid][pAmmo2] = 40; PlayerInfo[giveplayerid][pGun2] = 31; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"7",true) == 0) { if(PlayerInfo[playerid][pMats] > 20) { weapon[playerid] = 33; price[playerid] = 16; ammo[playerid] = 20; PlayerInfo[playerid][pAmmo2] = 20; PlayerInfo[giveplayerid][pGun2] = 33; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else { SendClientMessage(playerid,COLOR_GREY,"Неверный номер оружия!"); return 1; } if (ProxDetectorS(5.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s изготовил оружия из %d кг и металла",sendername,price[playerid]); SCM(playerid, COLOR_GRAD1, string); format(string, sizeof(string), "Вы получили оружия с %d боеприпасами", ammo[playerid]); SCM(giveplayerid, COLOR_GRAD1, string); PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0); GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]); PlayerInfo[playerid][pMats] -= price[playerid]; PlayerInfo[playerid][pPatron] -= ammo[playerid]; } } else { format(string, sizeof(string), "%d не активный игрок.", giveplayerid); SCM(playerid, COLOR_GRAD1, string); } } return 1; Вот и все как не изменял не могу Вот это страка отвечает за патроны price [playerid]= 7; ammo [playerid]= 14; PlayerInfo[playerid][pAmmo2] = 14; PlayerInfo [giveplayerid]Цыфра 7 это металл А цыфра 14 это патроны Как изменить цыфру 14 на код? чтобы при выдаче скок ты хочеш столько и выдовало, а не 14 патрон Например /makegun [id][id оружие] [свое кол-во патронов] И оно бы выдавало хочу там делаю 50 хочу 60 хочу 66 и вот так и ишло Как изменить чтобы не система делала патроны а ты сам водил цыфру
Сообщение отредактировал igjde - Суббота, 24.08.2013, 14:51:45
Сообщение Код
Здравствуйте,помогите как исправить команду /makegun у меня в нем ошибка Вот диалог команды Введите: /makegun [id][id оружия] [кол-во патронов] Вот скрины Как я набираю скок мне нужно патронов в ган http://i59.fastpic.ru/big/2013/0824/7a/2e3d4fabf279070ab8167a5240d2847a.png А вот что выходит http://i58.fastpic.ru/big/2013/0824/38/4838785c766c5953fa75e94bde953c38.png Вот Диалог команды /makegun в pawno Код if(strcmp(cmd,"/makegun",true)==0) { if(IsPlayerConnected(playerid)) { if(!IsAGang(playerid) && !IsAArm(playerid)) { SendClientMessage(playerid,COLOR_GREY,"Вам недоступна данная функцыя!"); return 1; } new x_weapon[256],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS]; new giveplayer[ MAX_PLAYER_NAME ],giveplayerid,sendername[ MAX_PLAYER_NAME ],string[ 256 ]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { ShowPlayerDialog(playerid,8321,DIALOG_STYLE_MSGBOX,"Доступное оружие","{01FCFF}ID Название\t\t\tМеталл\n\n{FFFFFF}1.Silinced 9mm\t\t\t3\n2.Desert Eagle\t\t\t6\n3.Shotgun\t\t\t8\n4.MP5\t\t\t\t9\n5.AK-47\t\t\t\t10\n6.M4\t\t\t\t10\n7.Sniper Rifle\t\t\t20\n\nДля добавление патронов к оружию\nнеобходимо держать его в руках.","Закрыть",""); SendClientMessage(playerid, COLOR_GRAD1, " {ffa200}[INFO]:{ffffff} /makegun {33aa33} [ID]{ffffff}[Номер оружие] [Кол-Во патронов]"); return 1; } giveplayerid = ReturnUser(tmp); if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { x_weapon = strtok(cmdtext, idx); if(!strlen(tmp)) { ShowPlayerDialog(playerid,8321,DIALOG_STYLE_MSGBOX,"Доступное оружие","{01FCFF}ID Название\t\t\tМеталл\n\n{FFFFFF}1.Silinced 9mm\t\t\t3\n2.Desert Eagle\t\t\t6\n3.Shotgun\t\t\t8\n4.MP5\t\t\t\t9\n5.AK-47\t\t\t\t10\n6.M4\t\t\t\t10\n7.Sniper Rifle\t\t\t20\n\nДля добавление патронов к оружию\nнеобходимо держать его в руках.","Закрыть",""); SendClientMessage(playerid, COLOR_GRAD1, " {ffa200}[INFO]:{ffffff} /makegun {33aa33} [ID]{ffffff}[Номер оружие] [Кол-Во патронов]"); return 1; } if(strcmp(x_weapon,"1",true) == 0) { if(PlayerInfo[playerid][pMats] > 3) { weapon[playerid] = 23; price[playerid] = 5; ammo[playerid] = 21; PlayerInfo[playerid][pAmmo2] = 21; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"2",true) == 0) { if(PlayerInfo[playerid][pMats] > 6) { weapon[playerid] = 24; price[playerid] = 7; ammo[playerid] = 14; PlayerInfo[playerid][pAmmo2] = 14; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"3",true) == 0) { if(PlayerInfo[playerid][pMats] > 8) { weapon[playerid] = 29; price[playerid] = 9; ammo[playerid] = 60; PlayerInfo[playerid][pAmmo2] = 60; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"4",true) == 0) { if(PlayerInfo[playerid][pMats] > 9) { weapon[playerid] = 25; price[playerid] = 11; ammo[playerid] = 30; PlayerInfo[playerid][pAmmo2] = 30; PlayerInfo[giveplayerid][pGun2] = 25; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"5",true) == 0) { if(PlayerInfo[playerid][pMats] > 10) { weapon[playerid] = 30; price[playerid] = 13; ammo[playerid] = 50; PlayerInfo[playerid][pAmmo2] = 40; PlayerInfo[giveplayerid][pGun2] = 30; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"6",true) == 0) { if(PlayerInfo[playerid][pMats] > 10) { weapon[playerid] = 31; price[playerid] = 14; ammo[playerid] = 50; PlayerInfo[playerid][pAmmo2] = 40; PlayerInfo[giveplayerid][pGun2] = 31; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else if(strcmp(x_weapon,"7",true) == 0) { if(PlayerInfo[playerid][pMats] > 20) { weapon[playerid] = 33; price[playerid] = 16; ammo[playerid] = 20; PlayerInfo[playerid][pAmmo2] = 20; PlayerInfo[giveplayerid][pGun2] = 33; PlayerInfo[giveplayerid][pAmmo2] = ammo[playerid]; } else { SendClientMessage(playerid,COLOR_GREY,"Недостаточно материолов для этого оружия!"); return 1; } } else { SendClientMessage(playerid,COLOR_GREY,"Неверный номер оружия!"); return 1; } if (ProxDetectorS(5.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "%s изготовил оружия из %d кг и металла",sendername,price[playerid]); SCM(playerid, COLOR_GRAD1, string); format(string, sizeof(string), "Вы получили оружия с %d боеприпасами", ammo[playerid]); SCM(giveplayerid, COLOR_GRAD1, string); PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0); GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]); PlayerInfo[playerid][pMats] -= price[playerid]; PlayerInfo[playerid][pPatron] -= ammo[playerid]; } } else { format(string, sizeof(string), "%d не активный игрок.", giveplayerid); SCM(playerid, COLOR_GRAD1, string); } } return 1; Вот и все как не изменял не могу Вот это страка отвечает за патроны price [playerid]= 7; ammo [playerid]= 14; PlayerInfo[playerid][pAmmo2] = 14; PlayerInfo [giveplayerid]Цыфра 7 это металл А цыфра 14 это патроны Как изменить цыфру 14 на код? чтобы при выдаче скок ты хочеш столько и выдовало, а не 14 патрон Например /makegun [id][id оружие] [свое кол-во патронов] И оно бы выдавало хочу там делаю 50 хочу 60 хочу 66 и вот так и ишло Как изменить чтобы не система делала патроны а ты сам водил цыфру
Автор - igjde Дата добавления - 24.08.2013 в 14:45:14
admin Дата: Суббота, 24.08.2013, 20:42:33 | Сообщение # 2
Группа: Администраторы
Сообщений: 3869
Цитата (igjde )
GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
заменить на Код
new weapons[13][2]; // Создается переменная для получения слотов, патронов и т.д... for (new i = 0; i < 13; i++) { GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]); // weapons[i][0] это параметр &weapons, а weapons[i][1] - &ammo }
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение Цитата (igjde )
GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
заменить на Код
new weapons[13][2]; // Создается переменная для получения слотов, патронов и т.д... for (new i = 0; i < 13; i++) { GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]); // weapons[i][0] это параметр &weapons, а weapons[i][1] - &ammo }
Автор - admin Дата добавления - 24.08.2013 в 20:42:33