їCуmo hago esto?
#1

Hice un TextDraw para ver el vehнculo de un jugador:

pawn Код:
new vehiculo = GetPlayerVehicleID(playerid);
Textdraw8 = TextDrawCreate(528.000000, 165.000000, "%s", vehнculo);
Pero me da error, no funciona, їalguien sabrнa herradicar el error?
Reply
#2

Podrias pegar el error aqui ?
Reply
#3

No podes formatear una variable adentro de TextDrawCreate. Tenйs que crear una nueva array que vas a usar como string, usar format() sobre ella, y despues usar esa variable (o array) como parбmetro de TextDrawCreate.
Reply
#4

Tienes que usar TextDrawSetString
Aquн te dejo el link de la wiki Aquн!
Reply
#5

No me salen los textos, a parte de ese otros que tengo creados.

Os dejo uno simple:

Texto:

pawn Код:
//OnGameModeInit
    Textdraw7 = TextDrawCreate(501.000000, 126.000000, "Eliminado -1");
    TextDrawBackgroundColor(Textdraw7, 255);
    TextDrawFont(Textdraw7, 1);
    TextDrawLetterSize(Textdraw7, 0.509998, 1.000000);
    TextDrawColor(Textdraw7, -16776961);
    TextDrawSetOutline(Textdraw7, 0);
    TextDrawSetProportional(Textdraw7, 1);
    TextDrawSetShadow(Textdraw7, 1);
Enseсamos:

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
  TextDrawShowForPlayer(playerid, Textdraw7);
  TextDrawShowForPlayer(killerid, Textdraw6);
  return 1;
}
Timer:

pawn Код:
//Arriba:
forward textomuerto();

//OnGameModeInit:
SetTimer("textomuerto", 4000, true);

//Mбs abajo:
public textomuerto()
{
    TextDrawDestroy(Textdraw7);
    TextDrawDestroy(Textdraw6);
    return 1;
}
Espero respuestas.
Reply
#6

Con respecto a lo primero:

Quote:
Originally Posted by CristianTdj
Hice un TextDraw para ver el vehнculo de un jugador:

pawn Код:
new vehiculo = GetPlayerVehicleID(playerid);
Textdraw8 = TextDrawCreate(528.000000, 165.000000, "%s", vehнculo);
Pero me da error, no funciona, їalguien sabrнa herradicar el error?
Lo tenйs que hacer asн:

pawn Код:
new vehiculo = GetPlayerVehicleID(playerid);
new string[5];
format(string, sizeof(string), "%d", vehiculo);
Textdraw8 = TextDrawCreate(528.000000, 165.000000, string);
Acordate que eso te va a mostrar el nъmero de ID del vehнculo, no el nombre del modelo.

Con respecto a lo segundo, lo que estбs haciendo es que se muestre un Textdraw ni bien arranca el server y se oculte a los cuatro segundos. Lo mбs probable es que cuando entres a tu server hayan pasado 4 segundos desde que estб abierto, por lo cual ya se destruyeron. Quizбs quisiste hacerlo en OnPlayerConnect.
Reply
#7

Quote:
Originally Posted by Zamaroht
Con respecto a lo segundo, lo que estбs haciendo es que se muestre un Textdraw ni bien arranca el server y se oculte a los cuatro segundos. Lo mбs probable es que cuando entres a tu server hayan pasado 4 segundos desde que estб abierto, por lo cual ya se destruyeron. Quizбs quisiste hacerlo en OnPlayerConnect.
No, no lo puse en OnPlayerConnect sino en otro Callback:

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
  TextDrawShowForPlayer(playerid, Textdraw7);
  return 1;
}
La idea del Timer fue para que no estuviera todo el rato mostrбndose, sino que a los 4 segundos desapareciera, por eso lo puse ahн.
їInfluye eso en el paso del tiempo respecto al servidor?

Por cierto:

pawn Код:
error 017: undefined symbol "playerid"
//En:
new vehiculo = GetPlayerVehicleID(playerid);
Te lo pongo entero:

pawn Код:
new vehiculo = GetPlayerVehicleID(playerid);
  new string[5];
  format(string, sizeof(string), "%d", vehiculo);
  Textdraw8 = TextDrawCreate(528.000000, 165.000000, string);
  TextDrawBackgroundColor(Textdraw8, 255);
  TextDrawFont(Textdraw8, 1);
  TextDrawLetterSize(Textdraw8, 0.509998, 1.100000);
  TextDrawColor(Textdraw8, 16777215);
  TextDrawSetOutline(Textdraw8, 0);
  TextDrawSetProportional(Textdraw8, 1);
  TextDrawSetShadow(Textdraw8, 1);
  TextDrawSetString(Textdraw8, string);
Reply
#8

TextDrawDestroy destruye el textdraw, lo que vos nececitas es TextDrawHideForPlayer.
Reply
#9

Quote:
Originally Posted by Fedee!
TextDrawDestroy destruye el textdraw, lo que vos nececitas es TextDrawHideForPlayer.
Para eso puse TextDrawShowForPlayer
Reply
#10

Aca te dejo los dos:

pawn Код:
new timer1;

public OnGameModeInit()
{
  Textdraw8 = TextDrawCreate(528.000000, 165.000000, "Vehiculo: ");
  TextDrawBackgroundColor(Textdraw8, 255);
  TextDrawFont(Textdraw8, 1);
  TextDrawLetterSize(Textdraw8, 0.509998, 1.100000);
  TextDrawColor(Textdraw8, 16777215);
  TextDrawSetOutline(Textdraw8, 0);
  TextDrawSetProportional(Textdraw8, 1);
  TextDrawSetShadow(Textdraw8, 1);
}

public OnPlayerConnect(playerid)
{
    TextDrawHideForPlayer(playerid, Textdraw8);
    TextDrawHideForPlayer(playerid, Textdraw7);
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new string[64];
    format(string, 64, "Vehiculo: %d", vehicleid);
    TextDrawSetString(Textdraw8, string);
    TextDrawShowForPlayer(playerid, Textdraw8);
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    TextDrawHideForPlayer(playerid, Textdraw8);
}

public OnPlayerDeath(playerid, killerid, reason)
{
  TextDrawShowForPlayer(playerid, Textdraw7);
  timer1 = SetTimer("textomuerto", 4000, 1);
  return 1;
}

forward textomuerto(playerid);
public textomuerto(playerid)
{
  TextDrawHideForPlayer(playerid, Textdraw7);
  KillTimer(timer1);
}
Deberнa andar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)