new PlayerText:playerweapon[MAX_PLAYERS]; new PlayerText:playerammo[MAX_PLAYERS]; public OnPlayerSpawn(playerid) { PlayerTextDrawShow(playerid,playerweapon[playerid]); PlayerTextDrawShow(playerid,playerammo[playerid]); } public OnPlayerDisconnect(playerid) { PlayerTextDrawHide(playerid,playerweapon[playerid]); PlayerTextDrawDestroy(playerid,playerweapon[playerid]); PlayerTextDrawHide(playerid,playerammo[playerid]); PlayerTextDrawDestroy(playerid,playerammo[playerid]); } stock CreatePlayerTD(playerid) // under onplayerconnect { playerweapon[playerid] = CreatePlayerTextDraw(playerid, 521.500000, 70.000000, "."); PlayerTextDrawLetterSize(playerid, playerweapon[playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, playerweapon[playerid], 1); PlayerTextDrawColor(playerid, playerweapon[playerid], -1); PlayerTextDrawSetShadow(playerid, playerweapon[playerid], 0); PlayerTextDrawSetOutline(playerid, playerweapon[playerid], 1); PlayerTextDrawFont(playerid, playerweapon[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW); PlayerTextDrawSetPreviewModel(playerid, playerweapon[playerid], 325135); playerammo[playerid] = CreatePlayerTextDraw(playerid, 564.500000, 72.916648, "Ammo: 0"); PlayerTextDrawLetterSize(playerid, playerammo[playerid], 0.287000, 1.430833); PlayerTextDrawAlignment(playerid, playerammo[playerid], 1); PlayerTextDrawColor(playerid, playerammo[playerid], -1); PlayerTextDrawSetShadow(playerid, playerammo[playerid], 0); PlayerTextDrawSetOutline(playerid, playerammo[playerid], 1); PlayerTextDrawBackgroundColor(playerid, playerammo[playerid], 255); PlayerTextDrawFont(playerid, playerammo[playerid], 1); PlayerTextDrawSetProportional(playerid, playerammo[playerid], 1); } timer OnUpdatePlayer[1000]() { foreach(Player,i) { new weaponid = GetPlayerWeapon(i); PlayerTextDrawSetPreviewModel(i, playerweapon[i], GetWeaponModel(weaponid)); } return 1; } stock GetWeaponModel(weaponid) { switch(weaponid) { case 1: return 331; case 2..8: return weaponid+331; case 9: return 341; case 10..15: return weaponid+311; case 16..18: return weaponid+326; case 22..29: return weaponid+324; case 30,31: return weaponid+325; case 32: return 372; case 33..45: return weaponid+324; case 46: return 371; } return 0; }
PlayerTextDrawSetPreviewModel(i, playerweapon[i], GetWeaponModel(weaponid));
PlayerTextDrawShow(i, playerweapon[i]);
GetWeaponModel( GetPlayerWeapon(i) )
Before anything, use printf and make sure GetWeaponModel returns the correct value. Then, try doing something like this:
PHP код:
PD: you might avoid initialing a new variable (weaponid) doing this: PHP код:
|
playerweapon[playerid] = CreatePlayerTextDraw(playerid, 521.500000, 70.000000, "_"); PlayerTextDrawLetterSize(playerid, playerweapon[playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, playerweapon[playerid], 1); PlayerTextDrawColor(playerid, playerweapon[playerid], -1); PlayerTextDrawSetShadow(playerid, playerweapon[playerid], 0); PlayerTextDrawSetOutline(playerid, playerweapon[playerid], 1); PlayerTextDrawFont(playerid, playerweapon[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW); PlayerTextDrawSetPreviewModel(playerid, playerweapon[playerid], 325135);
Originally Posted by SA-MP Wiki
Using font type 4 (sprite) and 5 (model preview) converts X and Y of this function from corner coordinates to WIDTH and HEIGHT (offsets).
|