Ahh THX !
Hätte ich auch selbst drauf kommen können
Ahh THX !
Hätte ich auch selbst drauf kommen können
Hey, ich hab mal eine Frage!
Ich habe einen Public
public OnPlayerCarUpdate(playerid,bool:deletecar)
Jetzt kann ich ja mit Folgenden Code "deletecar" im Public aufrufen
OnPlayerCarUpdate(playerid,true);
Allerdings möchte ich "deletecar" Nicht aufrufen!
Wie mache ich das dann ?
public OnPlayerCarUpdate(playerid,bool:deletecar)
{
if(IsPlayerConnected(playerid))
{
for(new x = 0; x < MaxVeh; x++)
{
if(Dtc_PlayerHaveCar[playerid][x])
{
if(deletecar)
{
DestroyVehicle(PlayerCar[playerid][x][CarId]);
Dtc_Carlock[PlayerCar[playerid][x][CarId]] = 0;
Dtc_LockCar(PlayerCar[playerid][x][CarId]);
DestroyObject(Neonrohr[playerid][Neon]);
DestroyObject(Neonrohr[playerid][Neon1]);
}
new string3[128];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "/Autos/%s%d.ini", playername3,x);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
new var[32];
format(var, 32, "CarId=%d\n",PlayerCar[playerid][x][CarId]);fwrite(hFile, var);
format(var, 32, "CarModel=%d\n",PlayerCar[playerid][x][CarModel]);fwrite(hFile, var);
format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][x][CarPos_x]);fwrite(hFile, var);
format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][x][CarPos_y]);fwrite(hFile, var);
format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][x][CarPos_z]);fwrite(hFile, var);
format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][x][CarRotate]);fwrite(hFile, var);
format(var, 32, "CarNitro=%d\n",PlayerCar[playerid][x][CarNitro]);fwrite(hFile, var);
format(var, 32, "CarHyd=%d\n",PlayerCar[playerid][x][CarHyd]);fwrite(hFile, var);
format(var, 32, "CarWheel=%d\n",PlayerCar[playerid][x][CarWheel]);fwrite(hFile, var);
format(var, 32, "CarAusp=%d\n",PlayerCar[playerid][x][CarAusp]);fwrite(hFile, var);
format(var, 32, "CarSideL=%d\n",PlayerCar[playerid][x][CarSideL]);fwrite(hFile, var);
format(var, 32, "CarSideR=%d\n",PlayerCar[playerid][x][CarSideR]);fwrite(hFile, var);
format(var, 32, "CarFB=%d\n",PlayerCar[playerid][x][CarFB]);fwrite(hFile, var);
format(var, 32, "CarRB=%d\n",PlayerCar[playerid][x][CarRB]);fwrite(hFile, var);
format(var, 32, "CarSpoiler=%d\n",PlayerCar[playerid][x][CarSpoiler]);fwrite(hFile, var);
format(var, 32, "CarRoof=%d\n",PlayerCar[playerid][x][CarRoof]);fwrite(hFile, var);
format(var, 32, "CarHood=%d\n",PlayerCar[playerid][x][CarHood]);fwrite(hFile, var);
format(var, 32, "CarVents=%d\n",PlayerCar[playerid][x][CarVents]);fwrite(hFile, var);
format(var, 32, "CarLamps=%d\n",PlayerCar[playerid][x][CarLamps]);fwrite(hFile, var);
format(var, 32, "CarPJ=%d\n",PlayerCar[playerid][x][CarPJ]);fwrite(hFile, var);
format(var, 32, "CarC1=%d\n",PlayerCar[playerid][x][CarC1]);fwrite(hFile, var);
format(var, 32, "CarC2=%d\n",PlayerCar[playerid][x][CarC2]);fwrite(hFile, var);
format(var, 32, "Preis=%d\n",PlayerCar[playerid][x][CarPreis]);fwrite(hFile, var);
format(var, 32, "Plate=%s\n",PlayerCar[playerid][x][Plate]);fwrite(hFile, var);
format(var, 32, "Neon=%d\n",PlayerCar[playerid][x][Neon]);fwrite(hFile, var);
fclose(hFile);
}
}
}
}
}
Jetzt hab ich noch eine Frage!
Die zeile geht zu weit nach rechts! Ist also zu Lang
Was kann ich dagegen machen ?
Soo ich hab nochmal geschaut
if(strcmp(cmd, "/carkey", true) == 0)
{
format(ALLSTRING, sizeof(ALLSTRING), "%s.\n%s.\n%s.\n%s.",Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid] == 1] ? CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 0][CarModel]-400] : "Freier Slot");
ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Carkey", ALLSTRING, "Auswählen", "Abbrechen");
return 1;
}
Dieser Code Funktioniert! Erstmal nur 1 Key zum Test möchte mal wissen ob der Code verbesserungswürdig ist
Leider giebt dieser Code so Fehler! Kann aber auch sein das ich einen Fehler gemacht hab
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19551) : error 075: input line too long (after substitutions)
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19552) : error 017: undefined symbol "Dt"
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19553) : error 017: undefined symbol "c_PlayerHaveCar"
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19553) : warning 215: expression has no effect
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19553) : error 001: expected token: ";", but found "]"
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19553) : error 029: invalid expression, assumed zero
C:\Users\Admin\Desktop\DTC Kacke\CoL.pwn(19553) : fatal error 107: too many error messages on one line
Ich Hab mal Folgenden Code Selbst erstellt!
if(strcmp(cmd, "/carkey", true) == 0)
{
new string1[200],string2[500],string3[400],string4[200],rest[1500];
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]=0])
{
format(string1, sizeof string1, "%s.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 0][CarModel]-400]);
}
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]=1])
{
format(string2, sizeof string2, "%s.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 1][CarModel]-400]);
}
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]=2])
{
format(string3, sizeof string3, "%s.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 2][CarModel]-400]);
}
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]=3])
{
format(string4, sizeof string4, "%s.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 3][CarModel]-400]);
}
format(rest, sizeof rest, "%s\n%s\n%s\n%s", string1,string2,string3,string4);
ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Carkey", rest, "Auswählen", "Abbrechen");
return 1;
}
Allerdings Funktioniert dieser nicht ingame bekomme ich bei /carkey "Unknow Command"
Hey, ich hab ein etwas kompliziertes aber auch kleines Problem!
Ich habe ein Dialogbassierendes /carkey system gemacht welches auch Problemlos funktioniert
Allerdings hab ich das Problem wenn man auf einem Slot kein Fahrzeug hat das dort einfach ein Random Fahrzeug name steht!
if(strcmp(cmd, "/carkey", true) == 0)
{
format(ALLSTRING, sizeof(ALLSTRING), "%s.\n%s.\n%s.\n%s.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 0][CarModel]-400],CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 1][CarModel]-400],CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 2][CarModel]-400],CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid] = 3][CarModel]-400]);
ShowPlayerDialog(playerid, DIALOG_CARKEYS, DIALOG_STYLE_LIST, "Carkey", ALLSTRING, "Auswählen", "Abbrechen");
return 1;
}
Ich wollte deshalb mit Folgenden Code eine Abfrage machen ob der Spieler ein Fahrzeug besitzt Wenn ja steht dort der name wenn nein steht dort "Freier Slot"
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]=1])
{
Wie kann ich das machen ? Ich kann ja nicht einfach die IF Abfrage in den String machen
Mfg