Label - iLearner - 23.09.2016
PHP код:
COMMAND:label(playerid, params[])
{
if (playerData[playerid][playerLoggedIn])
{
if(playerData[playerid][HasCustomLable] == false)
{
new value[25];
if(sscanf(params, "s", value))
{
return SendClientMessage(playerid, COLOR_WHITE, "{B7B7B7}[SERVER] {FFFF00}Usage: /lable TEXT [COST = 4000XP]");
}
else
{
if (playerData[playerid][playerXP] >= 4000)
{
if(strlen(value) < 16)
{
playerGiveXP(playerid, -4000);
playerData[playerid][CustomLabel] = Create3DTextLabel(value, 0xFFDC2EFF, 30.0, 40.0, 50.0, 60.0, -1, 1);
Attach3DTextLabelToPlayer(playerData[playerid][CustomLabel], playerid, 0.0, 0.0, 0.4);
playerData[playerid][HasCustomLable] = true;
SendClientMessage(playerid, COLOR_RED, "Label succesfully updated!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Label length must be inferior to 16!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You dont have enough xp to do that!");
}
}
}
else if(playerData[playerid][HasCustomLable] == true)
{
Delete3DTextLabel(playerData[playerid][CustomLabel]);
SendClientMessage(playerid, -1, "Lable has been removed!");
}
}
return 1;
}
no errors on compilation, but gives no answer on /label (or /label something) and when with the one i posted above /label triggers as player already has custom lable and tends to remove it
PHP код:
[16:50:27] Lable has been removed!
Re: Label -
Lynn - 23.09.2016
Try this.
You were calling an else statement for
Код:
if(sscanf(params, "s", value))
Instead of
Код:
if(playerData[playerid][HasCustomLable] == false)
This code should work out for you.
PHP код:
COMMAND:label(playerid, params[])
{
if (playerData[playerid][playerLoggedIn])
{
if(playerData[playerid][HasCustomLable] == false)
{
new value[25];
if(sscanf(params, "s", value)) return SendClientMessage(playerid, COLOR_WHITE, "{B7B7B7}[SERVER] {FFFF00}Usage: /lable TEXT [COST = 4000XP]");
if(playerData[playerid][HasCustomLable] == true)
{
Delete3DTextLabel(playerData[playerid][CustomLabel]);
SendClientMessage(playerid, -1, "Lable has been removed!");
}
else
{
if (playerData[playerid][playerXP] >= 4000)
{
if(strlen(value) < 16)
{
playerGiveXP(playerid, -4000);
playerData[playerid][CustomLabel] = Create3DTextLabel(value, 0xFFDC2EFF, 30.0, 40.0, 50.0, 60.0, -1, 1);
Attach3DTextLabelToPlayer(playerData[playerid][CustomLabel], playerid, 0.0, 0.0, 0.4);
playerData[playerid][HasCustomLable] = true;
SendClientMessage(playerid, COLOR_RED, "Label succesfully updated!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Label length must be inferior to 16!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You dont have enough xp to do that!");
}
}
}
}
return 1;
}
Re: Label - iLearner - 23.09.2016
I dont get it... you're putting HasCustomLable true into HasCustomLable False... ? i mean if the HasCustomLable value is true system is never going to enter into loop if
Re: Label - iLearner - 23.09.2016
ps: it doesnt work, server just doesnt answers... not even error message
Re: Label - iLearner - 24.09.2016
Bump
Re: Label -
Tass007 - 24.09.2016
Can I ask why you have "HasCustomLable" and then "CustomLabel" Not sure if you realize but you're spelling Label wrong in the first variable. May be your issue? I'll take a closer look soon.
Re: Label -
gurmani11 - 24.09.2016
Код:
COMMAND:label(playerid, params[])
{
if (playerData[playerid][playerLoggedIn])
{
if(playerData[playerid][HasCustomLable] == false)
{
new value[25];
// if(sscanf(params, "s", value))
if(sscanf(params, "s[25]", value))
{
return SendClientMessage(playerid, COLOR_WHITE, "{B7B7B7}[SERVER] {FFFF00}Usage: /lable TEXT [COST = 4000XP]");
}
else
{
if (playerData[playerid][playerXP] >= 4000)
{
if(strlen(value) < 16)
{
playerGiveXP(playerid, -4000);
playerData[playerid][CustomLabel] = Create3DTextLabel(value, 0xFFDC2EFF, 30.0, 40.0, 50.0, 60.0, -1, 1);
Attach3DTextLabelToPlayer(playerData[playerid][CustomLabel], playerid, 0.0, 0.0, 0.4);
playerData[playerid][HasCustomLable] = true;
SendClientMessage(playerid, COLOR_RED, "Label succesfully updated!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Label length must be inferior to 16!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You dont have enough xp to do that!");
}
}
}
else if(playerData[playerid][HasCustomLable] == true)
{
Delete3DTextLabel(playerData[playerid][CustomLabel]);
SendClientMessage(playerid, -1, "Lable has been removed!");
}
}
return 1;
}