Hallo, wie oben schon gesagt, werden manche Fahrzeuge mal gelöscht und manche wieder nicht, einige Fahrzeuge buggen nicht, sie lassen sich problemlos löschen und auch abschliessen. Wenn man dann jedoch ein Fahrzeug hatt das Bugt dann lässt es sich nciht löschen, nach der 1. Eingabe des /Dveh Befehls steht beim buggenden car zwar das es gelöscht wurde das Fahrzeug bleibt aber stehen, abschliessen kann dieses auch nicht.
ocmd:Dveh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Moderator!");
new str[20],entfernen[20];
new carid = GetCarInRangeOfAdmin(playerid,3.0);
if(carid == -1) return 1;
format(str, sizeof(str), "%d.car",entfernen);
{
DestroyVehicle(carid);
dini_Remove(entfernen);
new string[126];
format(string,sizeof(string),"Du hast ein Fahrzeug von %s gelöscht", CarInfo[carid][abesitzer]);
SendClientMessage(playerid,ORANGE,string);
new string1[126];
format(string1,sizeof(string1),"%s hat sich ein Fahrzeug von %s gelöscht",NAMEN(playerid), CarInfo[carid][abesitzer]);
print(string1);
}
return 1;
}
ocmd:carlock(playerid,params[])
{
new carid = GetCarInRangeOfPlayer(playerid,3.0);
if(carid == -1) return 1;
if(!strcmp(CarInfo[carid][abesitzer],NAMEN(playerid),false))
{
if(CarInfo[carid][alocked] == 0)
{
CarInfo[carid][alocked] = 1;
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(carid,engine,lights,alarm,1,bonnet,boot,objective);
SendClientMessage(playerid,GRUEN,"Auto erfolgreich verschlossen");
new string1[126];
format(string1,sizeof(string1),"%s verschliesst sein Fahrzeug.",NAMEN(playerid));
print(string1);
return 1;
}
else
{
CarInfo[carid][alocked] = 0;
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(carid,engine,lights,alarm,0,bonnet,boot,objective);
SendClientMessage(playerid,GRUEN,"Auto erfolgreich aufgeschlossen");
new string1[126];
format(string1,sizeof(string1),"%s schliest sein Fahrzeug auf.",NAMEN(playerid));
print(string1);
return 1;
}
}
return 1;
}
ocmd:parkcar(playerid,params[])
{
new Float:x, Float:y, Float:z, Float:angle;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"Du bist in keinem Auto!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,ROT,"Du bist nicht der Fahrer!");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, angle);
for(new i=0;i<MAX_VEHICLES;i++)
{
if(strcmp(CarInfo[i][abesitzer],NAMEN(playerid),false) == 0)
{
CarInfo[i][aX] = x;
CarInfo[i][aY] = y;
CarInfo[i][aZ] = z;
CarInfo[i][aAngle] = angle;
SpeicherFahrzeug(i);
SendClientMessage(playerid,GRUEN,"Du hast dein Fahrzeug geparkt.");
}
else
{
SendClientMessage(playerid,ROT,"Das ist nicht dein Fahrzeug!");
}
break;
}
return 1;
}
stock GetCarInRangeOfPlayer(playerid,Float:range)
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsPlayerInRangeOfPoint(playerid,range,CarInfo[i][aX],CarInfo[i][aY],CarInfo[i][aZ]))
{
if(!strcmp(NAMEN(playerid),CarInfo[i][abesitzer],false))
{
return i;
}
}
}
return -1;
}
stock GetCarInRangeOfAdmin(playerid,Float:range)
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsPlayerInRangeOfPoint(playerid,range,CarInfo[i][aX],CarInfo[i][aY],CarInfo[i][aZ]))
{
return i;
}
}
return -1;
}
Mal wird das Fahrzeug gelöscht und mal nicht
- Jack_O_Neill
- Geschlossen
- Erledigt
-
-
Hast du ein GF wenn ja, dann kopier dir einfach den Befehl von wo anders und fueg ihn ein.
Falls du wirklich selbst wissen und ausprobieren willst dann helfe ich dir sehr gerne.MfG BHF
Ps: Falls du Hilfe brauchst meld dich und ein Tipp, nenn den Befehl /dct
-
Die Befehle von mir, ich habe kein GF
-
Okey, also es kann daran liegen das du nen kleinen Fehler hast. ZB. irg.wo ein Komma oder ein vehid zum einfuegen hast.
Du gefaellst mir da du es selber schreibst.
MfG BHF
-
Mhhh, immernoch der selbe mist jedoch hier:
ocmd:Dveh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Moderator!");
new str[20],entfernen[20];
new carid = GetCarInRangeOfAdmin(playerid,3.0);
if(carid == -1) return 1;
format(str, sizeof(str), "%d.car",entfernen);
{
DestroyVehicle(carid);
dini_Remove(entfernen);
print(entfernen);
new string[126];
format(string,sizeof(string),"Du hast ein Fahrzeug von %s gelöscht", CarInfo[carid][abesitzer]);
SendClientMessage(playerid,ORANGE,string);
new string1[126];
format(string1,sizeof(string1),"%s hat sich ein Fahrzeug von %s gelöscht",NAMEN(playerid), CarInfo[carid][abesitzer]);
print(string1);
}
return 1;
}
stock GetCarInRangeOfPlayer(playerid,Float:range)
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsPlayerInRangeOfPoint(playerid,range,CarInfo[i][aX],CarInfo[i][aY],CarInfo[i][aZ]))
{
if(!strcmp(NAMEN(playerid),CarInfo[i][abesitzer],false))
{
return i;
}
}
}
return -1;
}
[14:40:53] (null)
[14:40:53] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:55] (null)
[14:40:55] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:57] (null)
[14:40:57] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:57] (null)
[14:40:57] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:41:04] (null)
[14:41:04] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:41:07] (null)
[14:41:07] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht -
Mhhh, immernoch der selbe mist jedoch hier:
ocmd:Dveh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Moderator!");
new str[20],entfernen[20];
new carid = GetCarInRangeOfAdmin(playerid,3.0);
if(carid == -1) return 1;
format(str, sizeof(str), "%d.car",entfernen);
{
DestroyVehicle(carid);
dini_Remove(entfernen);
print(entfernen);
new string[126];
format(string,sizeof(string),"Du hast ein Fahrzeug von %s gelöscht", CarInfo[carid][abesitzer]);
SendClientMessage(playerid,ORANGE,string);
new string1[126];
format(string1,sizeof(string1),"%s hat sich ein Fahrzeug von %s gelöscht",NAMEN(playerid), CarInfo[carid][abesitzer]);
print(string1);
}
return 1;
}
stock GetCarInRangeOfPlayer(playerid,Float:range)
{
for(new i=0;i<MAX_VEHICLES;i++)
{
if(IsPlayerInRangeOfPoint(playerid,range,CarInfo[i][aX],CarInfo[i][aY],CarInfo[i][aZ]))
{
if(!strcmp(NAMEN(playerid),CarInfo[i][abesitzer],false))
{
return i;
}
}
}
return -1;
}
[14:40:53] (null)
[14:40:53] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:55] (null)
[14:40:55] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:57] (null)
[14:40:57] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:40:57] (null)
[14:40:57] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:41:04] (null)
[14:41:04] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöscht
[14:41:07] (null)
[14:41:07] Jack_O_Neill hat sich ein Fahrzeug von Jack_O_Neill gelöschtAlso so weit ich den Befehl hier sehe sollte er so passen.
MfG BHF
-
Mhh aber das (null) hatt doch sicherlich etwas zu bedeuten...
-
Welche (null) ?
-
Ahh moment...
format(str, sizeof(str), "%d.car",entfernen);
print(entfernen);Das habe ich im Befehl eingebaut, da sollte normalerweise der string des Fahrzeuges stehen statt (null)
-
Theoretisch ja, habe mir deinen noch nicht zu Ende angesehen.
Aber wenn du es sagst dann stimmt es auch.MfG BHF
-
-
Würde es denn einen Unterschied bringen wenn ich alles jetzt auf mysql umbaue?
Müsste dann ja eiggtl. etwas zuverlässiger laufen. -
Ich bin mir fast sicher das du irgendwas falsch geschrieben hast bzw. das der Befehl falsch ist.
Mysql ist zwar schnell aber wird woll trotzdem so sein? -
ocmd:Dveh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Moderator!");
new entfernen[20];
new carid = GetCarInRangeOfAdmin(playerid,3.0);
if(carid == -1) return 1;
format(entfernen, sizeof(entfernen), "%d.car",CarInfo[carid][ID]); // Hast du so eine ID?
dini_Remove(entfernen);
new string[128];
format(string,sizeof(string),"Du hast ein Fahrzeug von %s gelöscht", CarInfo[carid][abesitzer]);
SendClientMessage(playerid,ORANGE,string);
format(string,sizeof(string),"%s hat sich ein Fahrzeug von %s gelöscht",NAMEN(playerid), CarInfo[carid][abesitzer]);
print(string);
DestroyVehicle(carid);
return 1;
}Also:
1. Nicht willkürlich irgendwelche Klammern machen.
2. Gucken welche Variable benutze ich wie?
3. Das Fahrzeug am Ende zerstören, und nicht vergessen die CarInfo des zerstörten Cars zu resetten
4. Eigentlich kann das gar nicht hinhauen... Ich habs mal bei format verbessert. Guck mal ob du bei CarInfo sowas hast.Probier mal so, habs etwas verbessert
MfG ニコ先生
-
@ニコ先生
Die ID wird beim erstellen des fahrzeuges erstellt, in dem falle mit dem /veh befehl und wird dann in der datei gespeichert
ocmd:Veh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Moderator!");
new Float:x, Float:y, Float:z, Float:angle,color1,color2,carid;
if(sscanf(params, "ddd",carid,color1,color2)) return SendClientMessage(playerid,ROT, "Tipp:/Veh [FAHRZEUGID] [COLOR-1] [COLOR-2]");
if(carid < 0 || carid > 611) return SendClientMessage(playerid,ROT, "Es muss eine Fahrzeug ID zwischen 0 und 611 sein!");
if(color1 < 0 || color1 > 255 || color2 < 0 || color2 > 255) return SendClientMessage(playerid,ROT, "Die Farb-IDs müssen zwischen 0 und 255 sein!");
{
GetPlayerPos(playerid, x,y,z);
GetPlayerFacingAngle(playerid, angle);
new id = CreateVehicle(carid, x,y,z,angle,color1,color2,-1);
CarInfo[id][abesitzer]= NAMEN(playerid);
CarInfo[id][aID] = id;
CarInfo[id][aX] = x;
CarInfo[id][aY] = y;
CarInfo[id][aZ] = z;
CarInfo[id][aAngle] = angle;
CarInfo[id][aModel] = carid;
CarInfo[id][afarbe1] = color1;
CarInfo[id][afarbe2] = color2;
CarInfo[id][alocked] = 1;
SpeicherFahrzeug(id);
SetVehicleNumberPlate(id,NAMEN(playerid));
PutPlayerInVehicle(playerid, id, 0);
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(carid,engine,lights,alarm,1,bonnet,boot,objective);
SendClientMessage(playerid,ROT, "Car gespawnt!");
new string1[126];
format(string1,sizeof(string1),"%s hat sich ein Fahrzeug mit der ID:%i erstellt.",NAMEN(playerid),carid);
print(string1);
}
return 1;
}
enum Car_System
{
abesitzer[MAX_PLAYER_NAME],
aID,
aModel,
Float:aX,
Float:aY,
Float:aZ,
Float:aAngle,
afarbe1,
afarbe2,
alocked,
}
new CarInfo[MAX_VEHICLES][Car_System]; -
Bei Problemen kannst du mich nachher ab 8 in Skype anschreiben
-
Habs hinbekommen, ich kann keine Bugs mehr entdecken es geht alles......ich werde morgen früh mal einige Leute einladen und lasse die mal so richtig mit meinem carsystem spass haben, bin mal gespannt obs dann noch buggt xD
//Edit //Edit Habs hoffentlich endlich hinbekommen!
-
breadfish.de
Hat das Thema geschlossen.