PDA

View Full Version : /adv command help!


Panormitis
05/10/2011, 10:23 AM
Hello guys, i want to make a command that when someone is in RangeOfPoint that i will set, when he type /adv [message] ,a message <<[ADVERT] themessagehere>> will apear to all players and 70$ will removed from the player, How to do this?? :/

Pharrel
05/10/2011, 10:28 AM
CMD:adv(playerid, params[])
{
if(!strlen(params[0])) return SendClientMessage(playerid, -1, "Use /adv [message");
if(IsPlayerInRangeOfPoint(playerid, RANGE, posX, posY, posZ))
{
SendClientMessageToAll(-1, params[0]);
GivePlayerMoney(playerid, -70);
return 1;
}
else return SendClientMessage(playerid, -1, "You arent in the spot to use this command!");
}

Panormitis
05/10/2011, 10:30 AM
CMD:adv(playerid, params[])
{
if(!strlen(params[0])) return SendClientMessage(playerid, -1, "Use /adv [message");
if(IsPlayerInRangeOfPoint(playerid, RANGE, posX, posY, posZ))
{
SendClientMessageToAll(-1, params[0]);
GivePlayerMoney(playerid, -70);
return 1;
}
else return SendClientMessage(playerid, -1, "You arent in the spot to use this command!");
}


Can you Please give it ine default code? :/

aRoach
05/10/2011, 10:30 AM
CMD:adv(playerid, params[])
{
if(!strlen(params[0])) return SendClientMessage(playerid, -1, "Use /adv [message");
if(!IsPlayerInRangeOfPoint(playerid, RANGE, posX, posY, posZ)) return SendClientMessage(playerid, -1, "You arent in the spot to use this command!");
if(GetPlayerMoney(playerid) < 70) return SendClientMessage(playerid, -1, "You don't have enough money !");

SendClientMessageToAll(-1, params[0]);
GivePlayerMoney(playerid, -70);
return 1;
}


You want with STRCMP ?

Panormitis
05/10/2011, 10:32 AM
CMD:adv(playerid, params[])
{
if(!strlen(params[0])) return SendClientMessage(playerid, -1, "Use /adv [message");
if(!IsPlayerInRangeOfPoint(playerid, RANGE, posX, posY, posZ)) return SendClientMessage(playerid, -1, "You arent in the spot to use this command!");
if(GetPlayerMoney(playerid) < 70) return SendClientMessage(playerid, -1, "You don't have enough money !");

SendClientMessageToAll(-1, params[0]);
GivePlayerMoney(playerid, -70);
return 1;
}


You want with STRCMP ?

Yes please!

Panormitis
05/10/2011, 10:44 AM
Yes please!

Please Any help? :/

aRoach
05/10/2011, 10:56 AM
Add this at OnPlayerCommandText:
new tmp[ 128 ], cmd[128], idx;
cmd = strtok( cmdtext, idx );

The Command:
if( !strcmp( cmd, "/adv" ) )
{
new str[ 256 char ];
tmp = strtok( cmdtext, idx );
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Use /adv [message");
if(!IsPlayerInRangeOfPoint(playerid, RANGE, posX, posY, posZ)) return SendClientMessage(playerid, -1, "You arent in the spot to use this command!");
if(GetPlayerMoney(playerid) < 70) return SendClientMessage(playerid, -1, "You don't have enough money !");

format( str, sizeof str, "<<[ADVERT] %s>>", tmp );
SendClientMessageToAll(-1, params[0]);
GivePlayerMoney(playerid, -70);
return 1;
}

And this is the Function:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

Jack_Leslie
05/10/2011, 10:56 AM
Just use cmd...