Help, one textdraw not showing.
#1

pawn Код:
#include <a_samp>
enum td
{
    Text:TDSpeedClock[10]
}

new TextDraws[td];
new Text:TextDrawsd[MAX_PLAYERS][4];
new DeActiveSpeedometer[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("Clock Speedometer load");
   
    TextDraws[TDSpeedClock][0] = TextDrawCreate(491.000000,393.000000,"~g~20");
    TextDraws[TDSpeedClock][1] = TextDrawCreate(487.000000,372.000000,"~g~40");
    TextDraws[TDSpeedClock][2] = TextDrawCreate(491.000000,351.000000,"~g~60");
    TextDraws[TDSpeedClock][3] = TextDrawCreate(524.000000,338.000000,"~g~80");
    TextDraws[TDSpeedClock][4] = TextDrawCreate(564.000000,341.000000,"~g~100");
    TextDraws[TDSpeedClock][5] = TextDrawCreate(594.000000,360.500000,"~g~120");
    TextDraws[TDSpeedClock][6] = TextDrawCreate(591.000000,383.000000,"~g~140");
    TextDraws[TDSpeedClock][7] = TextDrawCreate(578.000000,402.000000,"~g~160");
    TextDraws[TDSpeedClock][8] = TextDrawCreate(534.000000,396.000000,"~r~/ \\");
    TextDraws[TDSpeedClock][9] = TextDrawCreate(548.000000,401.000000,".");
    TextDrawLetterSize(TextDraws[TDSpeedClock][8], 1.059999, 2.100000);
    TextDrawLetterSize(TextDraws[TDSpeedClock][9], 0.73, -2.60);
    for(new i; i < 10; i++)
    {
        TextDrawSetShadow(TextDraws[TDSpeedClock][i], 1);
        TextDrawSetOutline(TextDraws[TDSpeedClock][i], 0);
    }

   
    return 1;
}

public OnFilterScriptExit()
{
    print("Clock Speedometer unload");
   
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext[1], "speedo", false) == 0)
    {
        new strOptionInfo[2][37]=
            {
                "You have turned on your speedometer",
                "You have turned off your speedometer"
            };
           
        DeActiveSpeedometer[playerid] = !DeActiveSpeedometer[playerid];
        SendClientMessage(playerid, 0x00AA00FF, strOptionInfo[DeActiveSpeedometer[playerid]]);
        if(!DeActiveSpeedometer[playerid])
        {
            for(new i; i < 10; i++)
                TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);

            for(new i; i < 4; i++)
                TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");
        }
        else
        {
            for(new i; i < 4; i++)
                //TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
                TextDrawDestroy(TextDrawsd[playerid][i]);
            for(new i; i < 10; i++)
                TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
        }
       
        return 1;
    }
   
    return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
    {
        for(new i; i < 10; i++)
            TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);
           
        for(new i; i < 4; i++)
            TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");

    }
    else
    {
        for(new i; i < 4; i++)
            //TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
            TextDrawDestroy(TextDrawsd[playerid][i]);
        for(new i; i < 10; i++)
            TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
    }
   
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new
        Float:fPos[3],
        Float:Pos[4][2],
        Float:fSpeed;
       
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
    {
        GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);

        fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
         floatpower(fPos[2], 2)) * 200;
        fSpeed = floatsqroot(fPos[0] * fPos[0] + fPos[1] * fPos[1] + fPos[2] * fPos[2]) * 200; // Looks just as good, just saved you 3 function calls,
       
        new Float:alpha = 320 - fSpeed;
        if(alpha < 60)
            alpha = 60;

        for(new i; i < 4; i++)
        {
            TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
            TextDrawDestroy(TextDrawsd[playerid][i]);
            GetDotXY(548, 401, Pos[i][0], Pos[i][1], alpha, (i + 1) * 8);
            TextDrawsd[playerid][i] = TextDrawCreate(Pos[i][0], Pos[i][1], "~b~.");
            TextDrawLetterSize(TextDrawsd[playerid][i], 0.73, -2.60);
            TextDrawSetOutline(TextDrawsd[playerid][i], 0);
            TextDrawSetShadow(TextDrawsd[playerid][i], 1);
            TextDrawShowForPlayer(playerid, TextDrawsd[playerid][i]);
        }
    }
   
   
    return 1;
}

stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
     NewX = StartPosX + (dist * floatsin(alpha, degrees));
     NewY = StartPosY + (dist * floatcos(alpha, degrees));
}
This textdraw not showing:
Код HTML:
TextDraws[TDSpeedClock][0] = TextDrawCreate(491.000000,393.000000,"~g~20");
Reply
#2

I think it should be like this:
pawn Код:
enum td
{
    Text:TDSpeedClock;
}

new TextDraws[td][10];
(I'm not sure)
Reply
#3

1 error and a lot of warnings.
Reply
#4

Please can someone fix it?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)