Beiträge von YaBroo
-
-
Servus Leute, ich hoffe mal das ist der richtige Bereich.
Hat einer von euch bereits eine Map gesehen, die einer realen Fahrschule ähnelt?
Damit ist gemeint, Fahrschule für die Theorie, TÜV für die Theorie Prüfung,-Praxis Bereich bei der Fahrschule oder TüV samt begehbarem Interior?
Wenn wer so eine gesehen hat bitte ich um Rückmeldung wenn sich wer daran waagen möchte kann er sich per PM für nähere Informationen & kosten melden. Dies ist keine direkte Aufforderung warum ich den Marktplatz Bereich meiden möchte. Meldet euch einfach bei Interesse oder bei Kentnissen zu solch einer releasten Map , dankeeemfg
-
Mit \n neue Zeile im Dialog erstellen für ein neues listitem dann mit listitem == 1 arbeiten beim 2. Listitem und das 3. entfernen
-
Du musst da scho dein Perso auf listitem 0 stellen
-
Andrzejxy', da fehlt doch was, der dritte Teil.
if(strlen(inputtext) == 0 || strlen(inputtext) < 6 || strlen(inputtext) > 12)
Dann ist == 0 bei < 6 aber überflüssig :0
-
if (sscanf(params, "u",id)) SendClientMessage(playerid, COLOR_GREY, "Info: /goto [SpielerID]");
else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht zu diesen Spieler teleportieren.");Benutz direkt if btw. kannst du auch mit isplayerconnected arbeiten.
if(IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht zu diesen Spieler teleportieren.");
-
Ist ein wenig leer gestaltet.
Evt. paar Bilder für die Wände, realistische Beleuchtungen in den verschiedenen Zimmern,Billiard Schläger passend zum Tisch etc. da fehlt meiner Meinung nach sehr viel.
Ich würde da nicht einziehen wollen wenn ich noch alles einkaufen müsste ohne es zu können -
Ich nehme an du hast einen Chat radius ?
Naja,
Schritt 1 dem Admin und dem der den Report geschrieben hat (= Spieler) eine Variable hochsetzen z.B report[playerid] = 1;
Danach einfach sofern sie etwas schreiben (BEi OnPlayerText) beiden die Nachricht senden.
Das heißt:Alle Spieler durchgehen Abfragen wer Report auf 1 hat und dann die Nachricht an diese schicken.
Man sollte nicht direkt Abfragen ob die Variable von i auf 1 steht sondern besser ob die von playerid & i(Bei einer normale for Schleife mit definiertem i für MAX_PLAYERS) gleich sind damit es keine Überkreuzung von Chat's stattfindet. -
Wenn du auch eine Maximale Adminlevel Grenze haben möchtest kannst du es auch so machen, fürs bessere verstehen eine neue Variable.
new Adminrang = PlayerInfo[playerid][pAdmin];
if(Adminrang <2000||Adminrang>2001) return SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");Dies bedeutet nun das der Befehl abgebrochen wird wenn der Spieler Adminrang x -> 1999 oder 2002+ hat. 2000&2001 würden funktionieren.
-
Ja oder höher 99999 konntei diesen auch nutzen
-
Mach das "!" weg.
Und nein, er bricht den Befehl ab wenn einer unter Level X ist. Ich hatte aber vorhin gesagt das ! raus nehmen.
-
Ja dann passt das doch oder hast du mehr Ränge als 2001 !? Das "!" Muss aber raus.
Bei Makeleader schreibste dann einfach das hin:if(PlayerInfo[playerid][pAdmin] < 2000) return SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
-
Mach es so:
if(PlayerInfo[playerid][pAdmin] < 1337) return SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
Das bedeutet nun das für jeden Admin Level Spieler UNTER 1337 die Nachricht returnt wird.
-
Ich kenn die Liste, es ist mir auch klar das "u" Name bzw. ID ist. Allerdings kann es ja sein das eben genau das einen Fehler hat, wie sonst kommt er immer auf eine Falsche ID? (Ich gehe mal davon aus, dass er seinen Name bzw. seine ID richtig eingibt.)EDIT: Sieh mal einer an:
PS: "einfacher", mit den Anführungszeichen haste völlig Recht.
Ich sag immer das liegt im Auge des Betrachters.
Was du auch mal machen könntest: Direkt unter sscanf das hier setzen, und uns sagen was dein server log so sagt:
printf("ID Ist: %d (Und meine ID ist: %d)", pID, playerid);Ich verstehe nur nicht, warum es bei manchen bzw. bei den meisten wunderbar funktioniert und bei manchen nicht.
Und nein, sscanf richtig angewandt macht eigentlich keine Schwierigkeiten. -
Dann aktuallisier mal alle deine includes...das Problem hatte ich noch nie sodass ich dir leider nicht mehr sagen kann
-
Du schreibst ein eigenes createbiz system weißt aber nicht wie du definierte variablen die du nicht verwendest entfernst? ..
money,money2,kosten unter new entfernen.
PS: Ich habe mir dein code nicht angeschaut -
Schau mal auf mein edit..
Naja IsPlayerConnected ist aber eig. eine fest gelegte Funktion.
Guck mal ob der cmd von oben bei dir funktioniert, wenn nicht vielleicht mal das neuste include ziehen von a_samp oder sscanf, wer weiß. -
Zur Not kannste noch eine for Schleife durch laufen lassen und i mit pID vergleichen..Aber dafür ist sscanf doch zuständig.. Verstehe nicht warum es net klappen sollte
Ich schau mal eben bei mir.//edit
Dieser Befehl funktioniert einwandfrei:
ocmd:pgeld(playerid,params[])
{
new pID, nGeld;
iif(SpielerDaten[playerid][pAdmin] < 3) return SendClientMessage(playerid,-1,"Du hast kein Recht diesen Befehl auszuüben");
if(sscanf(params,"ui",pID, nGeld)) return SendClientMessage(playerid, -1, "Benutzung: /pGeld [ID] [Anzahl]");
if(!IsPlayerConnected(pID)) return ShowPlayerDialog(playerid, DIALOG_FALSCHE_ID, DIALOG_STYLE_MSGBOX, "{00BFFF}Falsche ID", "{FFFFFF}Die eingegebene ID ist ungültig.\n\nBitte versuche es erneut mit einer gültigen ID.", "Okay", "");
GivePlayerMoney(pID,nGeld);
return 1;
}Ich hatte zu Anfang das Unknown Command Problem was daran lag das pgeld groß geschrieben war, keine Ahnung ob es daran liegt.
-
Ist eigentlich richtig außer das es bei GivePlayerMoney(playerid,..) pID heißen sollte
-
ocmd:pGeld(playerid,params[])
{
if(SpielerDaten[playerid][pAdmin] >= 3)
{
new pID, nGeld;
if(sscanf(params,"ui",pID, nGeld)) return SendClientMessage(playerid, Orange, "Benutzung: /pGeld [ID] [Anzahl]");
if(!IsPlayerConnected(pID)) return ShowPlayerDialog(playerid, DIALOG_FALSCHE_ID, DIALOG_STYLE_MSGBOX, "{00BFFF}Falsche ID", "{FFFFFF}Die eingegebene ID ist ungültig.\n\nBitte versuche es erneut mit einer gültigen ID.", "Okay", "");
GivePlayerMoney(pID,nGeld);
SpielerDaten[pID][pGeld] = nGeld;
}
return 1;
}