enum e_FactionInfo
{
fID, //factionID
fName[60], //faction Name
Locked, Active, //Lock Mode(invite), Active
MaxMembers, Members, Leader, HasLeader, //Max-Members, current members and leader.
Ranks[5]
}
//Onfilterscriptinit
db_query(Factions, "CREATE TABLE IF NOT EXISTS `FACTIONS` (`ID`, `NAME`, `LOCKED`, `ACTIVE`, `MAXMEMBERS`, `MEMBERS`, `LEADER`, `RANK1`, `RANK2`, `RANK3`, `RANK4`, `RANK5`)");
//creating faction
CMD:createfaction(playerid, params[]) {
if(PlayerInfo[playerid][fID]) return SendClientMessage(playerid, -1, "{FC4949}You're already in a faction!");
new factionname[60];
if(sscanf(params, "s[60]", factionname)) return SendClientMessage(playerid, COLOR_NOTES, "You must enter a faction-name!");
CreateFaction(playerid, factionname);
return 1;
}
stock CreateFaction(ownerid, name[])
{
new DBResult:result, Query[360];
new DBResult:count = db_query(Factions, "SELECT * FROM `FACTIONS`");
if(db_num_rows(count)) format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`ID`, `NAME`, `LOCKED`, `ACTIVE`, `MAXMEMBERS`, `MEMBERS`, `LEADER`, `HASLEADER`, `RANK1`, `RANK2`, `RANK3`, `RANK4`, `RANK5`) VALUES ('%d', '%s', '1', '1', '10', '1', '%s', '1', 'Trial Member', 'Member', 'Senior Member', 'Assistant', 'Leader')", db_num_rows(count)+1, DB_Escape(name), DB_Escape(GetName(ownerid)));
else if(!db_num_rows(count)) format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`ID`, `NAME`, `LOCKED`, `ACTIVE`, `MAXMEMBERS`, `MEMBERS`, `LEADER`, `HASLEADER`, `RANK1`, `RANK2`, `RANK3`, `RANK4`, `RANK5`) VALUES ('1', '%s', '1', '1', '10', '1', '%s', '1', 'Trial Member', 'Member', 'Senior Member', 'Assistant', 'Leader')", DB_Escape(name), DB_Escape(GetName(ownerid)));
result = db_query(Factions, Query);
if(result) SendClientMessage(ownerid, -1, "{64CC66}Faction successfully created!"), SendClientMessage(ownerid, -1, "{64CC66}You can use '/settings' to edit the faction info!");
else SendClientMessage(ownerid, -1, "{FC4949}Failed to create faction, contact server owner(s).");
db_free_result(result);
}
stock CreateFaction(ownerid, name[])
{
new DBResult:result, Query[360];
new DBResult:count = db_query(Factions, "SELECT * FROM `FACTIONS`");
if(db_num_rows(count)) format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`ID`, `NAME`, `LOCKED`, `ACTIVE`, `MAXMEMBERS`, `MEMBERS`, `LEADER`, `HASLEADER`, `RANK1`, `RANK2`, `RANK3`, `RANK4`, `RANK5`) VALUES ('%d', '%s', '1', '1', '10', '1', '%s', '1', 'Trial Member', 'Member', 'Senior Member', 'Assistant', 'Leader')", db_num_rows(count)+1, DB_Escape(name), DB_Escape(GetName(ownerid)));
else if(!db_num_rows(count)) format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`ID`, `NAME`, `LOCKED`, `ACTIVE`, `MAXMEMBERS`, `MEMBERS`, `LEADER`, `HASLEADER`, `RANK1`, `RANK2`, `RANK3`, `RANK4`, `RANK5`) VALUES ('1', '%s', '1', '1', '10', '1', '%s', '1', 'Trial Member', 'Member', 'Senior Member', 'Assistant', 'Leader')", DB_Escape(name), DB_Escape(GetName(ownerid)));
result = db_query(Factions, Query);
if(result) SendClientMessage(ownerid, -1, "{64CC66}Faction successfully created!"), SendClientMessage(ownerid, -1, "{64CC66}You can use '/settings' to edit the faction info!");
else SendClientMessage(ownerid, -1, "{FC4949}Failed to create faction, contact server owner(s).");
db_free_result(result);
}
Do you use PHPMyAdmin? If so, try to run the SQL code in the SQL tab thingy to see if the queries work.
|
Well, its hard for some people to understand. I think you have to see in this:
pawn Code:
|
stock CreateFaction(ownerid, const name[])
{
new Query[128];
format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`NAME`, `LEADER`) VALUES ('%s', '%s')", DB_Escape(name), DB_Escape(GetName(ownerid)));
db_query(Factions, Query);
SendClientMessage(ownerid, -1, "{64CC66}Faction successfully created!");
SendClientMessage(ownerid, -1, "{64CC66}You can use '/settings' to edit the faction info!");
}
CMD:createfaction(playerid, params[])
{
if(PlayerInfo[playerid][fID]) SendClientMessage(playerid, -1, "{FC4949}You're already in a faction!");
else if(isnull(params)) SendClientMessage(playerid, COLOR_NOTES, "You must enter a faction-name!");
else if(strlen(params) > 59) SendClientMessage(playerid, COLOR_NOTES, "Faction-name is too long!");
else CreateFaction(playerid, params);
return 1;
}
new str[525 char];
str = !"CREATE TABLE IF NOT EXISTS `FACTIONS` (\
`ID` INTEGER NOT NULL PRIMARY KEY,\
`NAME` VARCHAR(64),\
`LOCKED` SMALLINT(1) NOT NULL DEFAULT 1,\
`ACTIVE` SMALLINT(1) NOT NULL DEFAULT 1,\
`MAXMEMBERS` SMALLINT(2) NOT NULL DEFAULT 10,\
`MEMBERS` SMALLINT(2) NOT NULL DEFAULT 1,"
;
strcat(str,!"`LEADER` VARCHAR(25),\
`HASLEADER` SMALLINT(1) NOT NULL DEFAULT 1,\
`RANK1` VARCHAR(15) DEFAULT 'Trial Member',\
`RANK2` VARCHAR(15) DEFAULT 'Member',\
`RANK3` VARCHAR(15) DEFAULT 'Senior Member',\
`RANK4` VARCHAR(15) DEFAULT 'Assistant',\
`RANK5` VARCHAR(15) DEFAULT 'Leader')");
db_query(Factions, str);
pawn Code:
pawn Code:
pawn Code:
|
error 035: argument type mismatch (argument 1)
format(Query, sizeof(Query), "INSERT INTO `FACTIONS` (`NAME`, `LEADER`) VALUES ('%s', '%s')", DB_Escape(name), DB_Escape(GetName(ownerid)));