Deleting Character and Creating Character dialog. -
AMouldyLemon - 22.06.2014
pawn Код:
case DIALOG_MAIN_MENU_CHARACTER_DELETE:
{
if(response)
{
if(strlen(inputtext) >= 1)
{
if(CharacterExists(mysql_real_escape_string(inputtext, InsertPlayerUnderscoreString))) //2457
{
new escapedstring[50];
mysql_real_escape_string(InsertPlayerUnderscoreString(inputtext), escapedstring);
if(PlayerOwnsCharacter_Name(playerid, escapedstring)); //2461
{
new query[128];
format(query, sizeof(query), "DELETE FROM `Character` WHERE `cName` = '%s'", (InsertPlayerUnderscoreString(inputtext)); //(InsertPlayerUnderscoreString(inputtext) //2464
format(query, sizeof(query), "[I:] You have successfully deleted character: %s.", inputtext);
SendClientMessage(playerid, COLOR_YELLOW, query);
ShowMenuDialog(playerid);
}
else //2470
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CHARACTER_DELETE,DIALOG_STYLE_INPUT,"Master Account - Delete Character","What is the name of the character you wish to delete?\nYou will not be able to recover it after it has been deleted!\n(Firstname Lastname format)","Delete","Go Back");
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CHARACTER_DELETE,DIALOG_STYLE_INPUT,"Master Account - Delete Character","What is the name of the character you wish to delete?\nYou will not be able to recover it after it has been deleted!\n(Firstname Lastname format)","Delete","Go Back");
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CHARACTER_DELETE,DIALOG_STYLE_INPUT,"Master Account - Delete Character","What is the name of the character you wish to delete?\nYou will not be able to recover it after it has been deleted!\n(Firstname Lastname format)","Delete","Go Back");
}
}
else
{
ShowPlayerDialog(playerid, DIALOG_MAIN_MENU_OPTIONS, DIALOG_STYLE_LIST, "Main Menu - Options", "Create New Character\nDelete Character\nChange Password\nDisconnect", "Continue", "Go Back");
}
}
case DIALOG_MAIN_MENU_CREATE_CHARACTER_NAME:
{
new firstname[MAX_PLAYER_NAME], lastname[MAX_PLAYER_NAME];
if(response)
{
if(strlen(inputtext) >= 1 && strlen(inputtext) <= MAX_PLAYER_NAME)
{
if(!CharacterExists(InsertPlayerUnderscoreString(inputtext)))
{
if(RPName(InsertPlayerUnderscoreString(inputtext), firstname, lastname))
{
SetPVarString(playerid,"TEMP_C_NAME",InsertPlayerUnderscoreString(sqlite_escape_string(inputtext))); //2501
}
else
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CREATE_CHARACTER_NAME,DIALOG_STYLE_INPUT,"Master Account - New Character","The character name you entered is not a valid roleplay name.\n(Firstname Lastname format).","Continue","Go Back");
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CREATE_CHARACTER_NAME,DIALOG_STYLE_INPUT,"Master Account - New Character","A character with that name is already registered, please choose another name.\n(Firstname Lastname format).","Continue","Go Back");
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_MAIN_MENU_CREATE_CHARACTER_NAME,DIALOG_STYLE_INPUT,"Master Account - New Character","What do you want your character to be called?\n(Firstname Lastname format).","Continue","Go Back");
}
CreateCharacter(playerid, //2517
GetPVarStringEx(playerid, "TEMP_C_NAME"),
CivilianSpawn[Float:CivX], //2519
CivilianSpawn[Float:CivY],
CivilianSpawn[Float:CivZ],
CivilianSpawn[World],
CivilianSpawn[Interior],
CivilianSpawn[Angle],
Settings[sDEFAULT_P_CASH],
Settings[sDEFAULT_P_BANK],
Settings[sDEFAULT_P_SKIN]);
DeletePVar(playerid, "TEMP_C_NAME");
ShowMenuDialog(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_MAIN_MENU_CREATE_CHARACTER_NAME, DIALOG_STYLE_LIST, "Master Account - New Character","What do you want your character to be called?\n(Firstname Lastname format).","Continue","Go Back");
} // Go back.
}
}
return 1;
}
pawn Код:
(2457) : error 076: syntax error in the expression, or invalid function call
(2461) : error 036: empty statement
(2464) : error 001: expected token: ",", but found ";"
(2467) : error 017: undefined symbol "COLOR_YELLOW"
(2470) : error 029: invalid expression, assumed zero
(2501) : error 017: undefined symbol "sqlite_escape_string"
(2517 -- 2519) : error 017: undefined symbol "CivilianSpawn"
(2519) : warning 221: label name "Float" shadows tag name
(2519) : error 017: undefined symbol "CivX"
(2519) : error 029: invalid expression, assumed zero
(2519) : fatal error 107: too many error messages on one line
I need it in mysql with cacheing, I've tried but can't spot where the error is, or what callback/function to use.
Help is much appreciated!
Re: Deleting Character and Creating Character dialog. -
AMouldyLemon - 23.06.2014
bump
Re: Deleting Character and Creating Character dialog. -
Laurey - 23.06.2014
First of all, i should say i am a 0 at mysql for that expect help from others, but for others like undefined symbol issue, you havent defined the color yellow in your script or you have done a spelling mistake, define it or change the color name to those thats defined. Define the float by adding it in your script like new Float:CivX and so on. ( PS Dont use new again and again , once is enough. ) Also show the error lines please.
Re: Deleting Character and Creating Character dialog. -
Konstantinos - 23.06.2014
In line 2461, remove the semicolon at the end of it:
pawn Код:
if(PlayerOwnsCharacter_Name(playerid, escapedstring)) //2461
In line 2464, remove the opened parenthesis from the arguments:
pawn Код:
format(query, sizeof(query), "DELETE FROM `Character` WHERE `cName` = '%s'", InsertPlayerUnderscoreString(inputtext)); //(InsertPlayerUnderscoreString(inputtext) //2464
Define the colour, not so hard to think of it:
pawn Код:
#define COLOR_YELLOW 0xFFFF00FF
sqlite_escape_string is a custom one, use mysql_format with '%e' placeholder to escape special characters.
The array CivilianSpawn is not defined, so declare it with its enum too.
Re: Deleting Character and Creating Character dialog. -
AMouldyLemon - 23.06.2014
Thanks for the post, it worked but I can't get this fixed.
pawn Код:
if(CharacterExists(inputtext, InsertPlayerUnderscoreString))
pawn Код:
(2458) : error 076: syntax error in the expression, or invalid function call
Re: Deleting Character and Creating Character dialog. -
Konstantinos - 23.06.2014
Is
CharacterExists a function?
Re: Deleting Character and Creating Character dialog. -
AMouldyLemon - 23.06.2014
Yes.
pawn Код:
forward CharacterExists(charactername[]);
public CharacterExists(charactername[])
{
new query[128];
format(query, sizeof(query), "SELECT * FROM `Character` WHERE ( `name` = '%s' )", charactername);
if(cache_num_rows() >= 1)
{
return true;
}
return false;
}
Any ideas?
Re: Deleting Character and Creating Character dialog. -
Konstantinos - 23.06.2014
In that function, there is 1 parameter and in the if statement, you used 2.
Except that, you call cache_num_rows function without having the query executed before.
Re: Deleting Character and Creating Character dialog. -
AMouldyLemon - 23.06.2014
I added
Under
pawn Код:
new query[128];
format(query, sizeof(query), "SELECT * FROM `Character` WHERE ( `name` = '%s' )", charactername);
Re: Deleting Character and Creating Character dialog. -
AMouldyLemon - 23.06.2014
How do I set the player's spawn to a defined SpawnPoint. Example:
pawn Код:
if(Character[playerid][SpawnPoint] == 1) //North Caravan Park
{
TogglePlayerSpectating(playerid, false);
if(Character[playerid][ClothesUsed] == 1)
{
SetSpawnInfo(playerid, 0, Character[playerid][Clothes1], 765.9069,361.9311,20.8550,174.3097, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
if(Character[playerid][Faction] == 1)
{
SetPlayerArmour(playerid, 100);
}
if(Character[playerid][Faction] == 2)
{
GivePlayerWeapon(playerid, 42, 99999);
}
SetPlayerArmedWeapon(playerid, 0);
}
else if(Character[playerid][ClothesUsed] == 2)
{
SetSpawnInfo(playerid, 0, Character[playerid][Clothes2], 765.9069,361.9311,20.8550,174.3097, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
if(Character[playerid][Faction] == 1)
{
SetPlayerArmour(playerid, 100);
}
if(Character[playerid][Faction] == 2)
{
GivePlayerWeapon(playerid, 42, 99999);
}
SetPlayerArmedWeapon(playerid, 0);
}
else if(Character[playerid][ClothesUsed] == 3)
{
SetSpawnInfo(playerid, 0, Character[playerid][Clothes3], 765.9069,361.9311,20.8550,174.3097, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
if(Character[playerid][Faction] == 1)
{
SetPlayerArmour(playerid, 100);
}
if(Character[playerid][Faction] == 2)
{
GivePlayerWeapon(playerid, 42, 99999);
}
if(Character[playerid][Faction] == 3)
{
GivePlayerWeapon(playerid, 43, 20);
}
SetPlayerArmedWeapon(playerid, 0);
}
}
I tried :
pawn Код:
SetSpawnInfo(playerid, 0, Character[playerid][Clothes1], Character[playerid][SpawnPoint] == 4, 0, 0, 0, 0, 0, 0);