Die "ALT GR" Taste + Das ß/? also Die Taste drücken
Beiträge von SLaYz
-
-
Du musst \n nicht /n machen^^
-
Wo Speichert er denn das Ab das der Spieler Überhabt Spawnchange gemacht hat? Der wert wird zwar Gesetzt aber nicht Gespeichert
Dann kann es ja nicht Gehen da ja neu einen Relog/Server Neustart der Wert wieder auf 0 ist
zum Speichern z.b. SpielerSpeichern(playerid);
-
Das Wetter bei uns ist nicht Viel Besser (Kleve)^^
Kein Problem
-
CMD:goto(playerid,params[])//params nicht parmas
{
if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,Weiss,"[SERVER]Du hast nicht die Rechte dazu!");
new pID,Float:X,Float:Y,Float:Z;
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Weiss,"[FEHLER]Der Spieler ist nicht Online!");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Türkis,"[FEHLER]/goto [ID]"); <-- Erro Zeile
GetPlayerPos(pID,X,Y,Z);
SetPlayerPos(playerid,X,Y,Z);
return 1;
} -
Dann hättest du die .ini-Dateien nicht Bearbeiten/Editieren dürfen. Da bei manchen Servern die Sachen nicht Übernommen und die Passwärter nicht mehr gehen
Schlimmster Fall: Alle Accs Löschen
-
Dann geh mal bitte da Drauf: http://samp4you.com/index.php?site=panel&option=bans
Dort sind auch die Server Bans eingetragen -
Bei welchen Hoster ist der Server Gehostet?
-
Guck mal in der Datei: samp.ban Dort sollten Einträge sein wenn Spieler Gebannt werden.
-
new string[68];
format(string, sizeof(string), "%s hat die Fabrik DM Zone(/fdm) betreten.",SpielerName(playerid));
SendClientMessageToAll(BLAU, string);Getestet: Ja
Funktioniert: Ja -
i-welche Warnings?
Wenn nicht versuchs mal so
ocmd:gmx(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,5))
{
SetTimer("Serverrestart",60000*20,1);//Wieso nur 60 Sekunen? wenn du 20 Minuten willst dann 60000*20
SendClientMessageToAll(Rot,"______________________________________________");
SendClientMessageToAll(Rot,"Der Server wird in 20 Minuten neu gestartet");
SendClientMessageToAll(Rot,"______________________________________________");
}
else
{
SendClientMessage(playerid,Rot,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Projektleiter");
}
return 1;
} -
Das Geld wird mit %d abgefragt nicht mit %i
z.B. %d08 Dann wird "00000000" angezeigt
-
Plugins Richtig geladen?
Bei Linux muss man in die CFG: .so schreiben also streamer.so usw
-
Der server ist Offline
-
Mach das was du da gemacht hast mal in:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{return 1;
}Dann hast du auch kein Error
-
Kein Problem
Ich hoffe du hast es Gesehen was ich Verändert habe^^
-
Habs Editiert
-
Behoben
Du hast Das Login Dialog außerhalb der OnDialogResponse gehabt.
Kopier das und Ersetze das mit deinen public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN) // DIALOG_LOGIN wird abgerufen.
{
if(response == 0) // Der Abbrech Button
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Login Vorgang abgebrochen!");
Kick(playerid); // Kickt den Spieler
return 1;
}
if(response == 1) // Der Login Button
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Ihr Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext); // Diese Funktion erstellen wir gleich
return 1;
}
}
}if(dialogid == DIALOG_REGISTER) // Ruft DIALOG_REGISTER auf
{
if(response == 0) // Der Abbrech Button
{
SendClientMessage(playerid,COLOR_RED,"Sie haben die Registrierung abgebrochen!");
Kick(playerid); // Kickt den Spieler
return 1;
}
if(response == 1) // Der Register Button
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registrierung auf DeinRL","Willkommen auf DeinRL City!\nBitte geben sie nun ihr gewünschtes Passwort ein","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext); // Funktion wird gleich erstellt.
return 1;
}
}
}
return 1;
}Dein Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN) // DIALOG_LOGIN wird abgerufen.
{
if(response == 0) // Der Abbrech Button
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Login Vorgang abgebrochen!");
Kick(playerid); // Kickt den Spieler
return 1;
}
if(response == 1) // Der Login Button
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Ihr Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext); // Diese Funktion erstellen wir gleich
return 1;
}
}
}
return 1;
} //Hier hört bei dir OnDialogResponse auf Aber das DIALOG_REGISTER muss auch rein ;) Sonst wird das nix^^
if(dialogid == DIALOG_REGISTER) // Ruft DIALOG_REGISTER auf
{
if(response == 0) // Der Abbrech Button
{
SendClientMessage(playerid,COLOR_RED,"Sie haben die Registrierung abgebrochen!");
Kick(playerid); // Kickt den Spieler
return 1;
}
if(response == 1) // Der Register Button
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registrierung auf DeinRL","Willkommen auf DeinRL City!\nBitte geben sie nun ihr gewünschtes Passwort ein","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext); // Funktion wird gleich erstellt.
return 1;
}
}
} -
Füg das mal in den GameMode (Am besten Ganz unten)
Spoiler anzeigen /*=====[sscanf]=====*/
stock sscanf(sstring[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(sstring))
#else
if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
sstringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
{
sstringPos++;
}
while (paramPos < paramCount && sstring[sstringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = sstring[sstringPos];
if (ch == '-')
{
neg = -1;
ch = sstring[++sstringPos];
}
do
{
sstringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = sstring[sstringPos];
do
{
sstringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, sstring[sstringPos++]);
}
case 'f':
{Spoiler anzeigen new changestr[16], changepos = 0, strpos = sstringPos;
while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
{
changestr[changepos++] = sstring[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
sstringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = sstringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = sstring[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
sstring[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - sstringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, sstring[sstringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
sstring[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
sstringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = sstring[sstringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = sstring[sstringPos++]))
{
setarg(paramPos, i++, ch);
}
}
sstringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
{
sstringPos++;
}
while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
{
sstringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
} -
Aber du kannst ja im Restart Befehl einen Timer einbauen und im Restart Befehl die Accounts Speichern^^