Magie:
for(new i; i < rows; i++)
Einfach zu:
...aaaber warum auch immer man das wollen würde...
Magie:
for(new i; i < rows; i++)
Einfach zu:
...aaaber warum auch immer man das wollen würde...
noch eine frage bezüglich dazu: wie kann ich es umändern sodass das textlabel nur dem spieler angezeigt wird, der schießt (issuerid) Kaliber
Nächstes mal, am Besten direkt in den ersten Thread deine Vorstellung schreiben, wie du dir das System vorstellst hahaha xD
Mit allen Details, sowas ist nur schwer vorherzusehen hahaha xD
Machste so:
if(issuerid != INVALID_PLAYER_ID)
{
new string[32],Float:x,Float:y,Float:z,Float:t;
GetPlayerLastShotVectors(issuerid,t,t,t,x,y,z);
format(string,sizeof(string),"DMG: %.02f",amount);
SetTimerEx("@DeleteDmgDraw",1000*10,0,"ii",issuerid,_:CreatePlayer3DTextLabel(issuerid,string, 0xFF0000FF, x,y,z, 20.0, GetPlayerVirtualWorld(playerid), 0)); //1000*10 = 10 Sekunden
}
//Und dann außerhalb:
@DeleteDmgDraw(i,l);@DeleteDmgDraw(i,l) {
DeletePlayer3DTextLabel(i,PlayerText3D:l);
}
Alles anzeigen
Achsoooo, schreib das doch hahahaha xD
Mach es so:
if(issuerid != INVALID_PLAYER_ID)
{
new string[32],Float:x,Float:y,Float:z,Float:t;
GetPlayerLastShotVectors(issuerid,t,t,t,x,y,z);
format(string,sizeof(string),"DMG: %.02f",amount);
SetTimerEx("@DeleteDmgDraw",1000*10,0,"i",_:Create3DTextLabel(string, 0xFF0000FF, x,y,z, 20.0, GetPlayerVirtualWorld(playerid), 0)); //1000*10 = 10 Sekunden
}
//Und dann außerhalb:
@DeleteDmgDraw(i);@DeleteDmgDraw(i) {
Delete3DTextLabel(Text3D:i);
}
Alles anzeigen
folgende fehlermeldungen
Dann hast du wohl eine globale Variable die Label heißt, das nicht so juuut, aber auch egal, dann machs einfach so:
new string[32],Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
format(string,sizeof(string),"DMG: %.02f",amount);
SetTimerEx("@DeleteDmgDraw",1000*10,0,"i",_:Create3DTextLabel(string, 0xFF0000FF, x,y,z, 20.0, GetPlayerVirtualWorld(playerid), 0)); //1000*10 = 10 Sekunden
//Und dann außerhalb:
@DeleteDmgDraw(i);@DeleteDmgDraw(i) {
Delete3DTextLabel(Text3D:i);
}
Das hier erstellt das textlabel dort, wo die kugel den spieler trifft.
Achsooo, ja sag das doch, dass du das willst ![]()
Dann lösch das alles..und mach es so:
//unter OnPlayerTakeDamage
new string[32],Float:x,Float:y,Float:z,Text3D:label;
GetPlayerPos(playerid,x,y,z);
format(string,sizeof(string),"DMG: %.02f",amount);
label = Create3DTextLabel(string, 0xFF0000FF, x,y,z, 20.0, GetPlayerVirtualWorld(playerid), 0);
SetTimerEx("@DeleteDmgDraw",1000*10,0,"i",_:label); //1000*10 = 10 Sekunden
//Und dann außerhalb:
@DeleteDmgDraw(i);@DeleteDmgDraw(i) {
Delete3DTextLabel(Text3D:i);
}
Alles anzeigen
Dann bleibt das Label 10 Sekunden da, wo der Spieler getroffen wurde.
bekomme bei dieser zeile:
Ich habe den Code nochmal aktualisiert, schau nochmal rein und nimm den Neusten ![]()
gibt es keine möglichkeit dies umzusetzen
Doch natürlich, nur dachte so wäre es deutlich leichter, weil diese Funktion genau dafür ist...und kp, inwiefern da ein TextLabel überhaupt den Unterschied macht...
Naja, du könntest folgendes machen:
//Oben im Skript
new Text3D:dmgLabel[MAX_PLAYERS] = {Text3D:-1, ...};
new dmgTimer[MAX_PLAYERS];
//Und dann unter OnPlayerTakeDamage
new string[32];
format(string,sizeof(string),"DMG: %.02f",amount);
if(dmgLabel[playerid] != Text3D:-1) Update3DTextLabelText(dmgLabel[playerid], 0xFF0000FF, string),KillTimer(dmgTimer[playerid]);
else dmgLabel[playerid] = Create3DTextLabel(string, 0xFF0000FF, 0,0,0, 20.0, GetPlayerVirtualWorld(playerid), 0),Attach3DTextLabelToPlayer(dmgLabel[playerid],playerid, 0,0,0.4);
dmgTimer[playerid] = SetTimerEx("@DeleteDmgDraw",1000*3,0,"i",playerid); //1000*3 = 3 Sekunden
//Und dann außerhalb:
@DeleteDmgDraw(i);@DeleteDmgDraw(i) {
Delete3DTextLabel(dmgLabel[i]);
dmgTimer[i] = -1;
dmgLabel[i] = Text3D:-1;
}
Alles anzeigen
funktioniert alles wie gewollt, will aber dass das textlabel sagt wie viel damage man dem spieler hinzugefügt hat und nach 1ner sekunde wieder verschwindet/zerstört wird. weiß nicht wie weil der callback kein parameter für damage amount hat (wie bei OnPlayerTakeDamage). danke im voraus.
Nutze am Besten: https://wiki.sa-mp.com/wiki/OnPlayerTakeDamage
und dann zum Anzeigen: https://wiki.sa-mp.com/wiki/SetPlayerChatBubble
Leider spuckt er mir den strMsg nicht in den Chat aus.
Was spuckt er denn aus?
Printe mal unter dem sscanf einfach die Variablen...was sagt er denn da so ![]()
von einem bier schon fast betrunken bin
Das liegt an:
Da wird das direkt auf das Maximum gesetzt.
Kannst es ja langsam erhöhen, sowas wie:
Der Wiki Eintrag ist da ganz hilfreich: https://wiki.sa-mp.com/wiki/SetPlayerDrunkLevel
Was gibst du denn genau ein?
/drink Bier...oder was?
Und wie ist BizzInfo deklariert?
kann mir einer Helfen?
Lade mal crashdetect und schau mal in den server_log ![]()
Lokale Variable und trotzdem kommt die Warnung :-O
Ist mir schon klar...
Das ist ja auch eine Doppel-Deklaration, natürlich wäre die korrekte Aussage, einfach, wenn man 2 Variablen mit dem selben Namen deklariert, die aufeinander zugreifen können und sich in einem anderen Scope befinden.
Aber, da ich diesen Fehler schon einmal gesehen habe, bin ich mir zu 99% sicher, dass er eine globale Variable verwendet und lokal diese noch einmal deklariert ![]()
string der fehlt
Nenene, der Fehler sagt aus, dass coordsstring eine globale Variable ist und nochmal lokal deklariert wurde, das verursacht den Fehler die Doppel-Deklaration.
Hier wäre es wirklich einfacher glaube ich, wenn sich jemand privat bei ihm melden würde.
Bis der Haufen an Errors weg ist, das dauert ewig mit den jeweiligen Codeschnipseln.
Den TDEditor v.1.17
ZitatAlles anzeigenButton: New
Left click
This button will create a Normal TextDraw.
Right click <<<<<<<<<<<<
Show dialog with more options (Sprites, preview models, box).
Moin, kurze frage ich suche für ein Textdraw ein hacken wen er etwas bestanden hat wie lass ich das setzen?
Welchen TextDraw-Editor nutzt du denn?
Da müsste es doch Sprites geben, dort gibt es einen Haken.
Server received interrupt signal
Du hast wohl STRG + C gedrückt, als du in der Konsole vom Server warst...du musst das mit nohup starten.
Hey, weiß einer warum nichts passiert wenn ich /createclan bzw wenn ich vor einem freien Clanhaus stehe kein Clan erstellt wird?
Also...screens vom Code sind super bad...
Bitte hier einfach den BBCode verwenden oder pastebin oder sowas...
Ansonsten, was sagt crashdetect...und was passiert denn genau, bzw was geht nicht...
Nutze den MySQL Log...Debugge...![]()