ja die dateien sollten da sein sonst kann er des ned speichern
Beiträge von SmD
-
-
du hast am ende des "/repair" commands ein "}" vergessen
Edit:
loose identiation bedeutet das du falsch eingerückt hast, am besten die commands ab "/Nlok" markieren und einmal TAB drücken
-
also ich habe es jetzt ausprobiert und es funktioniert einwandfrei, sind die spielerdateien denn eigentlich schon vorhanden, in die er es speichern soll?
-
also ich habe das script jetzt mal bei mir eingefügt und meldet schon mal keine errors ich probiers jetz mal aus und sag dir dann gleich bescheid ob bei mir noch was ned geht
-
Das oben ins Script:
new saveallowed[MAX_PLAYERS];Das unter OnPlayerCommandText:
if(!strcmp(cmdtext,"/allowsavespawn",true,15))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin");
if(cmdtext[15] == 0) return SendClientMessage(playerid,0xFFFFFFFF,"NUTZUNG: /allowsavespawn [playerid]");
if(!IsPlayerConnected(strval(cmdtext[15])) return SendClientMessage(playerid,0xFFFFFFFF,"Kein Spieler mit dieser ID gefunden");
saveallowed[strval(cmdtext[15])] = 1;
SendClientMessage(playerid,0xFFFF00FF,"Du hast dem Spieler das Spawn-Speichern erlaubt");
SendClientMessage(strval(cmdtext[15]),0xFFFF00FF,"Dir wurde das Speichern deines Spawnpunkts erlaubt");
return 1;
}if(!strcmp(cmdtext,"/savespawn",true))
{
if(saveallow[playerid] != 1) return SendClientMessage(playerid,0xFF0000FF,"Dir wurde das Speichern deines Spawnpunkts nicht erlaubt");
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
new spielerdatei[64];
format(spielerdatei,sizeof(string),"/Pfad der Spielerdatei/%s.ini",playername);
dini_FloatSet(spielerdatei,"SpawnX",x);
dini_FloatSet(spielerdatei,"SpawnY",y);
dini_FloatSet(spielerdatei,"SpawnZ",z);
SendClientMessage(playerid,0xFFFF00FF,"Spawnpunkt gespeichert");
return 1;
}ich hoffe es ist einigermaßen bugfrei
mfg
SmD
-
if (strcmp("/fcarrespawn", cmdtext, true, 10) == 0 || strcmp(cmdtext, "/fcr", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1)
{
new playerinvehicle;
for(new v = 0;v<96;v++)//loopt durch alle SAPD-Cars
{
for(new p = 0;p<MAX_PLAYERS;p++)//loop durch alle Spieler
{
new vehid = GetPlayerVehicleID(p);
if(vehid == PolizeiVehs[v])
{
playerinvehicle++;
}
}
if(playerinvehicle == 0)
{
SetVehicleToRespawn(PolizeiVehs[v]);
}
playerinvehicle = 0;
}probier das mal
mfg
SmD
-
if(GetPlayerVehicleID(i) != SpawnedCar[v] && GetPlayerVehicleID(i) != SpawnedCar[0] && GetPlayerVehicleID(i) != SpawnedCar[1])
{
RemovePlayerFromVehicle(i);
SendClientMessage(i,0xAA3333AA,"Das ist nicht dein Fahrzeug!");
}vll so?
btw: wieso überprüfst du nicht unter OnPlayerStateChange ob das auto dem spieler gehört, eben wenn der spieler als fahrer einsteigt
-
ich bin mir nicht sicher ob 512 zu lang ist, vll gehts mit 256
-
dann versuchs mal statt 32 mit 256
-
new autoname[32];
autoname = ........so müsste es gehen
mfg
SmD
-
Mein Vorschlag:
Im stock SpielerSpeichern:
dini_IntSet(spielerdatei,"skin",GetPlayerSkin(playerid));Im stock LoadAccount:
new skin = dini_Int(spielerdatei,"skin");
SetPlayerSkin(playerid,skin)um den spieler direkt spawnen zu lassen, musst du nach dem der user auf login geklickt hat (und das passwort natürlich richtig war):
SpawnPlayer(playerid);ich hoffe ich konnt dir damit etwas etwas weiterhelfen und habe dich in deiner frage nicht falsch verstanden
Mfg
SmD
-
if(strcmp(cmdtext,"/explode",true)==0)
{
new Float:x, Float:y, Float:z; //Variablen für die Koordinaten definieren
GetPlayerPos(playerid,x,y,z); //Spielerposition wird erfasst
CreateExplosion(x,y,z,0,20); //Explosion vom typ 0 und im radius von 20 wird an der Position des Spielers erzeugt
return 1;
}Explosions-Typen: http://wiki.sa-mp.com/wiki/Explosion_types
Wenn du eine Explosion an einer festen Stelle erzeugen willst, dann die ersten beiden Zeilen weglassen und statt x,y,z die gespeicherten koordinaten.
-
Kompressor 1. Wette leider verloren. 2.Ich habe gerade nur unter alte Threads ohne antwort gepostet und manche Threads muss man nicht unbedingt mit einem script beantworten, da man auch mal google oder youtube benutzen könnte um sachen zu lernen und nicht sinnlos scripts von anderen leuten kopieren, wozu es manchmal eh schon 1000 tutorials im web gibt und die eigentlich ganz easy sind
-
kommt drauf an, ob du mit spielerdateien arbeitest und ob du mit dini arbeitest und wie du es verwendest
-
wenn der leader einen autoschlüssel vergibt, kann man das in der spielerdatei mit hilfe von dini abspeichern, genau so kann er ihn auch wieder entziehen. wenn ein spieler in ein auto mit /engine o.ä. starten will musst du überprüfen ob ein spieler den schlüssel für das fahrzeug besitzt.
es gibt auch noch die möglichkeit, dass wenn der schlüssel vergeben wird, dass der genaue name des spielers angegeben werden muss, welcher dann z.b. in einer datei für das fahrzeug ("[carid].txt" könnte man z.b. machen) abgespeichert wird.
es gibt mehrere möglichkeiten so etwas zu machen am besten ist es du googelst und schaust dir tutorials an, dass hilft eig am meisten -
du könntest den gehalt mit dini in einer datei abspeichern, der beim payday abgerufen wird
-
das liegt daran, dass wenn er ein waffe "erkennt" aus dem if/else rausgeht und im script drunter weiter macht, du müsstest die else's weglassen, dann sollte es gehen
-
ich würde des wantedsystem selbst machen am "bugfreiesten" is es mit manueller wantedclearung und so
-
die speicherung mit dini ist relativ einfach, geh mal auf youtube und schau dir tutorials, wie das von mrmonattutorials an, da wird in einzelnen parts auf dini eingegangen
-
ist relativ unwahrscheinlich, kann aber mal vorkommen, weis ich selbst nicht so genau