Код:
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;
}
Код:
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);
}