Naja, du erstellst es wahrscheinlich als Privates Fahrzeug, oder? Du erstellst ja auch eine Datei dafür. ![]()
Beiträge von Jeffry
-
-
Füge dir mal das crashdetect Plugin in deinen Server ein und poste dann was im Server Log steht.
http://forum.sa-mp.com/showthread.php?t=262796 -
Function AdminGiveCar(playerid,adminid,Model)
{
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof name);
format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
new File: hFile = fopen(str, io_write);
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(adminid, x, y, z);
GetPlayerFacingAngle(adminid, a);
//UND DANN HIER DAS CreateVehicle!!
//Eben so, wie du das Fahrzeug auch normal erstellst.
if (hFile)
{
new var[32];
format(var, 32, "CarId=0\n");fwrite(hFile, var);
format(var, 32, "CarModel=%d\n",Model);fwrite(hFile, var);
format(var, 32, "CarPos_x=%.3f\n",x);fwrite(hFile, var);
format(var, 32, "CarPos_y=%.3f\n",y);fwrite(hFile, var);
format(var, 32, "CarPos_z=%.3f\n",z);fwrite(hFile, var);
format(var, 32, "CarRotate=%.3f\n",a);fwrite(hFile, var);
format(var, 32, "CarNitro=0\n");fwrite(hFile, var);
format(var, 32, "CarHyd=0\n");fwrite(hFile, var);
format(var, 32, "CarWheel=0\n");fwrite(hFile, var);
format(var, 32, "CarAusp=0\n");fwrite(hFile, var);
format(var, 32, "CarSideL=0\n");fwrite(hFile, var);
format(var, 32, "CarSideR=0\n");fwrite(hFile, var);
format(var, 32, "CarFB=0\n");fwrite(hFile, var);
format(var, 32, "CarRB=0\n");fwrite(hFile, var);
format(var, 32, "CarSpoiler=0\n");fwrite(hFile, var);
format(var, 32, "CarRoof=0\n");fwrite(hFile, var);
format(var, 32, "CarHood=0\n");fwrite(hFile, var);
format(var, 32, "CarVents=0\n");fwrite(hFile, var);
format(var, 32, "CarLamps=0\n");fwrite(hFile, var);
format(var, 32, "CarPJ=-1\n");fwrite(hFile, var);
format(var, 32, "CarC1=-1\n");fwrite(hFile, var);
format(var, 32, "CarC2=-1\n");fwrite(hFile, var);
format(var, 32, "Plate=XXX\n");fwrite(hFile, var);
fclose(hFile);
}
}Und:
AdminGiveCar(giveplayerid,car);
zu:
AdminGiveCar(giveplayerid,playerid,car); -
Die können sich ja nur erstellen, wenn der Server weiß an welchen Positionen er das Haus erstellen soll. Sprich, irgendwo müssen die Positionen ja sein. Wenn sie nicht in der Datenbank sind, wo sind sie dann?
Wenn du gar keine Daten hast, dann musst du die Daten erst erstellen, woher sollen sonst die Positionen kommen? -
Was heißt, du kannst nicht rein, und danach gar nicht mehr?

Kannst du das bitte erklären und den Code dazu posten?
-
if(LSRACE[playerid] == 1);
zu:
if(LSRACE[playerid] == 1)Ebenso bei den anderen.
-
Woah, was ist denn das??

Kannst du bitte mal erklären wie das ganze am Ende sein soll? Checkpoint 0, der wird am RandomSpawn erstellt und danach 10 Checkpoints die random aus sInfo genommen werden? Oder wie darf ich das verstehen? -
Doch, ich war nur nicht zu Hause.

Schreibe es so:
Spoiler anzeigen if(strcmp(cmd,"UBB",true) == 0)
{
if(Spieler[playerid][pPremium] < 0)return SendClientMessage(playerid, COLOR_GREY, "* Du besitzt kein Premium.");
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Fahrzeug.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht auf der Fahrerseite.");
for(new slot=0;slot<MAX_PLAYER_VEHICLES;slot++)
{
if(GetPlayerVehicleID(playerid) == PrivateVehicle[playerid][slot][vehID])
{
if(PrivateVehicle[playerid][slot][vehUBBStatus] == 0)
{
switch(PrivateVehicle[playerid][slot][vehNeonID])
{
case 1: // Blau
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18648, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18648, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 2: // Grün
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18649, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18649, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 3: // Weiß
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18652, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18652, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 4: // Pink
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18651, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18651, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 5: // Gelb
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18650, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18650, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 6: // Rot
{
PrivateVehicle[playerid][slot][vehNeon1] = CreateDynamicObject(18647, 0, 0, 0, 0, 0, 0, 0);
PrivateVehicle[playerid][slot][vehNeon2] = CreateDynamicObject(18647, 0, 0, 0, 0, 0, 0, 0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon1], PrivateVehicle[playerid][slot][vehID], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(PrivateVehicle[playerid][slot][vehNeon2], PrivateVehicle[playerid][slot][vehID], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
}
PrivateVehicle[playerid][slot][vehUBBStatus] = 1;
SendClientMessage(playerid,COLOR_WHITE,"Du hast Unterbodenbeleuchtung {33AA33}eingeschaltet{FFFFFF}");
}
else
{
PrivateVehicle[playerid][slot][vehUBBStatus] = 0;
VehicleTuningNeon(playerid, slot);
SendClientMessage(playerid,COLOR_WHITE,"Du hast Unterbodenbeleuchtung {AA3333}ausgeschaltet{FFFFFF}");
}
return 1;
}
}
}
vehUBBStatus musst du im enum von PrivateVehicle noch anlegen.
Wenn vehUBBStatus = 1 ist, ist das Neon an, bei 0 ist es aus. -
Du brauchst das pWanteds gar nicht. Du hast hier schon eine extra Variable dafür. Nutze einfach:
WantedLevel[playerid] = dini... -
Da steht ja auch nichts mit CreateVehicle. Schau mal in den scriptfiles nach, ob die Fahrzeugdatei dort erstellt wird, wenn du den Befehl eingibst. Wenn ja, dann musst du nur noch das Fahrzeug mit CreateVehicle erstellen/laden, gleich wie bei den normal gekauften Fahrzeugen.
-
Können beide Fraktionen einsteigen, sprich Fraktion 1 (die es ja dürfen) und Fraktion 2 (die es nicht dürfen)?
-
Du hast in der Schleife keine Abfrage in welchem Fahrzeugslot sich der Spieler befindet. Du loopst durch alle Slots, was zur Folge hat, dass jedem zweiten Fahrzeug das Neon hinzugefügt wird, und jedem anderen das Neon entfernt wird.
Willst du es für alle Fahrzeuge, oder nur für das Fahrzeug in dem sich der Spieler befindet entfernen?
-
Wie sieht es denn erstmal so aus?
public OnVehicleStreamIn(vehicleid, forplayerid)
{
for(new i = 0; i < sizeof(PDCar); i++)
{
if(vehicleid == PDCar[i])
{
if(!isFrakt(forplayerid,1))
{
SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 1);
}
else
{
SetVehicleParamsForPlayer(PDCar[i], forplayerid, 0, 0);
}
break;
}
}
return 1;
} -
Die Höhe des anklickbaren Bereiches. Je nach dem wie groß der sein soll (musst du abschätzen).
Zum Beispiel:
TextDrawTextSize(LBox2[playerid],136.000000, 20.00);In dem verlinkten Thread steht es nochmal ausführlich von mir beschrieben, danke Pascal.:.
-
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "Geht nur von 400 bis 611"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /accar [ID][Model]");
return 1;
}
zu:
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /accar [ID][Model]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "Geht nur von 400 bis 611"); return 1; }Mehr fällt mir auf den ersten Blick nicht auf. Was ist denn das Problem, also was geht nicht?
-
Hast du probiert, ob es direkt nach dem Server-Start auch der Fall ist?
Und was du noch testen kannst: Was ist, wenn du mehrere Fahrzeuge (ohne Neon die) erstellst? -
Dann mache es wie ich es dir gesagt habe. Das macht im Prinzip genau das was du bereits hast, nur eben pro Spieler.

-
Und die Daten?
Kannst du mal einen Screenshot deiner Datenbankstruktur und den Daten posten?
-
Bist du dir sicher, dass das korrekt gelöscht wird? Weil es kann laut dem Code nicht sein, dass da plötzlich Neon dran ist.
Ist das auch der Fall, wenn du den Server neu startest und als erstes ein BMX spawnst? Wenn nein, dann poste bitte mal den Code mit dem du das Neon löschst. -
Zitat
[18:37:01] CMySQLHandler::NumRows() - Returned 0 row(s)
Wie du siehst, kann nichts ausgelesen werden.Kannst du mal einen Screenshot deiner Datenbankstruktur und den Daten posten?
An Beispiel der biz.Zitat[18:37:01] CMySQLHandler::Query(SELECT * FROM `biz` WHERE `BizID` = '4') - Successfully executed.