SA-MP Forums Archive
Problems in sscanf, don't get right code - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Problems in sscanf, don't get right code (/showthread.php?tid=395789)



Problems in sscanf, don't get right code - ancezas - 27.11.2012

ther is code:

Код:
COMMAND:frakcija(playerid,params[])
{
	if(ZaidejoInfo[playerid][DirektoriausID] == -1) return ErrorMsg(playerid,"Jūs neesate jokios frakcijos vadovas.");
	new fVeiksmas[10],vardas[MAX_PLAYER_NAME];
	if(sscanf(params,"s[10]s[24]",fVeiksmas,vardas)) return ExplainMsg(playerid,"Frakcijos valdymas: [ /frakcija (kviesti,atsaukti,nusalinti) ћaidėjas ]");
	if(!strcmp(fVeiksmas,"kviesti",true))
	{
	    new const zID = StrFind(vardas);
	    if(zID == INVALID_PLAYER_ID) return ErrorMsg(playerid,"Tokio prisijungusio ћaidėjo nėra.");
	    else if(ZaidejoInfo[zID][FrakcijosPakvietimas] != -1) return ErrorMsg(playerid,"Љis ћaidėjas jau turi pakvietimą į frakciją");
	    else if(ZaidejoInfo[zID][DarboID] == ZaidejoInfo[playerid][DirektoriausID]) return ErrorMsg(playerid,"Љis ћaidėjas jau priklauso Jūsų frakcijai.");
		new msg[146],zV[MAX_PLAYER_NAME];
		GetPlayerName(zID,zV,MAX_PLAYER_NAME);
		ZaidejoInfo[zID][FrakcijosPakvietimas] = ZaidejoInfo[playerid][DirektoriausID];
		format(msg,114,"%s %s pakvietė Jus prisijungti į %s frakciją.",
			RanguPav[ZaidejoInfo[playerid][DirektoriausID]][ZaidejoInfo[playerid][RangoID]],ZaidejoVardas(playerid),
			FrakcijosInfo[ZaidejoInfo[playerid][DirektoriausID]][Pavadinimas]);
		FrakcijaMsg(zID,msg);
		FrakcijaMsg(zID,"Nuvykite į darbovietę įsidarbinti, arba atљaukite kvietimą. [ /anuliuoti kvietima ]",false);
		format(msg,146,"Pakvietėte %s prisijungti į frakciją. Pakvietimą galite atљaukti: [ /frakcija atsaukti %s ]",zV,zV);
		SuccessMsg(playerid,msg);
	}
	else if(!strcmp(fVeiksmas,"atsaukti",true))
	{
	    new const zID = StrFind(vardas);
	    if(zID == INVALID_PLAYER_ID) return ErrorMsg(playerid,"Tokio prisijungusio ћaidėjo nėra.");
	    else if(ZaidejoInfo[zID][FrakcijosPakvietimas] != ZaidejoInfo[playerid][DirektoriausID])
			return ErrorMsg(playerid,"Љis ћaidėjas pakvietimo į Jūsų frakciją neturi.");
		new msg[108];
		ZaidejoInfo[zID][FrakcijosPakvietimas]  = -1;
		format(msg,108,"%s %s atљaukė Jūsų pakvietimą į %s frakciją.",
			RanguPav[ZaidejoInfo[playerid][DirektoriausID]][ZaidejoInfo[playerid][RangoID]],ZaidejoVardas(playerid),
			FrakcijosInfo[ZaidejoInfo[playerid][DirektoriausID]][Pavadinimas]);
		FrakcijaMsg(zID,msg);
		format(msg,63,"Atљaukėte %s pakvietimą į Jūsų frakciją.",ZaidejoVardas(zID));
		SuccessMsg(playerid,msg);
	}
	else if(!strcmp(fVeiksmas,"nusalinti",true))
	{
	    new const zID = StrFind(vardas);
		if(zID == playerid) return ErrorMsg(playerid,"Nuљalinti savęs nuo pareigų negalite.");
	    if(zID != INVALID_PLAYER_ID)
	    {
		    if(ZaidejoInfo[zID][DarboID] != ZaidejoInfo[playerid][DirektoriausID])
				return ErrorMsg(playerid,"Љis ћaidėjas Jūsų frakcijai nepriklauso.");
			new msg[105],zVadas[MAX_PLAYER_NAME],zNarys[MAX_PLAYER_NAME];
			GetPlayerName(playerid,zVadas,MAX_PLAYER_NAME);
			GetPlayerName(zID,zNarys,MAX_PLAYER_NAME);
			SunaikinameDarbiniTransporta(zID);
			ZaidejoInfo[zID][DarboID]   = -1;
			ZaidejoInfo[zID][RangoID] 	= -1;
			ZaidejoInfo[zID][Apranga]   = false;
			SetPlayerSkin(zID,ZaidejoInfo[zID][IsvaizdosID]);
			if(ZaidejoInfo[zID][SpawnID] == -3) ZaidejoInfo[zID][SpawnID] = -1;
			format(msg,100,"Jūsų frakcijos %s vadovas %s nuљalino Jus nuo pareigų.",
				FrakcijosInfo[ZaidejoInfo[playerid][DirektoriausID]][Pavadinimas],zVadas);
	        FrakcijaMsg(zID,msg);
	        FrakcijaMsg(zID,"Jūsų uћdirbti pinigai iљmokėti į Jūsų banko sąskaitą.");
	        ZaidejoInfo[zID][BankoSaskaita] += ZaidejoInfo[zID][Uzdarbis];
	        ZaidejoInfo[zID][Uzdarbis]      = 0;
	        ZaidejoInfo[zID][Isdirbta] 		= 60;
	        format(msg,105,"%s %s nuљalino %s nuo pareigų frakcijoje.",RanguPav[ZaidejoInfo[playerid][DirektoriausID]][ZaidejoInfo[playerid][RangoID]],zVadas,zNarys);
			ZinuteFrakcijai(ZaidejoInfo[playerid][DirektoriausID],msg);
		}
		else
		{
		    new checkSQL[106];
		    format(checkSQL,85,"SELECT * FROM profiliai WHERE Vardas='%s' AND DarboID='%d'",vardas,ZaidejoInfo[playerid][DirektoriausID]);
		    mysql_query(checkSQL);
		    mysql_store_result();
		    if(mysql_num_rows() == 0)
			{
				ErrorMsg(playerid,"Nuљalinti tokio ћaidėjo negalite, nes jo nėra, arba jis nepriklauso Jūsų frakcijai.");
		    	mysql_free_result();
				return 1;
			}
			mysql_free_result();
			format(checkSQL,77,"UPDATE profiliai SET DarboID='-2' WHERE Vardas='%s'",vardas);
			mysql_query(checkSQL);
			format(checkSQL,106,"%s %s nuљalino '%s' nuo pareigų frakcijoje.",RanguPav[ZaidejoInfo[playerid][DirektoriausID]][ZaidejoInfo[playerid][RangoID]],
				ZaidejoVardas(playerid),vardas);
			ZinuteFrakcijai(ZaidejoInfo[playerid][DirektoriausID],checkSQL);
		}
	}
	else ErrorMsg(playerid,"Tokio parametro frakcijos valdyme nėra.");
	return 1;
}
and when i type in game: /frakcija kviesti (nick name) im geting this code:

Код:
if(sscanf(params,"s[10]s[24]",fVeiksmas,vardas)) return ExplainMsg(playerid,"Frakcijos valdymas: [ /frakcija (kviesti,atsaukti,nusalinti) ћaidėjas ]");
and i needed to get this one:


Код:
if(!strcmp(fVeiksmas,"kviesti",true))
	{
	    new const zID = StrFind(vardas);
	    if(zID == INVALID_PLAYER_ID) return ErrorMsg(playerid,"Tokio prisijungusio ћaidėjo nėra.");
	    else if(ZaidejoInfo[zID][FrakcijosPakvietimas] != -1) return ErrorMsg(playerid,"Љis ћaidėjas jau turi pakvietimą į frakciją");
	    else if(ZaidejoInfo[zID][DarboID] == ZaidejoInfo[playerid][DirektoriausID]) return ErrorMsg(playerid,"Љis ћaidėjas jau priklauso Jūsų frakcijai.");
		new msg[146],zV[MAX_PLAYER_NAME];
		GetPlayerName(zID,zV,MAX_PLAYER_NAME);
		ZaidejoInfo[zID][FrakcijosPakvietimas] = ZaidejoInfo[playerid][DirektoriausID];
		format(msg,114,"%s %s pakvietė Jus prisijungti į %s frakciją.",
			RanguPav[ZaidejoInfo[playerid][DirektoriausID]][ZaidejoInfo[playerid][RangoID]],ZaidejoVardas(playerid),
			FrakcijosInfo[ZaidejoInfo[playerid][DirektoriausID]][Pavadinimas]);
		FrakcijaMsg(zID,msg);
		FrakcijaMsg(zID,"Nuvykite į darbovietę įsidarbinti, arba atљaukite kvietimą. [ /anuliuoti kvietima ]",false);
		format(msg,146,"Pakvietėte %s prisijungti į frakciją. Pakvietimą galite atљaukti: [ /frakcija atsaukti %s ]",zV,zV);
		SuccessMsg(playerid,msg);
	}
sorry for my bad english