if(value[2]<500) value[1]--;
else value[1] ++;
Zu
if(value[2]>=500) value[1]++;
Das else fällt ganz weg.
if(value[2]<500) value[1]--;
else value[1] ++;
Zu
if(value[2]>=500) value[1]++;
Das else fällt ganz weg.
Ja.
Du kannst dann entweder zuvor abfragen, ob noch ein Spieler im Fahrzeug ist:
forward DelVeh(vehicleid);
public DelVeh(vehicleid)
{
new isin = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPlayerVehicleID(i) == vehicleid)
{
isin = 1;
break;
}
}
if(isin == 0) DestroyVehicle(vehicleid);
return 1;
}
Oder du machst es so, das wäre die elegante Methode:
Oben unter die Includes:
new isSpawnedVeh[MAX_VEHICLES];
Nach PutPlayerInVehicle im Befehl:
isSpawnedVeh[vID] = true;
Bei OnGameModeInit:
SetTimer("CheckVehicles", 1000, 1);
Und ganz unten:
forward CheckVehicles();
public CheckVehicles()
{
new isin;
for(new i=0; i<MAX_VEHICLES; i++)
{
if(isSpawnedVeh[i])
{
isin = 0;
for(new p=0; p<MAX_PLAYERS; p++)
{
if(GetPlayerVehicleID(p) == i)
{
isin = 1;
break;
}
}
if(isin == 0)
{
DestroyVehicle(i);
isSpawnedVeh[i] = false;
}
}
}
return 1;
}
Syno: Danke für den Hinweis, was ein Denkfehler.
ocmd:creatcar(playerid,params[])//Um Autos zu Spawnen
{
if(!isAdmin(playerid,5))return SendClientMessage(playerid,rot,"Dazu bist du nicht befugt!");
new mID;
if(sscanf(params,"i",mID)) return SendClientMessage(playerid,rot,"INFO: /creatcar [Autoid]");
if(mID < 400 || mID > 611)return SendClientMessage(playerid,rot,"FEHLER: Ungültige Autoid!");
new Float:xc,Float:yc,Float:zc,Float:rc;
GetPlayerPos(playerid,xc,yc,zc);
GetPlayerFacingAngle(playerid,rc);
new vID = CreateVehicle(mID,xc,yc,zc,rc,1,1,-1);
PutPlayerInVehicle(playerid, vID, 0); //0 = Fahrerplatz
return 1;
}
Zum Löschen beim Aussteigen:
OnPlayerExitVehicle:
DestroyVehicle(vehicleid);
oder alternativ als kurzen Timer:
SetTimerEx("DelVeh", 1000, 0, "d", vehicleid);
und ganz unten im Code:
forward DelVeh(vehicleid);
public DelVeh(vehicleid)
{
return DestroyVehicle(vehicleid);
}
Was geht denn nicht? Was passiert, und was sollte eigentlich passieren?
Bekommst du irgendwelche Fehlermeldungen oder Nachrichten im Chat?
Nebenbei versuche es mal so:
if(IsValidVehicle(trailer))
{
GetVehiclePos(trailer, VehiclePos[trailer][0], VehiclePos[trailer][1], VehiclePos[trailer][2]);
GetVehicleZAngle(trailer, VehiclePos[trailer][3]);
VehicleInterior[trailer] = GetPlayerInterior(playerid);
VehicleWorld[trailer] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Du hast dein Auto hier geparkt!");
UpdateVehicle(trailer, 1);
PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
SaveVehicle(trailer);
}
Schau mal hier, vielleicht hilft dir das schon:
http://forum.sa-mp.com/showpost.php?p=2610342&postcount=267
Du kannst auch mal versuchen, die mysql_static.so zu verwenden, die im Download Paket ist.
Ja, dafür brauchst du doch eine Liste aller Reports, oder? Dafür kannst du dann mein Tutorial nutzen, um alle Reports aufzulisten und herauszufinden, welcher Report angedrückt (=angenommen) wurde.
Oder wie hast du vor es anzunehmen?
Dann musst du diese Objekte hier nutzen, und zusammensetzen:
3018 - 3024
oder:
1587 - 1592
Suche den Mann zum abschießen bei einer Schusstraining Halle
Objekt ID: 2619 / 2051 / 2049
Bei mir passiert aber vieles als Dialog macht es dann Probleme? Auch meine ganzen Includes sind so aufgebaut bzw werden da keine Befehle gezeigt.
Du kannst diese Änderung ja auch in einer Kopie machen, den Code von mir lässt du ja eh nur 1x drüberlaufen.
Hast du in den Includes auch Befehle? Wenn ja, musst du diese zu .pwn umbenennen, oder in meinem Code das ".pwn" danach zu ".inc" ändern und nochmal ausführen.
Ich rate dir aber, in einer Kopie deines Server-Ordner zu arbeiten, falls du was kaputt machst.
Bei den Befehlen fehlt der Slash "/".
if(!strcmp(cmdtext, "beziehen", true))
zu:
if(!strcmp(cmdtext, "/beziehen", true))
Sonst wird es nicht als Befehl erkannt, da viele dies so als Unterbefehle nutzen.
Einfach: STRG+H => cmdtext, " zu cmdtext, "/
Dann geht es.
Download funktioniert bei mir leider nicht
Reupload ?
Ich habe es dir hier in den Post mal angehängt. Den Anhang werde ich später wieder entfernen.
EDIT:
Anhang wieder entfernt.
Hallo,
in der Scripting Base, im Sammelthread für nützliche Code-Schnipsel ist mir ein Fehler aufgefallen:
Link: Nützliche Codeschnipsel
Da müsste mal jemand nachschauen, welcher Benutzer in seiner Signatur eine Verlinkung auf diese Seite hat und diese aus der Signatur entfernen.
Gegebenenfalls wäre es vielleicht auch gut (falls das möglich ist) eine Sperre für das Aufpoppen solcher Dialoge einzubauen, weil das doch ziemlich störend sein kann.
Vielen Dank!
if(SpielerInfo[playerid][pGunLic] == 0)
zu:
if(SpielerInfo[playerid][pGunLic] == 1)
Oder steht 1 für "hat keinen Waffenschein"?
Falls das der Fall ist, poste bitte wie du die Variable mit einem Wert befüllst.
Poste doch bitte einfach die Zeile 1370.
Kannst du bitte die Zeile mit dem Fehler posten? Ohne geht es leider nicht.
Hoffe mal, dass er es diesmal auslesen kann
Wäre gut, wenn du eine kurze Rückmeldung geben könntest, ob es geklappt hat oder nicht, bei dir.
Falls es Probleme geben sollte darfst du mir gerne ein Beispiel deines Befehls zukommen lassen, dann behebe ich das Problem.
Ist der DL im Startpost schon aktualisiert?
Ja.
-1 = zufällige Farbe.
cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
zu:
cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,cInfo[i][Color_1],cInfo[i][Color_2],-1);