Beiträge von Johnny Macaroni
-
-
Mach bei deinem Dialog am schluss, "SpawnPlayer(playerid)" und bei "OnPlayerSpawn" machst du "SetPlayerSpectating(playerid,1);"
Dann sollte es funktionieren.
Ich glaube du meinst das ich den Spec-Mode auf 0 setzen soll, hab es auf jeden Fall grade eben mit 0 und 1 probiert, klappt nicht, man bleibt im Spec-Mode.
Aus irgendeinem Grund wird der Spieler nicht auf TogglePlayerSpectating(playerid, 0); gesetzt.. -
Also funktioniert es jetzt ohne Probleme?
Nein, der Spieler wird nach dem Login immer noch nicht gespawnt und bleibt einfach im Spec-Mode.
Ich habe derzeit leider gar keine Idee woran es Liegen könnte, hab ein ganz simples Command erstellt:
ocmd:unspec(playerid,params[]){ TogglePlayerSpectating(playerid, 0); return 1;}Nachdem man es eingibt klappt alles super, man wird an der angegebenen SetSpawnInfo-Position gespawnt, jedoch ist es jetzt auch nicht Sinn der Sache das man noch ein Command eintippen muss.
-
Bei TogglePlayerSpectating(playerid, 0); wird IMMER OnPlayerSpawn aufgerufen, da kannst du dann schlecht gleich danach die Position setzen.
Hast Du ne SpawnInfo gesetzt?:
http://wiki.sa-mp.com/wiki/SetSpawnInfoDanke schonmal! Nun Sieht OnPlayerRequestClass so aus:
TogglePlayerSpectating(playerid, 1); (Krieg kein Absatz hin -.-) SetSpawnInfo( playerid, 0, 0, 2327.0007,-1719.1052,13.5469,13.5469, 0, 0, 0, 0, 0, 0 );Bei DIALOG_LOGIN habe ich noch diese Zeilen hinzugefügt:
TogglePlayerSpectating(playerid, 0);(Absatz natürlich..)SpawnPlayer(playerid);Und bei stock SpielerLaden habe ich
TogglePlayerSpectating(playerid, 0);(Absatz)SetPlayerPos(playerid,x,y,z);
entfernt.Jedoch steckt der Spieler immernoch im Spec-Mode fest.
Ich habe mir das was du gestellt hast mal angeschaut. Könnte es vielleicht möglich sein, dass der Fehler auftritt, weil du bei "OnPlayerConnect" und "OnPlayerRequestClass" das gleiche ausführst ?
In beiden public's verwendest du "TogglePlayerSpactating 1" Also sagst du, das sobald er auf den Server kommt zum spactater wird und sobald er einen Skin auswählt nochmal Spactater wird.
Wo ist da die Logik ?
Oder habe ich einen Denkfehler ?
Du hast vollkommen Recht, das "TogglePlayerSpectating 1" ist beim OnPlayerConnect eigentlich unnötig, jedoch wusste ich nicht wie ich die Aussicht beim Login-Dialog ändern kann und habe dies deswegen hingesetzt.
Edit: Ahja habs grade beim OnPlayerConnect entfernt und geschaut ob sich etwas ändert, keine Änderung, leider.. -
Guten Abend,
und zwar bräuchte ich eure Hilfe. Ich arbeite derzeit einem Login- und Registerscript oder ohne den Spawn-Knopf funktioniert. Jedoch ist ein Fehler aufgetaucht und zwar wenn der Spieler zum Server connectet und sich einloggt, wird er nicht gespawnt OBWOHL ich SpawnPlayer(playerid); hingesetzt habe.Hier die einzelnen Zeilen:
OnPlayerRequestClass:
TogglePlayerSpectating(playerid, 1);OnPlayerConnect:
TogglePlayerSpectating(playerid, 1);
(Hier geht dann natürlich alles weiter...)DIALOG_LOGIN (Das passiert nachdem der Spieler sein richtiges Passwort eingegeben hat):
SpielerLaden(playerid);stock SpielerLaden:
TogglePlayerSpectating(playerid, 0);SetPlayerPos(playerid,x,y,z);
Usw...Hoffe das ihr mir helfen könnt!
Mfg
-
dir das du dies vergessen hast
Also muss ich statt
dini_Remove("/Accounts/%s.ini",name);das hier benutzen:
dini_Remove(Playerdatei);Danke für die schnelle Antwort!
-
Bekomme diesen Warning:
warning 202: number of arguments does not match definitionDie ist die Zeile:
if(response == 0)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
dini_Remove("/Accounts/%s.ini",name); //Das ist die Fehlerzeile
SendClientMessage(playerid,COLOR_ROT,"Du hast den Vorgang abgebrochen!");
Kick(playerid);
return 1;
}
Wie kann ich es beheben?Mit freundlichen Grüßen,
Johnny -
Die Kassen werden nie resettet, meist nur die einzelnen Spieler. SpielerSpeichern(); sieht so aus:
//Accspeichern
stock SpielerSpeichern(playerid)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
new Float:x, Float:y, Float:z, Float:a, Float:h;
GetPlayerHealth(playerid,h);
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
dini_FloatSet(Playerdatei,"Leben",h);
dini_FloatSet(Playerdatei,"PosX",x);
dini_FloatSet(Playerdatei,"PosY",y);
dini_FloatSet(Playerdatei,"PosZ",z);
dini_FloatSet(Playerdatei,"PosA",a);
dini_IntSet(Playerdatei, "Versicherung", Spieler[playerid][Versicherung]); //Versicherung
dini_IntSet(Playerdatei, "Bankkonto", Spieler[playerid][Bankkonto]); //Konto
dini_IntSet(Playerdatei, "Wanteds", Spieler[playerid][Wanteds]); //Wanteds
dini_IntSet(Playerdatei, "Telefonbuch", Spieler[playerid][Telefonbuch]); //Telefonbuch
dini_IntSet(Playerdatei, "Arbeitsgeld", Spieler[playerid][Arbeitsgeld]); //Arbeitsgeld
dini_IntSet(Playerdatei, "Stunden", Spieler[playerid][Stunden]); //Stunden
dini_IntSet(Playerdatei, "Alter", Spieler[playerid][Alter]); //Alter
dini_IntSet(Playerdatei, "Geschlecht", Spieler[playerid][Geschlecht]); //Geschlecht
dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
dini_IntSet(Playerdatei, "NextPayday", Spieler[playerid][NextPayday]); //NextPayday
dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
dini_IntSet(Playerdatei, "Premium", Spieler[playerid][Premium]); //Premium
dini_IntSet(Playerdatei, "Gebannt", Spieler[playerid][Gebannt]); //Gebannt
dini_IntSet(Playerdatei, "Job", Spieler[playerid][Job]); //Job
dini_IntSet(Playerdatei, "Fraktion", Spieler[playerid][Member]); //Fraktion
dini_IntSet(Playerdatei, "Handy", Spieler[playerid][Handy]); //Handy
dini_IntSet(Playerdatei, "Fuehrerschein", Spieler[playerid][Fuehrerschein]); //Führerschein
dini_IntSet(Playerdatei, "Motorradschein", Spieler[playerid][Motorradschein]); //Motorradschein
dini_IntSet(Playerdatei, "Bootschein", Spieler[playerid][Bootschein]); //Bootschein
dini_IntSet(Playerdatei, "Lkwschein", Spieler[playerid][Lkwschein]); //Lkwschein
dini_IntSet(Playerdatei, "Flugschein", Spieler[playerid][Flugschein]); //Flugschein
dini_IntSet(Playerdatei, "Waffenschein", Spieler[playerid][Waffenschein]); //Waffenschein
dini_IntSet(Playerdatei, "Stadtplan", Spieler[playerid][Stadtplan]); //Stadtplan
dini_IntSet(Playerdatei, "Interior",GetPlayerInterior(playerid)); //Interior
dini_IntSet(Playerdatei, "Skin",GetPlayerSkin(playerid)); //Skin
dini_IntSet(Playerdatei, "Level",GetPlayerScore(playerid)); //Level
dini_IntSet(Playerdatei, "Geld",GetPlayerMoney(playerid)); //Geld
dini_IntSet(Playerdatei, "Perso", Spieler[playerid][Perso]); //Persodini_IntSet(Playerdatei, "Miete", Spieler[playerid][Miete]); //Miete
dini_IntSet(Playerdatei, "Admin", Spieler[playerid][Admin]); //Admin
dini_IntSet(Playerdatei, "Getoatet", Spieler[playerid][Getoatet]); //Getötetdini_IntSet(Playerdatei, "Gestorben", Spieler[playerid][Gestorben]); //Gestorben
dini_IntSet(Playerdatei, "Bank", Spieler[playerid][Bank]); //Bank
return 1;
} -
Mach ich nicht, aber es wird ja oft auch alles einfachso auf 0 gesetzt. Wenn ich es machen würde, würd ich es so machen:
//Neustart
if (strcmp("/neustart", cmdtext, true) == 0)
{
if(Spieler[playerid][Eingeloggt] == 1)
{
if(Spieler[playerid][Admin] >= 3)
{
SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
{
if(Spieler[i][Eingeloggt] == 1)
{
SpielerSpeichern(i);
KassenSpeichern();
SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
}
}
return 1;
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
return 1;
}
}
return 1;
}Ich danke dir für die schnelle Antwort!
-
Guten Tag liebe Brotfische!
Ich habe ein Problem, und zwar werden alle Dini Values nach einem Serverneustart (mit gmx) einfach auf 0 gesetzt, zB wird die Position, das Geld, Adminrang, einfach alles was ich mit Dini abspeichere auf 0 gesetzt. Wie kann ich es ändern?//Neustart
if (strcmp("/neustart", cmdtext, true) == 0)
{
if(Spieler[playerid][Eingeloggt] == 1)
{
if(Spieler[playerid][Admin] >= 3)
{
SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
{
if(Spieler[i][Eingeloggt] == 1)
{
SpielerSpeichern(i);
KassenSpeichern();
SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
}
}
return 1;
}
else
{
SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
return 1;
}
}
return 1;
}Mit Freundlichen Grüßen,
Johnny -
Hallo Leute,
da ich einen sehr langsame PC habe, würde ich gerne erfahren welcher Browser den PC am meisten auslastet.
Ich habe sehr lange Opera genutzt, bin jedoch dann auf Google Chrome umgestiegen, was mir aber aufgefallen ist, ist das Opera viel schneller gearbeitet hat als Google Chrome.Auf den Bildern könnt ihr auch die Arbeitsspeicher auslastung sehen..
Google Chrome:
Opera:
Ich bin jetzt nicht der Computer Profi aber mir wurde gesagt das Arbeitsspeicher sehr viel mit der PC Auslastung zu tun hat.
Ich bitte euch um Tipps, kennt ihr villeicht noch bessere Browser? Oder sollte ich einfach den Browser richtig einstellen?
Danke jetzt schonmal für eure Hilfe!Mgf
-
Meiner Meinung ist dieser Script wirklich mager. Sehr viele Bugs, alles voller Rechtschreibfehler, die hälfte ist Copy&Pase. Ich würde dir raten bei den Commands abzufragen ob jemand eingeloggt ist, da wenn du einen Adminnamen wählst, dich einloggst und vor dem eingeben des Passwortst F6 anklickst und da ein Command z.B /kick [id] reinschreibst, wird der User gekickt obwohl du dich nichtmal eingeloggt hast.
Mgf
-
Also ich habe meinen auf 8000 gesetzt. Auf 6000 hat er mir die Meldung noch angezeigt, bei 7000 jedoch nicht mehr. Versuchs einfach mit einer höheren Zahl, aber bitte nimm meine Worte auch nicht so sehr Ernst da wie du siehst ich selber erst ein Anfänger bin.
Mgf
-
Okay, ich danke euch beiden!
-
Ich danke dir erstmal für deine schnelle Antwort!Die Meldung nach dem Compilen ist nicht mehr da, jedoch würde ich trotzdem erfahren was das für 'Auswirkungen' hat.. Kann es sein das der Server dann zum laggen kommt oder sowas?
-
Also seit kurzem bekomme ich so eine Nachricht nach dem Compile:
Da ich keine Ahnung habe was das heißen soll, frage ich einfach mal nach.. Ich dachte erst daran das ich zuviel Speicher ausnutze, kann das sein?
Das kommt halt seitdem ich einen sehr großen String erstellt habe. Hoffe auf eine schnelle Antwort
MGF -
Ouhman ich danke dir vielmals! Hab also meinen ganzen /stats Befehl falsch konstruiert! C&P war es wirklich nicht, eher habe ich die Tutorials im falschem Forum gelesen!
Ich danke dir nochmal vielmals! -
Ich verstehe ehrlich gesagt nicht wirklich wie das gehen soll. Könntest du es bitte etwas besser erklären wie ich die Wanteds anders auslesen soll?
Und das mit dem Code habe ich inzwischen gefixt, lag wahrscheinlich an meinem Browser..Mgf
-
Hallo liebe Community!
Also ich hab ein Problem mit meinem /wantedliste Befehl und zwar werden die Leute die Wanteds haben angezeigt, die Wanteds der Leute jedoch nicht.
Ich verstehe also nicht wie ich die Wanteds von den Spielern auslesen soll.Hier der Scriptingcode des Befehls:
ocmd:wantedliste(playerid,params[])
{
if(Spieler[playerid][Fraktion] == 5) return SendClientMessage(playerid,COLOR_ROT,"Du bist kein Polizist!");
{
new string[256], HatJmdWps = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Spieler[i][Eingeloggt] == 0) continue;
if(Spieler[i][Wanteds] >=1)
{
new Playerdatei[128];
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",i);
SendClientMessage(playerid,COLOR_HELLBLAU,"___________ Gesuchte Verbrecher ___________");
format(string,sizeof(string),"%s - %d Wanteds", SpielerName(i),dini_Int(Playerdatei,"Wanteds"));
SendClientMessage(playerid,COLOR_WEISS,string);
HatJmdWps = 1;
}
}
if(HatJmdWps == 0) return SendClientMessage(playerid, COLOR_ROT, "Derzeit gibt es keine Verbrecher!");
}
return 1;}Es gibt keine Errors, wie schon gesagt nur der Name des Spielers der die Wanteds hat wird angezeigt, die anzahl der Wanteds jedoch nicht.
Die Wanteds werden auch in den /stats angezeigt & auch gespeichert!
Hier noch für alle Fälle ein Bild:Ich suche schon sehr lange finde jedoch keine Antwort, ich hoffe ihr könnt mir helfen!
Mgf