Neues Serverpaket auf sa-mp.com runterladen und nochmal versuchen, dir fehlen die neuen Includes.
Motor- und Tanksystem
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ich habe Warns + Errors .Wie immerxD
Naja eingetlich nur Error fast hier mal die Fehler...
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : error 029: invalid expression, assumed zero
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : warning 215: expression has no effect
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : error 001: expected token: ";", but found "if"
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : error 029: invalid expression, assumed zero
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : warning 215: expression has no effect
C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : error 001: expected token: ";", but found "if"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase4 Errors.
if(strcmp(cmdtext, "/tanken", true) == 0)
{
else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");//hier einmal
new car = GetPlayerVehicleID(playerid);
else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");//und hier :D
else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
}Brauche Hilfe^^
-
Ich habe auch dieselben Warns und Errors nurnoch 2 Errors mehr:
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : error 029: invalid expression, assumed zero
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : warning 215: expression has no effect
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : error 001: expected token: ";", but found "if"
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3652) : warning 219: local variable "car" shadows a variable at a preceding level
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : error 029: invalid expression, assumed zero
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : warning 215: expression has no effect
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : error 001: expected token: ";", but found "if"
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3781) : error 017: undefined symbol "c"
E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3782) : error 017: undefined symbol "c"Die Zeilen sind:
if(strcmp(cmdtext, "/tanken", true) == 0)
{
else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");//hier einmal
new car = GetPlayerVehicleID(playerid);
else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");//und hier :D
else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
}und noch:
public BenzinVerlust()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if (Motor[i] == true)
{
Tank[i] = Tank[i]-1;
if (Tank[i]<1)
{
Tank[i] = 0;
GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(c,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
}
}
}
return 1;
}Beim letzteren hatte ich schon versucht das mit car zu ändern, dies funzte aber nicht so und ich hatte es auch mit i ersetzt, da gab es keine Errors mehr aber ich weiß nicht ob das dann richtig ist :D.
Hoffe ihr könnt helfen.^^
-
sry aber kann uns keiner Helfen
-
public BenzinVerlust()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if (Motor[i] == true)
{
Tank[i] = Tank[i]-1;
if (Tank[i]<1)
{
Tank[i] = 0;
new c = GetPlayerVehicleID(i);
GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(c,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
}
}
}
return 1;
}
if(strcmp(cmdtext, "/tanken", true) == 0)
{
if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,Color_Red,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
new car = GetPlayerVehicleID(playerid);
if (TanktGerade[car]) return SendClientMessage(playerid,Color_Red,"Du tankst schon!");
else if (Motor[car] == true) return SendClientMessage(playerid,Color_Red,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,Color_Red,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid, Color_Red, "Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
} -
Danke
-
Super, danke jetzt geht alles!
-
Ich fänds persönlich gut wenn du uns zeigen könntest wie man für verschiedene Fahrzeuge verschiedene Spritmengen festlegen kann.
Naja so wie es jez ist 7/10
Währe es mit verschieden Tankinhalt dann währen es 9/10 und mit verschieden Sprtarten 10/10
mfg -
Das nenne ich mal ein Tutorial wenn sogar ICH das verstehe ;D
Ausführlich und ordentlich 10/10 -
nice 8/10
Ich habe nur ein problem wenn ich ab car 500 z.B /motor machen will kommt server unkown command und der motor bleibt aus -
-
-
ich habe ungefähr 600-700 cars und wenn ich z.B eins spawn mit /veh dann steht da server unknown command wenn ich motor starten möchte
-
Sehr gutes Tutorial
Gut erklärt
nice gemacht
10/10 -
wenn das auto zerstört ist/wurde oder respawnt ist dann ist der motor immer noch als an bezeichnet aber warum ? da muss man nemlich immer 2 mal /motor eingeben
-
Nice Tutorial 10/10
@ eli mach bei OnVehicleSpawn folgendes rein: Motor[vehicleid] = false;
Dann sind die Motore beim Spawn des Cars aus.MFG
-
alles gut beschrieben, es macht spaß es zulesen und es funktioniert auch 100%
ich gebe dir 9/10 Punkten
MfG;
EUReKA -
Ich hab ein problem wenn ich in ein Auto einsteige geht wenn ich auf S drücke also Rückwärts fahre der Motor an... wie krieg ich das weg ?
-
Nice aber nicht für anfänger ://
-
@Speedfight: Steht ja auch dabei, dass Grundwissen erwartet wird.
pain: Sollte eigentlich nicht sein, da das Fahrzeug mit ausgeschaltetem Motor auch nicht rückwärts fahren sollte.@Never: Stimmt nicht, damit wird nur die Bool-Variable auf false gesetzt, der Motor bleibt trotzdem an. Resultat: Man muss im Auto zweimal /m eingeben, damit der Motor ausgeschaltet wird.
Allgemeine Frage: Wird OnVehicleSpawn auch aufgerufen, wenn Fahrzeuge im OnGameModeInit gespawnt werden? Konnte davon im Wiki nichts finden und wäre praktischer den Motor dort auszuschalten, da man dann die Schleife (und folglich auch etwas Rechenleistung) weglassen könnte.
-
Hey gute Erklärung aber ich bekomme folgende Errors bzw. Warnings :
C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 029: invalid expression, assumed zero
C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : warning 215: expression has no effect
C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 001: expected token: ";", but found "if"
C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 036: empty statement
C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Diese Entsprechen folgenden Zeilen :
if(strcmp(cmdtext, "/fill", true) == 0)
{
else if (GetPlayerVehicleSeat(playerid) != 0); return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
new car = GetPlayerVehicleID(playerid)
else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");
else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
new ZuTanken = 100-Tank[car];
new preis = ZuTanken * BENZINPREIS;
if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_TOMATO,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid, -preis);
SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid,0);
TanktGerade[car] = true;
tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
return 1;
}
return 0;/edit Habe Teamviewer