Helló! probálkoztam a megirással de valamiért nem sikerul valaki megoldás?
CMD:set(playerid,params[])
{
if(isnull(params))
{
SCM(playerid, COL_MKEK, \"Használat: /set | Paraméterek | Név/id |\");
SCM(playerid, COL_MKEK, \"[Paraméterek]: Jogsiad,Jogsiel,Adfengedely,Elfengedely\");
return true;
}
new param[24],player;
sscanf(params, \"s[24]{}u{}\", param,player);
if(!strcmp(param, \"Jogsiad\", true))
{
SetIntData(player, \"jogsi\", 3);
SCM(player,\"Kaptál egy jogositványt\");
SCM(playerid,\"Adtál egy Jogsit!\");
return true;
}
//else goto go_shelp;
return true;
}
Ez így biztos, hogy nem fog működni.
sscanf(params, \"s[24]{}u{}\", param,player);
Amit előszőr szeretnél felvenni, az odaírod, string esetén utána rakod a hosszúságát is, ezt követően 1-1 nyító-záró kapcsos jel.
sscanf(params, \"u{}\",player);
Utána ha ezt felvetted. és a játékost leellenőrízted pl., hogy csatlakozva van-e. akkor jön a többi paraméter. Viszont amit már felvettél, azt berakod a kapcsos zárójelbe, ergo hagyja figyelmen kívül, bár ez így kicsit nyers fogalmazás.
sscanf(params, \"{u}s[24]{}\",set);
Utána meg felveszed a többit is hasonlóképpen.
Ha bővíted fontos, hogy legyen utána {}
sscanf(params, \"{us[24]}d\",int);
esetleg igy?
CMD:engedelyek(playerid,params[])
{
new param[32],player;
if(!IsPlayerRendor(playerid)) return SCM(playerid, COLOR_RED, \"Nem vagy rendőr!\");
if(sscanf(params,\"u{}\",player)) return SCM(playerid, COLOR_WHITE, \"{269BD9}Használat:{FFFFFF}/engedélyek [Név/ID] [jogsiad,jogsiel,adfengédely,elfengédely]\");
if(player == INVALID_PLAYER_ID) return Malibu(playerid, \"Hibás ID.\");//lecekolom a playert h van e ilyen id
if(sscanf(params,\"{u}s[32]{}\",param)) return SCM(playerid, COLOR_WHITE, \"{269BD9}Használat:{FFFFFF}/engedélyek [Név/ID] [jogsiad,jogsiel,adfengédely,elfengédely]\");
if(!strcmp(param, \"jogsiad\", true))
{
SetIntData(player, \"jogsi\", 3);
SCM(player, COLOR_RED, \"Egy rendőr adott neked egy jogositványt.\");
SCM(playerid,COLOR_WHITE,\"Adtál egy Jogsit!\");
}
else if(!strcmp(param, \"jogsiel\", true))
{
SetIntData(player, \"jogsi\", 0);
SCM(player, COLOR_RED, \"Egy rendőr elvette a jogositványodat.\");
SCM(playerid,COLOR_WHITE,\"Elvetted a Jogsit!\");
}
else if(!strcmp(param, \"adfengedely\", true))
{
SetIntData(player, \"fegyverengedely\", 1);
format(query, sizeof(query), \"UPDATE `players` SET `fegyverengedely`=1 WHERE `name`=\'%s\'\", pName(player));
mysql_tquery(query);
SCM(playerid, COLOR_WHITE, \"Adtál egy fegyverengedélyt.\");
SCM(player, COLOR_RED, \"Egy rendőr adott neked egy fegyverengedélyt.\");