PDA

View Full Version : [Help] TextDraws


Galletziz
16/04/2014, 03:35 PM
Hi, i have make this function for the selection of classes for an DM Server:



new Text:crediti;
new Text:crediti1;
new Text:selezioneg;
new Text:selezioneb;
new Text:selezionev;
new Text:selezionel;
new Text:selezioneweapg;
new Text:selezioneweapb;
new Text:selezioneweapv;
new Text:selezioneweapl;

forward creditilog(playerid);
public creditilog(playerid)
{
crediti = TextDrawCreate(190, 10, " Credits.");
TextDrawFont(crediti, 3);
TextDrawLetterSize(crediti, 0.8, 1.5);
TextDrawColor(crediti, 0xFFFFFFFF);
TextDrawSetProportional(crediti, true);
TextDrawUseBox(crediti, true);
TextDrawBoxColor(crediti, 0xFF4500AA);
TextDrawTextSize(crediti, 450, 300);

TextDrawShowForPlayer(playerid,crediti);
return 1;
}

forward crediti1log(playerid);
public crediti1log(playerid)
{
crediti1 = TextDrawCreate(190, 30, " The Locos Crew. Mapped by Bustz. Scripted by Bustz.");
TextDrawFont(crediti1, 3);
TextDrawLetterSize(crediti1, 0.8, 1.5);
TextDrawColor(crediti1, 0xFFFFFFFF);
TextDrawSetProportional(crediti1, true);
TextDrawUseBox(crediti1, true);
TextDrawBoxColor(crediti1, 0x000000AA);
TextDrawTextSize(crediti1, 450, 300);

TextDrawShowForPlayer(playerid,crediti1);
return 1;
}

forward selezioneteam(playerid,classid);
public selezioneteam(playerid,classid)
{
if(classid == 0 || classid == 1 || classid == 2)
{
TextDrawDestroy(selezionel);
TextDrawDestroy(selezioneb);

SetPlayerPos(playerid, 2495.3, -1690, 14.8);
SetPlayerFacingAngle(playerid,0.003);
SetPlayerCameraPos(playerid, 2495.2, -1684.7, 13.5);
SetPlayerCameraLookAt(playerid, 2495.3, -1690, 14.8);
SetPlayerTeam(playerid,GROVE_TEAM);

selezioneg = TextDrawCreate(190, 330, " Grove.");
TextDrawFont(selezioneg, 3);
TextDrawLetterSize(selezioneg, 0.8, 1.5);
TextDrawColor(selezioneg, 0xFFFFFFFF);
TextDrawSetProportional(selezioneg, true);
TextDrawUseBox(selezioneg, true);
TextDrawBoxColor(selezioneg, 0x008800AA);
TextDrawTextSize(selezioneg, 450, 400);

selezioneweapg = TextDrawCreate(190, 348, " Deagle Shotgun Chainsaw Silencer MP5 Golf 9mm AK47 Bat");
TextDrawFont(selezioneweapg, 3);
TextDrawLetterSize(selezioneweapg, 0.5, 1.5);
TextDrawColor(selezioneweapg, 0xFFFFFFFF);
TextDrawSetProportional(selezioneweapg, true);
TextDrawUseBox(selezioneweapg, true);
TextDrawBoxColor(selezioneweapg, 0x000000AA);
TextDrawTextSize(selezioneweapg, 450, 400);

TextDrawShowForPlayer(playerid,selezioneweapg);
TextDrawShowForPlayer(playerid,selezioneg);

return 1;
}
else if(classid == 3 || classid == 4 || classid == 5)
{
TextDrawDestroy(selezioneg);
TextDrawDestroy(selezionev);

SetPlayerPos(playerid, 2166.8, -1672.1, 15.1);
SetPlayerFacingAngle(playerid,226.001);
SetPlayerCameraPos(playerid, 2171.8, -1677.4, 15.1);
SetPlayerCameraLookAt(playerid, 2166.8, -1672.1, 15.1);
SetPlayerTeam(playerid,BALLAS_TEAM);

selezioneb = TextDrawCreate(190, 330, " Ballas.");
TextDrawFont(selezioneb, 3);
TextDrawLetterSize(selezioneb, 0.8, 1.5);
TextDrawColor(selezioneb, 0xFFFFFFFF);
TextDrawSetProportional(selezioneb, true);
TextDrawUseBox(selezioneb, true);
TextDrawBoxColor(selezioneb, 0x800080AA);
TextDrawTextSize(selezioneb, 450, 400);

selezioneweapb = TextDrawCreate(190, 348, " Deagle Shotgun Chainsaw Silencer MP5 Golf 9mm AK47 Bat");
TextDrawFont(selezioneweapb, 3);
TextDrawLetterSize(selezioneweapb, 0.5, 1.5);
TextDrawColor(selezioneweapb, 0xFFFFFFFF);
TextDrawSetProportional(selezioneweapb, true);
TextDrawUseBox(selezioneweapb, true);
TextDrawBoxColor(selezioneweapb, 0x000000AA);
TextDrawTextSize(selezioneweapb, 450, 400);

TextDrawShowForPlayer(playerid,selezioneweapb);
TextDrawShowForPlayer(playerid,selezioneb);

return 1;
}

else if(classid == 6 || classid == 7 || classid == 8)
{

TextDrawDestroy(selezioneb);
TextDrawDestroy(selezionel);

SetPlayerPos(playerid, 2288.2, -1104.4, 38.7);
SetPlayerFacingAngle(playerid,170.002);
SetPlayerCameraPos(playerid, 2287.3, -1109.3, 38);
SetPlayerCameraLookAt(playerid, 2288.2, -1104.4, 38.7);
SetPlayerTeam(playerid,VAGOS_TEAM);

selezionev = TextDrawCreate(190, 330, " Vagos.");
TextDrawFont(selezionev, 3);
TextDrawLetterSize(selezionev, 0.8, 1.5);
TextDrawColor(selezionev, 0xFFFFFFFF);
TextDrawSetProportional(selezionev, true);
TextDrawUseBox(selezionev, true);
TextDrawBoxColor(selezionev, 0xFFFF00AA);
TextDrawTextSize(selezionev, 450, 400);

selezioneweapv = TextDrawCreate(190, 348, " Deagle Shotgun Chainsaw Silencer MP5 Golf 9mm AK47 Bat");
TextDrawFont(selezioneweapv, 3);
TextDrawLetterSize(selezioneweapv, 0.5, 1.5);
TextDrawColor(selezioneweapv, 0xFFFFFFFF);
TextDrawSetProportional(selezioneweapv, true);
TextDrawUseBox(selezioneweapv, true);
TextDrawBoxColor(selezioneweapv, 0x000000AA);
TextDrawTextSize(selezioneweapv, 450, 400);

TextDrawShowForPlayer(playerid,selezioneweapv);
TextDrawShowForPlayer(playerid,selezionev);

return 1;
}
else
{
if(classid == 9 || classid == 10 || classid == 11)
{
TextDrawDestroy(selezionev);
TextDrawDestroy(selezioneg);

SetPlayerPos(playerid, 1674.1, -2122.1, 14.1);
SetPlayerFacingAngle(playerid,316.002);
SetPlayerCameraPos(playerid, 1676.8, -2119.2, 13.5);
SetPlayerCameraLookAt(playerid, 1674.1, -2122.1, 14.1);
SetPlayerTeam(playerid,LOCOTES_TEAM);

selezionel = TextDrawCreate(190, 330, " Locotes.");
TextDrawFont(selezionel, 3);
TextDrawLetterSize(selezionel, 0.8, 1.5);
TextDrawColor(selezionel, 0xFFFFFFFF);
TextDrawSetProportional(selezionel, true);
TextDrawUseBox(selezionel, true);
TextDrawBoxColor(selezionel, 0x00FFFFAA);
TextDrawTextSize(selezionel, 450, 400);

selezioneweapl = TextDrawCreate(190, 348, " Deagle Shotgun Chainsaw Silencer MP5 Golf 9mm AK47 Bat");
TextDrawFont(selezioneweapl, 3);
TextDrawLetterSize(selezioneweapl, 0.5, 1.5);
TextDrawColor(selezioneweapl, 0xFFFFFFFF);
TextDrawSetProportional(selezioneweapl, true);
TextDrawUseBox(selezioneweapl, true);
TextDrawBoxColor(selezioneweapl, 0x000000AA);
TextDrawTextSize(selezioneweapl, 450, 400);

TextDrawShowForPlayer(playerid,selezioneweapl);
TextDrawShowForPlayer(playerid,selezionel);

return 1;

}
}
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
selezioneteam(playerid,classid);
creditilog(playerid);
crediti1log(playerid);

return 1;
}

public OnPlayerSpawn(playerid)
{
TextDrawDestroy(crediti);
TextDrawDestroy(crediti1);
TextDrawDestroy(selezioneg);
TextDrawDestroy(selezioneb);
TextDrawDestroy(selezionev);
TextDrawDestroy(selezionel);
TextDrawDestroy(selezioneweapg);
TextDrawDestroy(selezioneweapb);
TextDrawDestroy(selezioneweapv);
TextDrawDestroy(selezioneweapl);

return 1;
}



The problem is when the player spawn, the textdraws don't destroy.. or better.. only one destroy, i don't know why..
Someone can help me?!

Thanks :)

Galletziz
16/04/2014, 03:56 PM
Ur code is so complicated, i prefer creating all the textdraws under OnGameModeInt at first, then show it to the player as under OnPlayerRequestClass...
By switching into classid's and using TextDrawShowForPlayer instead! Would be much more faster and non buggy!

ON TOPIC: Try this please...


public OnPlayerSpawn(playerid)
{
TextDrawHideForPlayer(playerid, crediti);
TextDrawHideForPlayer(playerid, crediti1);
TextDrawHideForPlayer(playerid, selezioneg);
TextDrawHideForPlayer(playerid, selezioneb);
TextDrawHideForPlayer(playerid, selezionev);
TextDrawHideForPlayer(playerid, selezionel);
TextDrawHideForPlayer(playerid, selezioneweapg);
TextDrawHideForPlayer(playerid, selezioneweapb);
TextDrawHideForPlayer(playerid, selezioneweapv);
TextDrawHideForPlayer(playerid, selezioneweapl);

return 1;
}

doesn't work _

Galletziz
16/04/2014, 05:18 PM
Solved :)