ich bin verwird xD .. ehm was soll ich wo jetzt einfügen ??
Wenn du willst, kann ich dir über TeamViewer helfen. Ist viel einfacher für mich und dich.
ich bin verwird xD .. ehm was soll ich wo jetzt einfügen ??
Wenn du willst, kann ich dir über TeamViewer helfen. Ist viel einfacher für mich und dich.
Oder probier mal SetPlayerSkin direkt unter LoadAccount einzubauen!
Dann muss aber direkt danach SpawnPlayer(playerid);, da bei OnPlayerRequestClass wieder alles verloren geht.
Wenn du LoadAccounts schon in deinem stock hast, brauchst Du es eigentlich bei OnPlayerSpawn nicht.
Teste es mal. Sollte eigentlich klappen, wenn nicht, kann ich dir auch über TeamViewer helfen.
Außerdem bei if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false)) noch ein SetPVar(playerid,"loggedin",1); hin
Alles anzeigen(10024) : error 001: expected token: ",", but found "."
10024) : error 029: invalid expression, assumed zero
(10024) : warning 215: expression has no effect
(10024) : error 001: expected token: ";", but found ":"
(10024) : fatal error 107: too many error messages on one line
format(string, sizeof(string), "Unsere TeamSpeak3IP: {0000FF}%s ",212.227.88.555:9985);
Mach es doch einfach so:
format(string, sizeof(string), "Unsere TeamSpeak3IP: {0000FF}212.227.88.555:9985 ");
Wofür das ganze Theater?
Außerdem ist %s ein string.
edit:
Einen neuen string zu erstellen ist hier eigentlich unnötig, da Du keine PlayerVariable oder sonstiges wiedergeben möchtest. Du könntest auch direkt folgendes schreiben:
SendClientMessage(playerid,FARBE,Unsere TeamSpeak3IP: {0000FF}212.227.88.555:9985 ");
GetPlayerSkin entfernt geht aber immer noch nicht, und ehm nein habe ich nirgends wo glaub ich
Ja, dann ist es auch kein Wunder, dass dein Skin nicht geladen wird xD
Hast Du ein Login/Register-System? Wenn ja, dann füge LoadAccounts(playerid); dort ein, wo der Spieler sein Passwort eingibt bzw. sich eingeloggt hat.
Du kannst auch unter OnPlayerSpawn folgendes schreiben:
if(GetPVarInt(playerid,"loggedin")==1)
{
LoadAccounts(playerid);
}
Vergiss aber nicht beim Login die PVar auf 1 zu setzen ;)!
Alles anzeigenBei OnPlayerDisconect habe ich dies, und ja ich habe gerade den /restart befehl gelöcht dort stand auch SaveAccounts und sowas den stock davon auch gelöcht.
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerSkin(playerid);
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}
Ja
e: aber geht immer noch nix ..
Das GetPlayerSkin bei OnPlayerDisconnect ist Fehl am Platz.
Hast Du denn auch dein stock LoadAccounts bei OnPlayerConnect oder deinem Login-Dialog benutzt?
Die Variablen solltest du auf alle Spieler beziehen, also ein [MAX_PLAYERS]; dranhängen.
Schwachsinn...
Er will den Punktestand abspeichern und da ist eine globale Variable vollkommen ausreichend. Wofür braucht man da MAX_PLAYERS?
Den skin speichert er einfahr nicht .. bin einmal Disconnectet da hat er auch nich gespeichert, habe dann den Server Restartet Speichert er auch nicht ..
Im OnPlayerDisconnect-Callback SpielerSpeichern(playerid); geschrieben? Oder ein /saveall-Befehl zum Speichern erstellt? Ansonsten speichert er ja natürlich nicht
if(strcmp(cmd,"/deagle",true)==0)
{
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,24,999);
// SetPlayerPos(playerid,x,y,z);
return 1;
}
Seine Waffen werden ihm abgenommen und daraufhin erhält er eine Desert Eagle mit 999 Schuss vom System.
Die PVar kann man dafür nehmen, damit man später ein Anti Skin-Cheat machen kann.;)
Dazu muss er aber noch einen Timer starten, der überprüft, ob GetPlayerSkin der PVar entspricht.
Wenn es nur beim Login „überprüft“ wird, bringt es ja einem wenig.
Wofür noch eine extra PVar, wenn es eine direkte Funktion gibt?
dini_IntSet(Spielerdatei,"Skins",GetPlayerSkin(playerid));
Das ist ja schon mal korrekt, danach geh unter das OnPlayerSpawn-Callback und schreibe folgendes darunter:
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
Und schon wurde dein Skin gespeichert.. picóbello!