PDA

Просмотр полной версии : [CMD] /givegun [dc_cmd || sscanf]



Flime
28.08.2014, 20:16
CMD:givegun(playerid,params[])
{
//Проверка на админ. права.
enum gunInfo
{
gunName[MAX_PLAYER_NAME],
gunID
};
static const GiveGunInfo[][gunInfo] =
{
{_I@f<Brass>, 1},
{_I@f<Golf>, 2},
{_I@f<Nightstick>, 3},
{_I@f<Knife>, 4},
{_I@f<Baseballbat>, 5},
{_I@f<Shovel>, 6},
{_I@f<PoolCue>, 7},
{_I@f<Katana>, 8},
{_I@f<Chainsaw>, 9},
{_I@f<Purpledildo>, 10},
{_I@f<Dildo>, 11},
{_I@f<Vibrator>, 12},
{_I@f<Silvervibrator>, 13},
{_I@f<Flowers>, 14},
{_I@f<Cane>, 15},
{_I@f<Grenade>, 16},
{_I@f<Teargas>, 17},
{_I@f<Molotov>, 18},
{_I@f<9mm>, 22},
{_I@f<Silenced9mm>, 23},
{_I@f<Deagle>, 24},
{_I@f<Shotgun>, 25},
{_I@f<Sawnoffshotgun>, 26},
{_I@f<Combatshotgun>, 27},
{_I@f<Uzi>, 28},
{_I@f<MP5>, 29},
{_I@f<AK-47>, 30},
{_I@f<M4>, 31},
{_I@f<Tec-9>, 32},
{_I@f<Countryrifle>, 33},
{_I@f<Sniperrifle>, 34},
{_I@f<RPG>, 35},
{_I@f<Rocket>, 36},
{_I@f<Flamethrower>, 37},
{_I@f<Minigun>, 38},
{_I@f<Satchelcharge>, 39},
{_I@f<Detonator>, 40},
{_I@f<Spraycan>, 41},
{_I@f<Fireextinguisher>, 42},
{_I@f<Camera>, 43},
{_I@f<Thermalgoggles>, 45},
{_I@f<Parachute>, 46}
};
new _playerid,patr,idgun;
if(sscanf(params,"us[24]d", _playerid,params,patr)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /givegun [id игрока] [id/название оружия] [патроны]");
if(sscanf(params, "d", idgun) == 0)
{
switch(idgun)
{
case 1..18,22..43,45..46: goto found_id;
default: return SendClientMessage(playerid, 0xAFAFAFAA, "Неверный номер оружия");
}
}
else
{
if(!(1 <= strlen(params) <= 23)) goto unknown_name;
for(new hash = YHash(params, false, hash_fnv1); idgun < sizeof(veh_name_entries); ++idgun)
if(hash == GiveGunInfo[idgun][gunName])
{
idgun = GiveGunInfo[idgun][gunID];
goto found_id;
}
unknown_name: return SendClientMessage(playerid, 0xAFAFAFAA, "Неизвестное название оружия!");
}
found_id:
{
if(GivePlayerWeapon(_playerid,idgun, patr) == 0) return SendClientMessage(playerid, 0xAFAFAFAA, "[Ошибка] Оружие не выдано!");
else SendClientMessage(playerid, 0xAFAFAFAA, "Оружие выдано!");
}
return 1;
}



Автор: Flime
Немного взято из работ: Daniel_Cortez

Копирование данной статьи без разрешения автора запрещено!

wAx
28.08.2014, 20:39
Гуд

Salvacore
28.08.2014, 20:53
Посмотри y_stringhash.