-
Hello, az a problémám, hogy csináltam egy parancsot, amihez alapból 2 param kell, de hogyha az az 1 param mondjuk \"név\" akkor működésbe kell lépnie egy harmadik paramnak
Nos hát én ezt így oldottam meg, de nem igazán működik:
CMD:ajto(playerid,params[])
{
if(pInfo[playerid][pAdmin] < ASZINT_KEZDO) return NemVagyAdmin(playerid);
if(pInfo[playerid][pAdmin] < ASZINT_TELJES && !IsPlayerAdmin(playerid)) return NemVagyElegAdmin(playerid);
new tevekenyseg[128],temp;
if(sscanf(params,\"ds\",temp,tevekenyseg)) return Msg(playerid,COLOR_LIGHTRED, \"/ajto [iD] [tevékenység] ( név, bepos, kipos, töröl, munka, frakció)\");
if(!strcmp(tevekenyseg, \"nev\", false) || !strcmp(tevekenyseg, \"név\", false))
{
new AjtoNev[128];
if(sscanf(params,\"dss\",temp,tevekenyseg,AjtoNev)) return Msg(playerid,COLOR_LIGHTRED, \"/ajto név [név]\");
if(!strlen(AjtoNev)) return Msg(playerid,COLOR_LIGHTRED, \"Írj is be valamit akkor...\");
format(aInfo[temp][aNev],128,\"%s\",AjtoNev);
SFM(playerid,COLOR_RED,\"Az ajtó új neve: %s\",AjtoNev);
DestroyDynamic3DTextLabel(aInfo[temp][aLabelB]);
DestroyDynamic3DTextLabel(aInfo[temp][aLabelK]);
new tempa[128];
format(tempa,128,\"ID: %d\\nBejárat: %s\\nHasználat: \'F\' vagy \'ENTER\'\", temp, aInfo[temp][aNev]);
aInfo[temp][aLabelB] = CreateDynamic3DTextLabel(tempa, COLOR_WHITE, aInfo[temp][aPosBx], aInfo[temp][aPosBy], aInfo[temp][aPosBz], 20.0, INVALID_VEHICLE_ID, INVALID_VEHICLE_ID, 0, aInfo[temp][aVwB], aInfo[temp][aIntB]);
format(tempa,128,\"ID: %d\\nKijárat: %s\\nHasználat: \'F\' vagy \'ENTER\'\", temp, aInfo[temp][aNev]);
aInfo[temp][aLabelK] = CreateDynamic3DTextLabel(tempa, COLOR_WHITE, aInfo[temp][aPosKx], aInfo[temp][aPosKy], aInfo[temp][aPosKz], 20.0, INVALID_VEHICLE_ID, INVALID_VEHICLE_ID, 0, aInfo[temp][avWK], aInfo[temp][aIntK]);
return 1;
}
return 1;
}//Itt eredetileg tovább is van de fölösleges lenne ide beírni.
Itt új nevet adhatunk az ajtónak. Az a helyzet hogy nem működik, és nem tudok vele mit kezdeni..
Segítséget előre is köszönöm.
UI:NEM szeretnék új parancsot csinálni külön
-
Írd meg valahogy így:
new id, tevekenyseg[128];
if(!sscanf(params, \"is[129]\"))
{
if(!strcmp(tevekenyseg, \"név\")
{
new nev[128];
if(sscanf(params, \"{is[129]}s[129]\", nev)) Msg(playerid, \"Használat: /... ... ... ...\");
//...
}
}
else Msg(playerid, COLOR_..., \"Használat: /... ... ...\");
Gyorsan írtam, lehet benne hiba. Sok sikert!
Szerk.:
A \"{}\" specifikátorral azt jelzed, hogy arra a részre nincs szükséged.
-
Ránézésre nem tűnik jónak, most van egy jobb ötletem rá, de ha nem működik kipróbálom a tiedet
;)
-
Karácsonyi ajándék, elméletben működnie kell:
if(sscanf(params,\"ds[128]{}\",temp, tevekenyseg))
return Msg(playerid,COLOR_LIGHTRED, \"/ajto [iD] [tevékenység] ( név, bepos, kipos, töröl, munka, frakció)\");
if(!strcmp(tevekenyseg, \"nev\", false) || !strcmp(tevekenyseg, \"név\", false))
{
new AjtoNev[128];
if(sscanf(params,\"{ds[128]}s[128]\",AjtoNev)) return Msg(playerid,COLOR_LIGHTRED, \"/ajto név [név]\");
if(!strlen(AjtoNev)) return Msg(playerid,COLOR_LIGHTRED, \"Írj is be valamit akkor...\");
format(aInfo[temp][aNev],128,\"%s\",AjtoNev);
SFM(playerid,COLOR_RED,\"Az ajtó új neve: %s\",AjtoNev);
DestroyDynamic3DTextLabel(aInfo[temp][aLabelB]);
DestroyDynamic3DTextLabel(aInfo[temp][aLabelK]);
new tempa[128];
format(tempa,128,\"ID: %d\\nBejárat: %s\\nHasználat: \'F\' vagy \'ENTER\'\", temp, aInfo[temp][aNev]);
aInfo[temp][aLabelB] = CreateDynamic3DTextLabel(tempa, COLOR_WHITE, aInfo[temp][aPosBx], aInfo[temp][aPosBy], aInfo[temp][aPosBz], 20.0, INVALID_VEHICLE_ID, INVALID_VEHICLE_ID, 0, aInfo[temp][aVwB], aInfo[temp][aIntB]);
format(tempa,128,\"ID: %d\\nKijárat: %s\\nHasználat: \'F\' vagy \'ENTER\'\", temp, aInfo[temp][aNev]);
aInfo[temp][aLabelK] = CreateDynamic3DTextLabel(tempa, COLOR_WHITE, aInfo[temp][aPosKx], aInfo[temp][aPosKy], aInfo[temp][aPosKz], 20.0, INVALID_VEHICLE_ID, INVALID_VEHICLE_ID, 0, aInfo[temp][avWK], aInfo[temp][aIntK]);
return 1;
}
[gmod]Javítottam helyetted a
taget
tagre![/gmod]
-
Találtam rá egyszerűbb megoldást! Zárok, de azért köszönöm!!!! :thankyou:
-
[gmod]Ha kiírod, hogy zársz, miért nem zárod a témát...? Akkor zárok helyetted. Legközelebb ne feledkezz meg róla![/gmod]