Versuch mal den Loop mit OnPlayerSave auszukommentieren, und guck mal ob es dann funktioniert.
Beiträge von LeonMrBonnie
-
-
Hast du bei OnGamemodeExit ein "mysql_close"?
-
Du hast vergessen am Anfang mit %s wieder das alte Format ins neue mitzukopieren.
Deswegen ist die Query die abgesendet wird nur:
"`Hotelid` = '%d', `Hotelzimmer` = '%d' WHERE ID = '%d'"Also muss es so:
mysql_format(handle, query, sizeof(query), "%s`Hotelid` = '%d', `Hotelzimmer` = '%d' WHERE ID = '%d'",query, pInfo[playerid][pHotel], pInfo[playerid][pHotelzimmer], pInfo[playerid][p_id]);
mysql_pquery(handle, query); -
Yo hab ich gemacht. Hab aber jetzt nur ein Warning:
Zeig mal wo du Textdraw0 erstellt hast, und wo du den Textdraw String setzt.
Und ich habe noch bei OnPlayerConnect das hier drin? Soll das bleiben oder soll ich es raus tun?: (Nur ist deaktiviert, wusste halt nicht ob ich es aktiviert lassen soll oder nicht=
Wo wird denn der Textdraw erstellt? Such mal nach"Textdraw0 = TextDrawCreate" und dann musst du das ja irgendwo finden. Wenn du es sonst nirgends findest, musst du es bei OnPlayerConnect wieder auskommentieren.
-
format(string,sizeof(string),"/Deagle %d /Deagle1 %d /Deagle2 %d /Deagle3 %d /Deagle4 %d /DM1 %d /DM2 %d /DM3 %d /DM4 %d /CBUG %d /1o1",GetInArena(1),GetInArena(2),GetInArena(3),GetInArena(4),GetInArena(5),GetInArena(6),GetInArena(7),GetInArena(8),GetInArena(9),GetInArena(10));
Hast am Ende ); vergessen.Wo hast du new Textdraw0 gemacht? Das musst du ganz oben im Script machen, als globale Variable.
-
Ach der Timer muss SetTimer statt SetTimerEx sein.
Und wegen dem foreach musst du das foreach Include benutzen, oder for(new i; i<MAX_PLAYERS;i++) benutzen.
-
Also;
Du brauchst einen Timer.
Bei OnGamemodeInit:
SetTimerEx("SecondTimer",1000,true)Dann erstellst du eine public Funktion:
forward SecondTimer();
public SecondTimer()
{
UpdateTextdraw();
}Erstellst die Funktion UpdateTextdraw:
UpdateTextdraw()
{
new string[256];
format(string,sizeof(string),"/Deagle %d /Deagle1 %d /Deagle2 %d /Deagle3 %d /Deagle4 %d /DM1 %d /DM2 %d /DM3 %d /DM4 %d /CBUG %d /1o1",GetInArena(1),GetInArena(2),GetInArena(3)..//und so weiter
TextDrawSetString(Textdraw0,string);
}Und erstellst dann hier die Funktion GetInArena:
GetInArena(arena)
{
new count;
foreach(new i : Player)
{
if(GetPVarInt(i,"arena") == arena) count++;
}
return count;
} -
Das können wir dir schlecht sagen, wenn du uns nicht die Error sagst und auf welcher Zeile die sich befinden.
-
Sollte doch funktionieren?
Aber den Dialog kannst du doch drin lassen oder nicht? Sonst entfernst du halt den Befehl und das define dazu auch. -
Du kannst es nur mit einem Textdraw machen, anders kannst du da nichts anzeigen.
Du kannst einfach [wiki]TextDrawSetString[/wiki] verwenden, um die Spielerzahl abzufragen und dann dort anzuzeigen.
-
Du kannst einfach den Code aus dem jeweiligen listitem nehmen und dann in ein Befehl packen.
-
Dann zeig mal OnDialogResponse wo ein "case DIALOG_ARENEN:" oder "if(dialogid == DIALOG_ARENEN)" zu finden ist.
-
OnPlayerText oder OnPlayerCommandText mal angeguckt?
Also bevor wir dir helfen, musst du auch mal ein bisschen Eigeninitiative zeigen. -
Vielleicht mal Code zeigen damit wir dir überhaupt helfen können?
So wie es sich anhört, scheint es ja auch nicht dein Script zu sein, also sag uns mal welches.
-
@istanbul das hier ist kein beitrag wo werbung gemacht wird für sein projekt. es ist nur eine stellenausschreibung.
Trotzdem kann er doch mehr Infos über das Projekt erfragen?
Er möchte erstmal etwas über das Projekt wissen, bevor er sich bewirbt. -
Also ich seh da jetzt keinen Fehler.
Poste am besten mal den ganzen Callback.(Übrigens noch:
Erstelle die Variablen nicht im Loop, sondern davor, sonst werden die immer neu erstellt, und das ist unnötig) -
Entweder ist das nicht der ganze Code, oder die for Schleife wurde nicht mit einem } zu gemacht.
-
Jetzt ja. Vorhin war da NICHTS. Schade das ich keinen Screenshot gemacht habe.
Kann ich bestätigen.
Hab vorhin auch nach einem Impressum gesucht, und konnte es nirgends finden, und jetzt aufeinmal ist es im Footer zu sehen. Hmm -
Mit break; wird die Schleife komplett abgebrochen. Mit continue geht die Schleife einfach zum nächsten Spieler/Fahrzeug/Was auch immer geloopt wird.
Also so wie du es hast, ist es schon richtig.
-
Script wurde verkauft.
Kann geschlossen werden.