Won't create a player marker or put phone away. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Won't create a player marker or put phone away. (
/showthread.php?tid=609208)
Won't create a player marker or put phone away. -
Dokins - 09.06.2016
pawn Код:
if(number == 111)
{
format(string, sizeof(string), "* %s takes out their cellphone, pressing a few numbers *", GetNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
SetPlayerAttachedObject(playerid, 0, 330 , 6);
BeingCalled[playerid] = 1;
SendClientMessage(playerid, COLOUR_GREY, "Connecting......");
new am;
foreach(Player, i)
{
if(TaxiDuty[i] == 1)
{
am ++;
}
}
if(am == 0)
{
SendClientMessage(playerid, COLOUR_WHITE, "'I'm really sorry, there are no taxis available at the moment.'");
BeingCalled[playerid] = -1;
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 0);
ClearAnimations(playerid);
}
if(am > 0)
{
SendClientMessage(playerid, COLOUR_YELLOW, "'A taxi has been dispatched to your location, thank you for calling!'");
BeingCalled[playerid] = -1;
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 0);
ClearAnimations(playerid);
foreach(Player, i)
{
if(TaxiDuty[i] == 1)
{
new zone[MAX_ZONE_NAME];
GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
format(string, sizeof(string), "%s is requesting a taxi at %s, please make your way to their location.", GetNameEx(playerid), zone);
SendClientMessage(i, COLOUR_YELLOW, string);
SetPlayerMarkerForPlayer(playerid, i, COLOUR_YELLOW);
}
}
}
}
It delivers the client message but doesn't set the player marker for the player, it also doesn't stop the cellphone being shown, it gets the correct location.
Re: Won't create a player marker or put phone away. -
StaticYey - 10.06.2016
I assume SetPlayerMarkerForPlayer needs the player markers to be active to work. If you don't have them, then it's probably not going to anything. I guess what you need is a checkpoint at your callers location.
More info here:
https://sampwiki.blast.hk/wiki/SetPlayerCheckpoint
Re: Won't create a player marker or put phone away. -
Dokins - 10.06.2016
I've already done that.
Re: Won't create a player marker or put phone away. -
Vince - 10.06.2016
You have the parameters in the wrong order. SetPlayerMarkerForPlayer is kind of confusing, but refer to the wiki for explanation.
Some smaller improvements: get the player's zone and format it the message
before the loop starts instead of within. The message is going to be the same for everyone that receives it so it makes no sense doing it over and over again. Also create a function "StopUsingCellphone" or something. I imagine you have these exact four lines:
PHP код:
BeingCalled[playerid] = -1;
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 0);
ClearAnimations(playerid);
All over the place. Move them to a function to clean up the code.