Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- new Info[MAX_PLAYERS][2];
- new Text:tInfo[MAX_PLAYERS];
- public OnFilterScriptExit()
- {
- for(new i, j=GetMaxPlayers(); i<j; i++)if(IsPlayerConnected(i)){
- if(IsValidObject(Info[i][0]))DestroyObject(Info[i][0]);
- TextDrawDestroy(tInfo[i]);
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext, "/start", true)){
- new Float:P[3];
- GetPlayerPos(playerid, P[0], P[1], P[2]);
- Info[playerid][0] = CreateObject(18749, P[0]+5, P[1]+5, P[2], 0.0, 0.0, 0.0);
- Info[playerid][1] = SetTimerEx("MovingObject", 10, true, "i", playerid);
- tInfo[playerid] = TextDrawCreate(50.0, 430.0, "_");
- TextDrawShowForPlayer(playerid, tInfo[playerid]);
- return SendClientMessage(playerid, -1, "Start OK");
- }
- else if(!strcmp(cmdtext, "/stop", true)){
- KillTimer(Info[playerid][1]);
- DestroyObject(Info[playerid][0]);
- TextDrawDestroy(tInfo[playerid]);
- return SendClientMessage(playerid, -1, "Stop OK");
- }
- return 0;
- }
- forward MovingObject(playerid);
- public MovingObject(playerid)
- {
- new Float:pP[3];
- GetPlayerPos(playerid, pP[0], pP[1], pP[2]);
- if(!floatcmp(pP[0], 0.0) && !floatcmp(pP[1], 0.0))return 0;
- new Float:oP[3], Float:result[2], str[128];
- GetObjectPos(Info[playerid][0], oP[0], oP[1], oP[2]);
- result[0] = atan2((pP[1]-oP[1]), (pP[0]-oP[0])) + 270;
- result[1] = (result[0]>360) ? (result[0]-360) : (result[0]);
- GetObjectRot(Info[playerid][0], oP[0], oP[1], oP[2]);
- format(str, 128, "Angulo: %.4f - X: %.2f - Y: %.2f - resultO: %.4f", result[1], pP[0], pP[1], result[0]);
- TextDrawSetString(tInfo[playerid], str);
- return SetObjectRot(Info[playerid][0], oP[0], oP[1], result[1]);
- }
Advertisement
Add Comment
Please, Sign In to add comment