Player id problem -
KayJ - 29.09.2018
PHP код:
CMD:givecash(playerid, params[])
{
new targetid, amount, name[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME], string[128], string1[128];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(targetid, tname, sizeof(tname));
if (sscanf(params, "ud", targetid, amount)) SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
else if(!IsPlayerConnected(targetid) || targetid == playerid) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
else if (amount > GetPlayerMoney(playerid)) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
else if (amount > 100000) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You can't send more than $100,000 at once!");
else if (amount < 1) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between 1 to 100,000.");
else
{
GivePlayerMoney(targetid, amount);
GivePlayerMoney(playerid, -amount);
format(string, sizeof(string), "~g~+%d$", amount);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", name, playerid, amount);
SendClientMessage(targetid, -1, string);
format(string, sizeof(string), "~r~-%d$", amount);
GameTextForPlayer(playerid, string, 3000, 1);
format(string1, sizeof(string1), "- {FFF2E7}You've sent '%d$' to %s(%d)", amount, tname, targetid);
SendClientMessage(playerid, -1, string1);
}
return 1;
}
Log (from ID 1):
- You've sent Peyote (0) 1$.
- Peyote (0) has sent you 100$.
Log (from ID 0):
- Airmesh(1) has sent you 1$.
- You've sent Peyote(1) 1$.
ID is showing correctly but name is having problems from ID 0.
Re: Player id problem -
Calisthenics - 29.09.2018
First you need to use sscanf, verify the targetid is connected and
then get the name.
If you get the name before the sscanf line, targetid is 0 by default.
Re: Player id problem -
TheToretto - 29.09.2018
Try using a stock for getting the player's name, useful for further scripts
PHP код:
stock ReturnName(playerid)
{
new string[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
return string;
}
Then you can simply ReturnName(playerid) || ReturnName(targetid)
Re: Player id problem -
Undef1ned - 29.09.2018
PHP код:
CMD:givecash(playerid, params[])
{
if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
if(!IsPlayerConnected(params[0]) || playerid == params[0]) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
if(params[1] > 100000 || params[1] <= 0) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between $1 to $100,000.");
if(params[1] > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
GivePlayerMoney(playerid, -params[1]);
GivePlayerMoney(params[0], params[1]);
new string[145];
format(string, sizeof(string), "~g~+%d$", params[1]);
GameTextForPlayer(params[0], string, 3000, 1);
format(string, sizeof(string), "~r~-%d$", params[1]);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", GetName(playerid), playerid, params[1]); SendClientMessage(params[0], -1, string);
format(string, sizeof(string), "- {FFF2E7}You've sent '%d$' to %s(%d)", params[1], GetName(params[0]), params[0]); SendClientMessage(playerid, -1, string);
return 1;
}
stock GetName(playerid)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
return playername;
}
Re: Player id problem -
CaptainBoi - 29.09.2018
PHP код:
GetPlayerNameEx(playerid)
{
new pname[25];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}
CMD:givecash(playerid, params[])
{
new targetid, amount, string[128];
if (sscanf(params, "ud", targetid, amount)) SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
if(!IsPlayerConnected(targetid) || targetid == playerid) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
if (amount > GetPlayerMoney(playerid)) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
if (amount < 1 && amount > 100000) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between 1 to 100,000.");
GivePlayerMoney(targetid, amount);
GivePlayerMoney(playerid, -amount);
format(string, sizeof(string), "~g~+%d$", amount);
GameTextForPlayer(targetid, string, 3000, 1);
format(string, sizeof(string), "~r~-%d$", amount);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", GetPlayerNameEx(playerid), playerid, amount);
SendClientMessage(targetid, -1, string);
format(string, sizeof(string), "- {FFF2E7}You've sent '%d$' to %s(%d)", amount, GetPlayerNameEx(targetid), targetid);
SendClientMessage(playerid, -1, string);
return 1;
}
Re: Player id problem -
Undef1ned - 29.09.2018
Quote:
Originally Posted by CaptainBoi
PHP код:
GetPlayerNameEx(playerid)
{
new pname[25];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}
CMD:givecash(playerid, params[])
{
new targetid, amount, string[128];
if (sscanf(params, "ud", targetid, amount)) SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
if(!IsPlayerConnected(targetid) || targetid == playerid) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
if (amount > GetPlayerMoney(playerid)) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
if (amount < 1 && amount > 100000) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between 1 to 100,000.");
GivePlayerMoney(targetid, amount);
GivePlayerMoney(playerid, -amount);
format(string, sizeof(string), "~g~+%d$", amount);
GameTextForPlayer(targetid, string, 3000, 1);
format(string, sizeof(string), "~r~-%d$", amount);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", GetPlayerNameEx(playerid), playerid, amount);
SendClientMessage(targetid, -1, string);
format(string, sizeof(string), "- {FFF2E7}You've sent '%d$' to %s(%d)", amount, GetPlayerNameEx(targetid), targetid);
SendClientMessage(playerid, -1, string);
return 1;
}
|
Why copy something I've done before? If it is already solved, you do not need to respond simply for wanting to attract attention.
Re: Player id problem -
solstice_ - 29.09.2018
Quote:
Originally Posted by Undef1ned
PHP код:
CMD:givecash(playerid, params[])
{
if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
if(!IsPlayerConnected(params[0]) || playerid == params[0]) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
if(params[1] > 100000 || params[1] <= 0) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between $1 to $100,000.");
if(params[1] > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
GivePlayerMoney(playerid, -params[1]);
GivePlayerMoney(params[0], params[1]);
new string[145];
format(string, sizeof(string), "~g~+%d$", params[1]);
GameTextForPlayer(params[0], string, 3000, 1);
format(string, sizeof(string), "~r~-%d$", params[1]);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", GetName(playerid), playerid, params[1]); SendClientMessage(params[0], -1, string);
format(string, sizeof(string), "- {FFF2E7}You've sent '%d$' to %s(%d)", params[1], GetName(params[0]), params[0]); SendClientMessage(playerid, -1, string);
return 1;
}
stock GetName(playerid)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
return playername;
}
|
Spoonfeeding!
Quote:
Originally Posted by CaptainBoi
PHP код:
GetPlayerNameEx(playerid)
{
new pname[25];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}
CMD:givecash(playerid, params[])
{
new targetid, amount, string[128];
if (sscanf(params, "ud", targetid, amount)) SendClientMessage(playerid, -1, "SERVER(S): /givecash <playerid/name> <amount>");
if(!IsPlayerConnected(targetid) || targetid == playerid) return SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Target ID is offline/yourself.");
if (amount > GetPlayerMoney(playerid)) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: You don't have enough money to send.");
if (amount < 1 && amount > 100000) SendClientMessage(playerid, -1, "SERVER{ff0000}(E){FFFFFF}: Your amount value should be between 1 to 100,000.");
GivePlayerMoney(targetid, amount);
GivePlayerMoney(playerid, -amount);
format(string, sizeof(string), "~g~+%d$", amount);
GameTextForPlayer(targetid, string, 3000, 1);
format(string, sizeof(string), "~r~-%d$", amount);
GameTextForPlayer(playerid, string, 3000, 1);
format(string, sizeof(string), "- {FFF2E7}%s(%d) has sent you '%d$'.", GetPlayerNameEx(playerid), playerid, amount);
SendClientMessage(targetid, -1, string);
format(string, sizeof(string), "- {FFF2E7}You've sent '%d$' to %s(%d)", amount, GetPlayerNameEx(targetid), targetid);
SendClientMessage(playerid, -1, string);
return 1;
}
|
Spoonfeeding!
Quote:
Originally Posted by Undef1ned
Why copy something I've done before? If it is already solved, you do not need to respond simply for wanting to attract attention.
|
Still, spoon feeding!
Re: Player id problem -
J0sh... - 29.09.2018
Quote:
Originally Posted by TheToretto
Try using a stock for getting the player's name, useful for further scripts
PHP код:
stock ReturnName(playerid)
{
new string[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
return string;
}
Then you can simply ReturnName(playerid) || ReturnName(targetid)
|
Never suggest that again.
Re: Player id problem -
TheToretto - 29.09.2018
Quote:
Originally Posted by J0sh...
Never suggest that again.
|
Why shouldn't I?
Re: Player id problem -
solstice_ - 29.09.2018
Quote:
Originally Posted by TheToretto
Why shouldn't I?
|
https://sampforum.blast.hk/showthread.php?tid=570635