Float: Ah,Y,
zu:
Float: Ah_Y,
Beiträge von Jeffry
-
-
Das liegt daran, dass du diese Meldung mit return hinzugefügt hast:
SendClientMessage(playerid,COLOR_RED,"Du besitzt keinen Schlüssel für dieses Fahrzeug.");Wann soll diese Meldung kommen?
-
Hier ein Beispiel für die schwarzen Balken:
Box1 = TextDrawCreate(0.0000, -118.0000, "~n~");
TextDrawLetterSize(Box1, 1.0000, 26.0000);
TextDrawUseBox(Box1, 1);
TextDrawBoxColor(Box1, 0x000000FF);
TextDrawFont(Box1, 0);
TextDrawSetShadow(Box1, 0);
TextDrawSetProportional(Box1, 0);Box2 = TextDrawCreate(0.0000, 310.0000, "~n~");
TextDrawLetterSize(Box2, 1.0000, 19.0000);
TextDrawUseBox(Box2, 1);
TextDrawBoxColor(Box2, 0x000000FF);
TextDrawFont(Box2, 0);
TextDrawSetShadow(Box2, 0);
TextDrawSetProportional(Box2, 0); -
if(pInfo[killerid][fraktion]==7 || pInfo[killerid][fraktion]==8 || pInfo[killerid][fraktion]==9 || pInfo[playerid][fraktion]==7 || pInfo[playerid][fraktion]==8 || pInfo[playerid][fraktion]==9)
zu:
if((pInfo[killerid][fraktion]==7 || pInfo[killerid][fraktion]==8 || pInfo[killerid][fraktion]==9) && (pInfo[playerid][fraktion]==7 || pInfo[playerid][fraktion]==8 || pInfo[playerid][fraktion]==9)) -
Der Code stammt aus einem Tutorial von MrMonat
Danke!
@Muho55 Kommst du mit der von Robbi verlinkten Lösungsbeschreibung klar? Das müsste 1:1 für deinen Code passen, wenn es aus dem gleichen Tutorial kommt.
-
So ist es korrekt, ja.
-
Nein, nur nach dem switch, also nach der unteren geschweiften Klammer zu.
-
Um mal kurz nachzufragen, weil das ja fast der gleiche Code ist, und ich zudem den Code bestimmt einmal im Monat hier sehe:
Habt ihr den aus einem Tutorial, oder aus einem fertigen Gamemode?
-
Unter den switch:
SendClientMessageToAll(0xFFFFFFFF, string); -
Kommt drauf an was alles dort drin steht.
Du kannst ja mal versuchen es auf 100 zu ändern, dann läuft es 10 mal schneller (100ms).
Wenn Probleme auftreten kannst du es ja auch wieder zurück ändern. -
Hast du denn bereits einen Code, oder anhand von was kann dir geholfen werden?
Die Erklärung habe ich dir ja gegeben. brauchst du da noch weitere Hilfe, oder was benötigst du?EDIT:
@TimeLine Super!!
-
Hast du irgendwo außerhalb von Publics mal eine Variable oder ein enum-Wert "id" deklariert?
Daran scheint es nämlich zu liegen, dass auf höherer Ebene - und das kann hier nur global sein - die Variable "id" bereits definiert wurde.Schau da mal nach und benenne das "id" dann um, zu "g_id" zum Beispiel.
Alternativ kannst du in den Funktionen mit den Warnungen das "id" jeweils umbenennen, zu "l_id" zum Beispiel.
-
Das Feld "pidid" gibt es nicht in deiner Tabelle, aus der du selektiert hast.
-
Den Dialog kannst du so lassen wie er aktuell ist, und dann eben das:
-> In OnDialogResponse von DIALOG_RADIO:
---> listitem 0: ShowPlayerDialog: DIALOG_RADIOKAT1 mit allen Radionamen von Kategorie 1
---> listitem 1: ShowPlayerDialog: DIALOG_RADIOKAT2 mit allen Radionamen von Kategorie 2 -
Das liegt daran, dass das Pickup und das Label die ID 0 haben, und somit immer das vorherige gelöscht wird.
Schreibe es so:
updateHaus(id)
{
new string[128];
if(hInfo[id][h_pickup] != -1)
{
DestroyPickup(hInfo[id][h_pickup]);
}
if(hInfo[id][h_text] != Text3D:-1)
{
Delete3DTextLabel(hInfo[id][h_text]);
}
if(!strlen(hInfo[id][h_besitzer]))
{
hInfo[id][h_pickup]=CreatePickup(1273, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
format(string,sizeof(string), "Zum Verkauf\nKosten: %i$\n/hauskaufen", hInfo[id][h_preis]);
hInfo[id][h_text]=Create3DTextLabel(string, COLOR_RED, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
}
else
{
hInfo[id][h_pickup]=CreatePickup(1239, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
format(string,sizeof(string), "Besitzer: %s\n/enter", hInfo[id][h_besitzer]);
hInfo[id][h_text]=Create3DTextLabel(string, COLOR_BUSBLUE, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
}
return 1;
}Füge bei OnGameModeInit das ein:
for(new i = 0; i < sizeof(hInfo); i++)
{
hInfo[i][h_pickup] = -1;
hInfo[i][h_text] = Text3D:-1;
}Und setze die Variablen auch genau so zurück, wenn das Haus gelöscht wird, also überall dort, wo DestroyPickup und Delete3DTextLabel verwendet wird (außer in updateHaus, da es dort ja direkt danach neu erstellt wird).
-
pInfo[pID][pSkin] = GetPlayerSkin(pID);
zu:
pInfo[pID][pSkin] = skinID;Ein Set und danach direkt ein Get funktioniert nicht immer.
-
Ja, so war es gemeint.
-
Zwecks der Warnung: Kommt drauf an wo die Warnung her kommt. Eventuell ist auch ein enum-Wert nicht angegeben oder falsch.
In welcher Zeile ist denn die Warnung?Zwecks mysql_query_file:
mysql_query_file(handle,sql,true,"LoadNaviEx","");
zu:
mysql_pquery(handle,sql,"LoadNaviEx",""); -
format(str,sizeof(str),"%s\nWantedlevel: %d",PlayerName(forplayerid), wanteds[forplayerid]);
zu:
format(str,sizeof(str),"[%d] %s\nWantedlevel: %d",forplayerid, PlayerName(forplayerid), wanteds[forplayerid]); -
Dann musst du es so machen:
ShowPlayerDialog: DIALOG_RADIO
-> Da in OnDialogResponse:
---> listitem 0: ShowPlayerDialog: DIALOG_RADIOKAT1 mit allen Radionamen von Kategorie 1
---> listitem 1: ShowPlayerDialoh: DIALOG_RADIOKAT2 mit allen Radionamen von Kategorie 2-> In OnDialogResponse für DIALOG_RADIOKAT1
---> listitem 0: Erstes Radio in Kategorie 1 spielen
...gleiches für DIALOG_RADIOKAT2.