Jump to content
  • 0

Factions system Mysql


MarianDeparateanu

Question

Problema intalnita (descriere):Salut am facut un system de factiuni dynamic(ceva gen VX-RP) si cand dau /setleader nu mi se salveaza datele in baza de date.Tin sa mentionez ca lucrez pe Gamemode-ul lui Wopss
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul(obligatoriu): 

CMD:setleader(playerid, params[]) {
    if(PlayerInfo[playerid][pAdmin] >= 6) {
        new	groupID;

		if(sscanf(params, "ud", playerid, groupID)) {
			return SendClientMessage(playerid, COLOR_GREY, SYNTAX_MESSAGE"/setleader [playerid] [groupid]");
		}
        else {
			if(groupID < 1 || groupID > MAX_GROUPS) return SendClientMessage(playerid, COLOR_GREY, "Invalid group ID.");
			else if(PlayerInfo[playerid][pMember] != 0) return SCM(playerid, COLOR_GREY, "This player is in a group. Use /auninvite first!");
			PlayerInfo[playerid][pMember] = groupID;
			PlayerInfo[playerid][pMemberRank] = 7;

			new

			    string[128];

			GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);

			format(string, sizeof(string), "You have set %s to lead group %s.", szPlayerName, groupVariables[groupID][gGroupName]);
			SendClientMessage(playerid, COLOR_WHITE, string);
			PlayerInfo[playerid][pSkin] = groupVariables[PlayerInfo[playerid][pMember]][gLeaderSkin];
			SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
			Update(playerid, pMemberx);
			Update(playerid, pMemberRankx);

			GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);

			format(string, sizeof(string), "<< Administrator %s has set you to lead group %s >>", szPlayerName, groupVariables[groupID][gGroupName]);
			SendClientMessage(playerid, COLOR_PURPLE, string);
			SetPlayerToTeamColor(playerid);
			mysql_format(handle, string, sizeof(string), "UPDATE players SET playerDays = '0' WHERE playerID = '%d'", PlayerInfo[playerid][pInternalID]);
			mysql_query(handle, string);

			if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pMember] == 15)
			{
				JustJoined[playerid] = 1;
			}

			new quer[2560];
			new strings1[255];
			format(strings1,255, "%s is now the leader of faction %s.", PlayerInfo[playerid][pNormalName], groupVariables[groupID][gGroupName]);
			new year, month, day, hour, minute, second;
			new time[25];
			gettime(hour, minute, second);
			getdate(year, month, day);
			format(time, 25, "%02d.%02d.%d %02d:%02d:%02d", day, month, year, hour, minute, second);
			format(quer, sizeof(quer), "INSERT INTO `faction_logs` (playerID, Text, playerSkin, time) VALUES('%d', '%s', '%d', '%s')", PlayerInfo[playerid][pInternalID], strings1, PlayerInfo[playerid][pSkin], time);
			mysql_query(handle, quer);
		}
    }

    return 1;
}


Imagini / Video (optional):
Ati incercat sa rezolvati singur?: Da am incercat sa fac ceva la comanda....dar tot degeaba

format(string, sizeof(string), "You have set %s to lead group %s.", szPlayerName, groupVariables[groupID][gGroupName]);
			SendClientMessage(playerid, COLOR_WHITE, string);
			PlayerInfo[playerid][pSkin] = groupVariables[PlayerInfo[playerid][pMember]][gLeaderSkin];
			SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
            mysql_format(handle, string, sizeof(string), "UPDATE players SET playerGroup = '%s' WHERE username = '%d'", PlayerInfo[playerid][pMember], szPlayerName);
			mysql_query(handle, string);
			mysql_format(handle, string, sizeof(string), "UPDATE players SET playerGroupRank = '7' WHERE username = '%d'", PlayerInfo[playerid][pMemberRank], szPlayerName);
			mysql_query(handle, string);
			Update(playerid, pMemberx);
			Update(playerid, pMemberRankx);

 

group.PNG

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Pe bune ca ai gresit codul.... de ce definesti playerid ca si persoana pe care folosesti comanda?  Tu daca folosesti comanda esti playerid, iar daca o folosesti pe mine, eu sunt targetid(tintaID).
 Stilul e putin ciudat, nu prea imi place, am incercat eu sa corectez ceva pe acolo, dar nu prea pot sa imi dau seama ce si cum vrei sa faci, cand vrei sa iti dai mesaj tie si cand vrei sa imi dai mesaj mie...

Corectezi tu daca am gresit.

CMD:setleader(playerid, params[]) {
    if(PlayerInfo[playerid][pAdmin] >= 6) 
	{
        new	groupID, targetid;

		if(sscanf(params, "ud", targetid, groupID)) 
			return SendClientMessage(playerid, COLOR_GREY, SYNTAX_MESSAGE"/setleader [playerid] [groupid]");
		
		if(groupID < 1 || groupID > MAX_GROUPS) 
				return SendClientMessage(playerid, COLOR_GREY, "Invalid group ID.");
				
		if(PlayerInfo[targetid][pMember] != 0) 
				return SCM(playerid, COLOR_GREY, "This player is in a group. Use /auninvite first!");
				
		PlayerInfo[targetid][pMember] = groupID;
		PlayerInfo[targetid][pMemberRank] = 7;

		new string[128];

		format(string, sizeof(string), "You have set %s to lead group %s.", GetName(targetid), groupVariables[groupID][gGroupName]);
		SendClientMessage(targetid, COLOR_WHITE, string);
		
		PlayerInfo[targetid][pSkin] = groupVariables[PlayerInfo[targetid][pMember]][gLeaderSkin];
		SetPlayerSkin(targetid, PlayerInfo[targetid][pSkin]);
		
		Update(targetid, pMemberx);
		Update(targetid, pMemberRankx);

		format(string, sizeof(string), "<< Administrator %s has set you to lead group %s >>", GetName(playerid), groupVariables[groupID][gGroupName]);
		SendClientMessage(playerid, COLOR_PURPLE, string);
		
		SetPlayerToTeamColor(targetid);
		
		mysql_format(handle, string, sizeof(string), "UPDATE players SET playerDays = '0' WHERE playerID = '%d'", PlayerInfo[targetid][pInternalID]);
		mysql_query(handle, string);

		if(PlayerInfo[targetid][pMember] == 5 || PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pMember] == 7 || PlayerInfo[targetid][pMember] == 8 || PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pMember] == 15)
		{
			JustJoined[targetid] = 1;
		}

		new quer[2560];
		new strings1[255];
		format(strings1,255, "%s is now the leader of faction %s.", PlayerInfo[targetid][pNormalName], groupVariables[groupID][gGroupName]);
		new year, month, day, hour, minute, second;
		new time[25];
		gettime(hour, minute, second);
		getdate(year, month, day);
		format(time, 25, "%02d.%02d.%d %02d:%02d:%02d", day, month, year, hour, minute, second);
		format(quer, sizeof(quer), "INSERT INTO `faction_logs` (playerID, Text, playerSkin, time) VALUES('%d', '%s', '%d', '%s')", PlayerInfo[targetid][pInternalID], strings1, PlayerInfo[targetid][pSkin], time);
		mysql_query(handle, quer);
	
    }

    return 1;
}

stock GetName( playerid )
{
	new name[MAX_PLAYER_NAME+1];
	GetPlayerName(playerid,name,sizeof(name));
	return name;
}

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.