MoveDynamicObject
zu:
MoveObject
Beiträge von Jeffry
-
-
Das sind viel zu viele Zeichen.

168 Zeichen, ohne dass die Platzhalter ausgefüllt worden sind. Das ist zu viel. Entweder du machst es in 2 Zeilen, oder du machst die Farben weg.
Maximum ist 144 Zeichen. Mehr wird nicht angezeigt. Wenn du mehr anzeigen willst, siehst du gar nichts mehr, daher msg auf 144 lassen. -
Wie sieht denn der Text im Code aus?
Und mach mal ein Bild wie es ingame aussieht.SendClientMessage ist generell auf 144 Zeichen limitiert.
-
@Mr.Reese: Das ist falsch was du da machst. Mit strings geht weder ein switch, noch kannst du strings über "==" vergleichen. Außerdem fehlen bei den case's die geschwungenen Klammern, einen break darfst du in PAWN nicht verwenden, das machst du in Java.
Manyula: Die case's in einem switch können nur Konstanten beinhalten, keine Variablen. Daher geht das hier nicht. So wie du es hast ist es gut.
switch(wert)
{
case 0: //...
case 1: //...
case 2: //...
default: //...
}0 / 1 / 2 / ... / default sind Konstanten, damit geht es. BF_WEAPON[0] ist eine Variable, damit geht es nicht.
-
Poste den Server Log und deine server.cfg.
-
Dort wo er gekickt wird, für "noch gebannt":
new ts = SpielerInfo[playerid][pTBan] - gettime();
new d = ts / 86400;
ts -= d * 86400;
new h = ts / 3600;
ts -= h * 3600;
new m = ts / 60;
ts -= m*60;
new s = ts;
new msg[144];
format(msg, sizeof(msg), "Du bist noch %d Tag(e) / %d Stunde(n) / %d Minute(n) / %d Sekunde(n) gebannt.", d, h, m, s);
SendClientMessage(playerid, 0xFF0000FF, msg); -
Das kannst du ja in einem extra Stat speichern. Der Timestamp muss bleiben, sonst geht dein ganzer Code nicht mehr.
Das Zurücksetzen:
SpielerInfo[playerid][pTBan] = 0;
Danach musst du den Spieler natürlich auch wieder speichern. -
Suche BlueG Mysql r5 linux
Die originalen Links sind down.Schau mal hier:
[Mysql] Hat wer's noch?(BlueG)
MySQL Plugin von BuleG R5 -
if(strlen(inputtext))
{
if(!strlen(inputtext))
{Das macht wenig Sinn.

Mach die erste if-Klammer weg (die ohne das !), dann geht's.
-
for(new i=0; i<MAX_PLAYERS; i++) SetPlayerMarkerForPlayer( i, playerid, ( GetPlayerColor( playerid ) & 0xFFFFFF00 ) );
Geht allerdings nur, wenn du zuvor SetPlayerColor irgendwann verwendet hast. Falls du bei OnPlayerConnect/OnPlayerSpawn dem Spieler die Farbe gibst passt das, dann hast du keine Probleme.
-
Dann setze dort, wo du den Spieler entbannst: (Hier: if(SpielerInfo[playerid][pTBan] <= gettime()))
SpielerInfo[playerid][pTBan] = 0;Diese "so eine Zahl" ist der Timestamp, an dem du entbannt wirst.
http://www.epochconverter.com/ -
Stimmt doch alles!
Du speicherst den Timestamp des Unbans.
wert = gettime() + (60*zeit);Ebenso fragst du ihn ab, also passt doch alles. Ich verstehe immer noch nicht wo dein Problem ist, das funktioniert so.
Teste es doch mal.
-
Das wird dann wohl der Timestamp sein. Poste doch mal den Code mit dem du den Spieler zeitlich begrenzt bannst und mit dem du TBan speicherst.
-
Ersetze
ShowPlayerNameTagForPlayer(playerid, i, true);Mit
ShowPlayerNameTagForPlayer(i, playerid, true);Einfach playerid und i vertauschen...
-
Int = Integer
Wo ist das Problem? TBan ist doch ein Integer.
-
for(new i = 0; i < MAX_PLAYERS; i++){ShowPlayerNameTagForPlayer(playerid, i, true);}
Hier musst du playerid und i vertauschen, also i muss vorne stehen.
Dann sieht man dich auch wieder. -
Die Pfeiltasten können damit nicht erkannt werden.
http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChangeNutze GetPlayerKeys unter OnPlayerUpdate.
-
return 1;
Das gehört nicht in die Schleifen. Beides mal raus machen.
Ebenso müssen die Nachrichten die du innerhalb der Schleifen hast, und das Abziehen des Geldes vor bzw nach die Schleifen (ist egal), da du sonst 500 Nachrichten bekommst.
-
Sofern ich das am Handy beurteilen kann, nicht immer ganz. So wäre es allgemein sicherer (keine Bugs):
Function SetPlayerToTeamColor(playerid)
{
if(PlayerInfo[playerid][pMember] > 0)return SetPlayerColor(playerid,TeamFarbenArray[PlayerInfo[playerid][pMember]]);
if(PlayerInfo[playerid][pLeader] > 0)return SetPlayerColor(playerid,TeamFarbenArray[PlayerInfo[playerid][pLeader]]);
return SetPlayerColor(playerid,-1);//Falls Zivi
}Außer du hast Member und Leader auf dem gleichen Wert, viele vergessen das aber und setzen nur eines davon auf den Wert der Fraktion.
Aber generell natürlich, ja.
-
@xChicagoBulls:
Der Grund warum du es andersherum schreiben sollst ist Folgender:Du fragst oben ab:
Member=0 oder Leader=0
Dort hört er immer auf, wenn du mit else arbeitest, da er ja entweder in der Fraktion Member ist, oder Leader ist, also ist eines von beidem immer 0, wegen der Standardinitialisierung von 0.Wenn du, so wie du es jetzt machst die else alle weg machst, dann setzt er dir erst die Farbe zu Zivil und anschließend zu der Farbe die du eigentlich hast. Funktioniert zwar, ist aber kein schöner Stil, vor allem wenn du mal mit etwas arbeitest was man sieht (zum Beispiel Nachrichten) klappt das so nicht mehr.
Daher solltest du es so machen wie du in deiner Antwort auf meinen ersten Post bereits angefangen hast.