Dann sprengst du den Array. Entweder du erhöhst die Größe des Arrays (z.B. stage[MAX_PLAYERS]) oder du änderst deine Methodik.
Beiträge von Douq
-
-
Code
Alles anzeigenpublic OnPlayerText(playerid, text[]) { if(sSpieler[playerid][pMuted] > 0) { SendClientMessage(playerid, GRAU, "Du bist stummgeschaltet. (/muteinfo)"); return 0; } new pText[145], name[MAX_PLAYER_NAME], Float:x, Float:y, Float:z; //betroffene Zeile GetPlayerName(playerid, name, MAX_PLAYER_NAME); GetPlayerPos(playerid, x, y, z); format(pText, sizeof (pText), "%s sagt: %s", name, text); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,15.0, x, y, z)) { SendClientMessage(i, 0xFFFFFFFF, pText); } } return 1; }
You're welcome
-
cutName[1] = Toupper(cutName[1]);
Zwischen Zeile 4 und 5 platzieren. -
Sicher, dass du an den Koordinaten 597.0846,-1248.3699,18.2641 im Radius von 3.0 Units bist? Ggf. mal eine Fehlermeldung hinzufügen, wenn man sich nicht in der Nähe befindet, um diese Eventualität ausschließen zu können. Zusätzlich wird der Code in Zeile 14 nicht funktioniert (ich weiß ist ausgeklammert, möchte ich nur hinweisen). Da musst du dann noch vor dem i ein s setzen ("s[30]i"), da logischerweise in params weiterhin "get" enthalten ist und somit dein sscanf eine ungültige Syntax zurückgibt.
-
Gibts es zwei (mir spontan einfallende) Möglichkeiten:
1. Du gibst die ID an und holst dir dann aus dem String inputtext die ID raus (per sscanf oder ähnlichem).
2. Du erstellst zwei globale Variablen, die eine nutzt zu dem index hochzählen, die andere zum speichern der spielerID, dabei entspricht der Index jeweils dem row (sprich erste Zeile = index 0, zweite Zeile = index 1, ...). Kann dir ggf. mal ein Beispiel raussuchen, sollten eig. welche im Forum findbar sein.Ist halt Geschmackssache, hat halt je nach Methode seine Vor- und Nachteile.
-
Klar, du kannst durch alle spielerIDs loopen und dann pen gesuchten Namen mit dem Namen der Spieler vergleichen (strcmp). Den Namen dann innerhalb des Schleifenrumpfs per GetPlayerName() ermitteln.
-
@Douq Ich komme von der Arbeit, gehe auf MysteryReallife.de (TeamSpeak) und dann liest mir @EagleKevin_ den Text oben vor.
Das kannst nur du sein! Wer sollte denn bitte sonst an so einem hohen Grad von Legasthenie leiden um auf diesen Namen zu kommen?
Btw: Seit wann arbeitest du denn bitte?
-
Auch wenn wir die Umleitung noch einige Zeit am Leben lassen wollen, macht es Sinn eure Lesezeichen etc. langsam an die neue Domain anzupassen.
Wer merkt dass die Domain die seit ca. einem Jahr nichtmehr verwendet wird nichtmehr geht macht was falschDie Gewohnheit siegt dann letztlich doch über mich - intuitiv tippe ich schon sa-mp.de wenn ich ins breadfish Forum will
-
Du setzt an die gleiche Position wieder ein Checkpoint, wo auch das Fahrzeug erstellt wird und du den Spieler reinsetzt, ergo OnPlayerEnterCheckpoint() wird kontinuierlich aufgerufen und der Code (unteranderem die Fahrzeugerstellung) wird aufgerufen.
-
Setz Zeile 16 unter Zeile 14.
-
if(Waren + PilotWaren[playerid] > 300)
-
Hast du vielleicht den "Waffen auf dem Rücken"-Mod? Würde zumindestens deinen Crash erklären:
ID 25 ist nämlich eine SkinID und keine WaffenID bei der Funktion. Falls du die Waffen anzeigen möchtest, musst du deren ObjektIDs angeben. IDs findest du im MapEditor oder im Internet.
-
Ich empfehle dir auf jedenfall Laufschuhe und keine normalen Sportschuhe. Beim Joggen sollte man nicht mit dem platten Fuß die Schritte setzen, sondern mit einer diagonalen Haltung, sprich der Fers ist stets oben. Laufschuhe haben dafür extra ein Gel in den Schuhen, damit diese Haltung eingeschalten wird - das ist eine Entlastung für den Rücken. Ich würde dir enge Kleidung empfehlen, ich empfinde "labrige" Kleidung als störend (z.B. diese extrem weiten Jogginghosen). Auch empfehle ich dir Musik mit vielen Beats per seconds, da der Körper sich an die Geschwindigkeit (unterbewusst) anpasst bzw. dich das motiviert deine Geschwindigkeit dahingehend anzupassen.
-
Vielleicht überlasten sie einfach den Server durch Angriffe oder nutzen einen Bug im Skript aus. Frag mal deinen Hoster ob er Kenntnis über Angriffe auf euren Server hat bzw. oder er da mal ein Auge drauf werfen kann
-
Falls du von playerid den Namen in die Variable playername übergeben möchtest - Ja. Aber wie gesagt, als dritten Parameter empfehle ich dir statt sizeof(playername), MAX_PLAYER_NAME!
-
Dabei haben Businesse den Offset von (glaube?) +99. Wenn du in keinem Gebäude bist, hast du den (default) Wert 255.
-
-
Du musst einfach die Variable playername als String definieren und nicht als intager, somit kannst du es einfach so schreiben
//EDIT
und sehe grade das du die GetPlayerName Funktion falsch verwendet hast.
Empfehlenswert ist eine Größe des Arrays von MAX_PLAYER_NAME. Auch sollte man als dritten Parameter bei GetPlayerName nicht sizeof(), sondern MAX_PLAYER_NAME verwenden - spart einen Funktionsaufruf.
-
Dafür brauchst du die Funktion [wiki]MoveObject[/wiki], mit der du die geschlossenen Türen hinbewegst. Dann, per Timer, 5 Sekunden später lässt du sie wieder zu den Positionen, wo sie erstellt wurden, zurückbewegen.
-
Das heißt man gibt sie dann im 24/7 ab ?
Je nachdem, wann du den Dialog aufrufst.