Hier kannst du Plugin "Dialog Alpha Whatever" auf Linux umschreiben?
Beiträge von [DT]deed
-
-
Bei der Signatur kannst du den Rand etwas Sichtbarer machen.
-
Setz den Spieler unter der Kamera Position oder unter den Boden und Freeze ihn
-
Hier ein noch sparender Code
oben im Script
#define getname(%0,%1) GetPlayerName(%0,%1,sizeof(%1))Verwendung:
new string[50];
format(string,sizeof(string),"%s bla",getname(playerid,string));Es kommen keine Errors doch ich garantiere nicht dass es funkt, müsste es aber
-
Ja, kommt aber auch drauf an wie du es verwendest. Wenn du es bei format(........,GetPlayerName(playerid,name[playerid],MAX_PLAYERS)); verwendest, dann könnte es schohnender sein, aber einfach zu umständlich.
-
colorpicker.com
Den Code dann zwischen { } setzen
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "San Andreas Roleplay: Login", "{FAFAFA}Willkommen zurück auf {468CE8} San Andreas Roleplay {FAFAFA}Loge dich mit deinem Passwort ein.","Login","Abbruch");
-
Du sollst mir diese Funktion zeigen "SpawnPlayerEx" und nicht unprison, die hast du bereits gezeigt.
-
Hast schon Recht es ist resourcenschohnender, aber aufwändiger. Zudem frisst die Funktion nicht viel mehr.
//edit
Jedoch wenn du es öfters verwendest kommst du im Schnitt weiter raus als bei der Funktion.
-
Such nach "SpawnPlayerEx" und zeig mal die Funktion.
-
Ist es nicht resourcenschohnender wenn er einmal eine Funktion erstellt und dann diese im format verwendet, falls er es öffters mal braucht, oder im Falle der öfteren Verwendung , ständig GetPlayerName hinzufügen muss ?
-
@threadstarter Korrektur, verbessere tot[playerid] == 1 die 1 in true und bei 0 in false.
Music, danke , hab bool nicht sonderlich viel zu tun :=)
-
hm du hast Recht, warum?
-
Ein bool gibt nur zwei werte raus, nämlich 0 und 1 , false und true.
-
Ist nicht die beste Methode aber ich habe keine Lust jetzt ein code hinzuklatschen den ich dann erklären muss
new bool:tot[MAX_PLAYERS];
Unter OnPlayerDeathtot[playerid] = 1;
Unter OnplayerSpawn
if(tot[playerid] == 1)
{
SetTimerEx("Auferstehung", 1000*60, false ,"i",playerid);
// Und halt die Funktion die ihr noch haben wollt, z.B wo er warten soll..}
forward Auferstehung(playerid);
public Auferstehung(playerid)
{
SpawnPlayer(playerid);
tot[playerid] = 0;
return 1;
} -
Zum stoppen kannst du auch "ps -ax" dir die Prozesse anzeigen lassen und mit "kill -9 PROZESSID" kannst du sie stoppen, soweit ich noch weiß bewirkt -9 dass du sämtliche Prozesse die mit dem samp server client verbunden sind, auch stoppen.
-
Meinst du den Prozess stoppen?
-
MrMonat hat wahrscheinlich MySQL über seinen Homerechner gestartet mit xampp, daher benutzt er die IP, du solltest nicht die IP benutzen weil du wahrscheinlich dein MySQL und den SAMP server nicht auf dem Homerechner hast? Stattdessen wäre "localhost" richtig.
Erklärung 127.0.0.1 ist keine "echte" IP-Adresse, sondern eine "Funktionsadresse", die immer den eigenen Rechner adressiert, also den Rechner, der die Verbindung aufbaut:Erklärung "
localhost steht in der Netzwerktechnik für das momentan genutzte System oder dessen IP-Adresse -
Falls du eventuell weitere Befehle in die Richtung einfügen möchtest, wo du den Namen brauchst wäre es dennoch hilfreich
-
Wenn ich mich nicht Irre hast du hier einen Denkfehler oder Schreibfehler.
format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.txt",name); //Die Abfrage zum Verzeichnis
Schau dir mal das Verzeichnis an.Eine etwas kürzere Methode.
Spoiler anzeigen Unter OnPlayerConnect
if (Whitelist(playerid)) {
} else {
SendClientMessage(playerid, COLOR_RED, "Du bist kein Betatester!");
Kick(playerid);
}
OCMD Befehl
ocmd:whitelist(playerid, params[]){
new Namee[24];
if(IstAdmin(playerid)){
if(sscanf(params, "s", Namee)) return SendClientMessage(playerid, COLOR_CORNSILK, "Benutzung: /whitelist [Name]");
new
File:hFile,coordsstring[128],
string[128];
format(coordsstring,128, "%s\r\n",Namee);
hFile = fopen("Whitelist.cfg", io_append);
fwrite(hFile, coordsstring);
fclose(hFile);
format(string,sizeof(string),"%s wurde zur Whitelist hinzugefügt!",Namee);
SendClientMessage(playerid,COLOR_YELLOW,string);}
return 1;
}
Whitelist Funktion
Whitelist(playerid)
{
if (gdebug==1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Whitelist.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp)) {
StripNewLine(valtmp);
if (!strcmp(valtmp, playername2, true, strlen(playername2))) {
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
} -
Soweit so gut, ich hab mich jetzt nicht auf alles konzentriert, habe aber gemerkt, dass du zu oft GetPlayerName benutzt, ich meine klar du brauchst es aber die "new name[24];" sind mir zu viel, wäre es nicht einfacher eine Funktion zu erstellen und diese dann ständig zu verwenden ? Gemeint >> GetName(playerid); "(stock) GetName(playerid) { new ......... }"