KOSTENLOSE REGISTRIERUNG - FREE REGISTER
  • Willkommen, Gast!
  • Sonntag, 21. Januar 2018, 02:05:23
Position: Home » Tutorials » Workshop » In Bearbeitung » [VWW] [SA-MP v2] TextDraw Funktion

Willkommen im GTAvision.com Forum

Du bist noch nicht bei uns angemeldet. Wenn das dein erster Besuch bei uns ist, so kannst du die wichtigsten Funktionen des Boards in der FAQ nachlesen. Um Beiträge zu schreiben oder neue Themen zu erstellen musst du in fast jedem Forum registriert und eingeloggt sein. Dies gilt nicht bei den Newskommentaren, dort können auch Gäste etwas schreiben ohne sich vorher registrieren zu müssen. Damit du Beiträge lesen kannst, musst du dir erst ein Forum aussuchen welches dich interessiert, z.B. GTA V - Allgemeines, dann klickst du auf ein Thema das dich interessiert z.B. "Allgemeine GTA V Plauderecke" und schon kannst du die Beiträge lesen. Um im genannten Thema zu antworten, musst du dich allerdings vorher eingeloggt haben. Viel Spaß in unserem Forum, wünscht das gesamte GTAvision.com Team.

Follow @GTAvision
Thema: [VWW] [SA-MP v2] TextDraw Funktion [Seite 1 2 3 4 ]  

Kein neuer Beitrag 17.11.2007, 02:33
Beitrag #46   

dödel
Capo
* * * * * * * * * * O
Registrierung: 16.04.2007, 22:15
Lieblings-GTA: GTA: Vice City
Wohnort: The Triangle
Beiträge: 3191

Liebe TextDraw suchtis :D


Es ist 02:08
und ich habe (zwar schon vor ca. 4h) eine neue
TextDraw variante augearbeitet.

Da sie nicht mit ständigem Zerstören und
neu erstellen arbeitet, ist sie auf jedenfall
viel sicherer.

Denn es wird nur einmal TextDrawCreate pro Text genutzt ;)
und kein einziges mal Destroy :D


Außerdem bin ich so lieb und
erkläre ales nochmal von anfang an:

(alle codes ohne ?> und <? übernehmen,
habs nur zur Markierung genutzt.)

Man setzt ganz simpel diese Variablen über Main()

Code:
1
2
3
4
5
6
7
8
9
10
11
<?

forward coinup(playerid);

new textdrawtimer;
new textdrawarray[MAX_PLAYERS];

new Text:TextDraw1[MAX_PLAYERS];
new Text:TextDraw2[MAX_PLAYERS];

?>



nun kommt der Timer in OnGameModeInit:

Code:
1
2
3
4
5
<?

textdrawtimer = SetTimer("coinup",1000,1);

?>


und zur sicherheit noch bei OnGameModeExit:

Code:
1
2
3
4
5
<?

KillTimer(textdrawtimer);

?>



nun das gesamte Public:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?

public coinup(playerid)
{
for (new i; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(textdrawarray[i] == 0)
{
TextDraw1[i] = TextDrawCreate(270.0, 380.0, " ");
TextDraw2[i] = TextDrawCreate(520, 200.0, " ");
TextDrawLetterSize(TextDraw1[i], 0.5, 2.5);
TextDrawLetterSize(TextDraw2[i], 0.5, 2.5);
TextDrawShowForPlayer(i,TextDraw1[i]);
TextDrawShowForPlayer(i,TextDraw2[i]);
textdrawarray[i] = 1;
}

if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new string2[256];
new stringcarhealth[256];

new carhealthid[MAX_PLAYERS];
carhealthid[i] = GetPlayerVehicleID(i);
new Float:carhealth[MAX_PLAYERS];
GetVehicleHealth(carhealthid[i], carhealth[i]);

format(string2, sizeof(string2),"~w~Fahrzeug:~g~ %.1f",carhealth[i]);

TextDrawSetString(TextDraw1[i], string2);

}
else
{
TextDrawSetString(TextDraw1[i], " ");
}

// |

new string[256];

new Float:lebenfloatvonplayer[MAX_PLAYERS];
GetPlayerHealth(i,lebenfloatvonplayer[i]);

format(string, sizeof(string),"~n~~n~~n~~n~~n~~w~Leben:~g~ %.1f",lebenfloatvonplayer[i]);
TextDrawSetString(TextDraw2[i], string);

}
}
}

?>



wenn ihr es euch genau angesehen habt,
müsstet ihr feststellen, das nur

TextDrawSetString(TextDraw2, string);

den Text ändert :P


Und nun ist es 02:29 (an dieser stelle des textes)
und ich bin fertig mit der erklärung.

Und nun:

http://planetsmilies.net/tired-sleeping-smiley-4667.gif

http://planetsmilies.net/tired-sleeping-smiley-4634.gif

Kein neuer Beitrag 18.11.2007, 12:50
Beitrag #47   

dödel
Capo
* * * * * * * * * * O
Registrierung: 16.04.2007, 22:15
Lieblings-GTA: GTA: Vice City
Wohnort: The Triangle
Beiträge: 3191

Zu erst witme ich mich mal Rafi´s alter Frage:
(das stimmt natürlich nicht mit neueren TextDraw überein.

ZitatRafioso hat folgendes geschrieben:
Frage: Warum machst du beim "else" nicht einfach ein "TextDrawDestroy" ?



Weil ansonsten Die Id´s von den neuen TextDraws nicht stimmen,
immerhin wenn ID 0 zerstört wird und danach ein anderes erstellt wird,
trägt das 2. ID 0 und denn würde es crashen, sobald es versucht
beide ID´s zu löschen.

_______________________________________________________________________

Aber nun zum Wesentlichen:

Das betrifft wieder nur Linux User, ob root oder auch so.
(obwohls für Win zur sicherheit auch besser wäre,
denn gehts ja auf Win und Linux ohne Fehler)


Also, die ergänzung ist ein einziger CMD,
da es bei OnGameModeExit auch nur crash´s
verursachen würde, kp aber ist einfach so.

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?

if(strcmp(cmd, "/restart", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new a; a<MAX_PLAYERS; a++)
{
if(textdrawarray[a] == 1)
{
TextDrawSetString(TextDraw1[a], " ");
TextDrawSetString(TextDraw2[a], " ");
TextDrawHideForPlayer(a,TextDraw1[a]);
TextDrawHideForPlayer(a,TextDraw2[a]);
TextDrawDestroy(TextDraw1[a]);
TextDrawDestroy(TextDraw2[a]);
}
}

SendRconCommand("changemode Name_deines_game-modes"); //hier deinen DM namen eintragen
}
else SendClientMessage(playerid, COLOR_ADMIN, "Du musst mindestens Administrator sein!");
return 1;
}

?>



Das wird gebraucht, damit du deinen Mode
Fehlerfrei neustarten kannst ;)


Aber ob das nötig ist weiß ich nicht genau,
aber warum rausnehmen :P


Für Überflieger:
Diesen Code nicht einfügen,
er ist ja schon oben vorhanden:


Code:
1
2
3
4
5
6
7
8
<?

TextDrawSetString(TextDraw1[a], " ");
TextDrawSetString(TextDraw2[a], " ");
TextDrawHideForPlayer(a,TextDraw1[a]);
TextDrawHideForPlayer(a,TextDraw2[a]);

?>

Druckansicht

Erste Seite Zurück 1 2 3 4     (Anzeige: 46 – 47; Insgesamt: 47) n/a n/a
Toggle Ähnliche Themen zu „[VWW] [SA-MP v2] TextDraw Funktion“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge   Neues Auto Lampadati Viseris und doppelte GTA$ und RP 0 72 09.01.2018, 20:11
Von: GTAvision.com
09.01.2018, 20:11
Von: GTAvision.com
Zum letzten Beitrag
Keine neuen Beiträge   Neues Auto Annis Savestra und mehr 0 66 02.01.2018, 15:45
Von: GTAvision.com
02.01.2018, 15:45
Von: GTAvision.com
Zum letzten Beitrag
Keine neuen Beiträge   Neues Auto Overflod Autarch, neuer Gegner-Modus Slashers und Neuj ... 0 75 29.12.2017, 23:49
Von: GTAvision.com
29.12.2017, 23:49
Von: GTAvision.com
Zum letzten Beitrag
Keine neuen Beiträge   2017er Weihnachtsgeschenke von Rockstar Games 0 85 19.12.2017, 23:17
Von: GTAvision.com
19.12.2017, 23:17
Von: GTAvision.com
Zum letzten Beitrag
Keine neuen Beiträge   Erste Red Dead Redemption 2 Herausforderung in GTA: Online 0 82 17.12.2017, 22:44
Von: GTAvision.com
17.12.2017, 22:44
Von: GTAvision.com
Zum letzten Beitrag
  • 0.020163 Sek., 13 DB-Zugriffe, 1.909 MiB
  • Powered by Boardsolution v1.45
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads