Hey all, I'm making a convoy gamemode, but my script has some errors.. Here's a part of the script that made it error:Here are the errors:Код:new cmd[256], tmp[256], tmp2[256]; new idx; new string[256]; //cmd = strtok(cmdtext, idx); GetPlayerName (playerid, playername, sizeof(playername)); if (strcmp(cmd, "/register", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)"); } else { if(!dini_Exists(udb_encode(playername))) { dini_Create(udb_encode(playername)); dini_IntSet(udb_encode(playername), "password", udb_hash(tmp)); dini_IntSet(udb_encode(playername), "adminlevel", 0); dini_IntSet(udb_encode(playername), "money", 0); format(string, sizeof(string), "Your account is registered! You can now log in.", playername, tmp); SendClientMessage(playerid, COLOR_YELLOW, string); } else { format(string, sizeof(string), "is already registered.", playername,tmp); SendClientMessage(playerid, COLOR_RED, string); } return 1; } } if (strcmp(cmd, "/login", true) == 0) { if(logged[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "You are already logged in!"); } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Use: /login (password)"); } else { if(dini_Exists(udb_encode(playername))) { tmp2 = dini_Get(udb_encode(playername), "password"); if (udb_hash(tmp) != strval(tmp2)) { SendClientMessage(playerid, COLOR_RED, "Wrong password!"); } else { logged[playerid] = 1; money[playerid] = dini_Int(udb_encode(playername), "money"); adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel"); format(string, sizeof(string), "%s, you are now logged in. Your adminlevel is %d and you have %d dollar", playername, adminlevel[playerid], money[playerid]); SendClientMessage(playerid, COLOR_GREEN, string); GivePlayerMoney(playerid, money[playerid]); } } else { format(string, sizeof(string), "The account %s, doesn't exist yet. Type /register [password] to make an account", playername); SendClientMessage(playerid, COLOR_RED, string); } return 1; } } return 1; }
(103) : error 029: invalid expression, assumed zero
(103) : error 035: argument type mismatch (argument 2)
(103) : error 020: invalid symbol name ""
(103) : fatal error 107: too many error messages on one line
I have no idea what is wrong, but anyway, here is line 103:
I need help.. Please?Код:GetPlayerName (playerid, playername, sizeof(playername));
TIA,
Daniel
GetPlayerName(playerid, playername, sizeof(playername));
Originally Posted by Zimon95
Yes but you added a space that isn't required.
![]() |
new cmd[256], tmp[256], tmp2[256], idx, string[256], playername[24];
//cmd = strtok(cmdtext, idx);
GetPlayerName (playerid, playername, sizeof(playername));
if (strcmp(cmd, "/register", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)");
}
else
{
if(!dini_Exists(udb_encode(playername)))
{
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
dini_IntSet(udb_encode(playername), "adminlevel", 0);
dini_IntSet(udb_encode(playername), "money", 0);
format(string, sizeof(string), "Your account is registered! You can now log in.", playername, tmp);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
else
{
format(string, sizeof(string), "is already registered.", playername,tmp);
SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
}
if (strcmp(cmd, "/login", true) == 0)
{
if(logged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "You are already logged in!");
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_YELLOW, "Use: /login (password)");
}
else
{
if(dini_Exists(udb_encode(playername)))
{
tmp2 = dini_Get(udb_encode(playername), "password");
if (udb_hash(tmp) != strval(tmp2))
{
SendClientMessage(playerid, COLOR_RED, "Wrong password!");
}
else
{
logged[playerid] = 1;
money[playerid] = dini_Int(udb_encode(playername), "money");
adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
format(string, sizeof(string), "%s, you are now logged in. Your adminlevel is %d and you have %d dollar", playername, adminlevel[playerid], money[playerid]);
SendClientMessage(playerid, COLOR_GREEN, string);
GivePlayerMoney(playerid, money[playerid]);
}
}
else
{
format(string, sizeof(string), "The account %s, doesn't exist yet. Type /register [password] to make an account", playername);
SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
}
return 1;
}
new cmd[256], tmp[256], tmp2[256], idx, string[256], playername[24]; GetPlayerName(playerid, playername, sizeof(playername));
public OnPlayerDeath(playerid, killerid, reason) { new name[MAX_PLAYER_NAME+1]; new cmd[256], tmp[256], tmp2[256], idx, string[256], playername[24]; GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "*** %s died.", name); SendClientMessageToAll(COLOR_RED, string); return 1; }
public OnPlayerDeath(playerid, killerid, reason)
{
new string[128], pname2[24];
GetPlayerName(playerid, pname2, 24);
format(string, sizeof(string), "*** %s died.", pname2);
SendClientMessageToAll(COLOR_RED, string);
return 1;
}