//OnPlayerEnterVehicle:
if(CarInfo[carid][carslock] == 1 && !ispassenger)
{
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
}
Beiträge von KeksOfDeath
-
-
new tor;
//---------------
tor=CreateObject(..);
//---------------
MoveObject(tor,...);
Oder versteh ich dich da jetzt falsch? -
Dann können wir ohne Code echt nicht viel machen...
Es kann sein, dass der Fehler dort liegt, aber wahrscheinlich liegt er i-wo, wo du ihn nicht vermutest...
Der Fehler bei meim Tacho lag z.b. bei OnPlayerConnect
Such, wenn der Fehler nicht in dem Code liegt, einfach mal nach "GivePlayerMoney" und dem Zusammenhang suchen -
Versuchst du aus Files zu lesen/ in Files /in Ordner/ aus Ordnern zu lesen/schreiben, die nicht existieren?
-
Mit "zurücksetzen" meinst du auf 0$ oder auf den Wert, den er vorher hatte?
-
else if(CarInfo[carid][carslock] == 0)
{
SendClientMessage(playerid, GREY, "Motor gestartet ...");
SendClientMessage(playerid, ORANGE, "Dein Wagen ist nicht abgeschlossen!");
}}else
{
if(CarInfo[carid][carslock] == 1) {
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1); }
else {
SendClientMessage(playerid,ORANGE, "Dieses Fahrzeug gehört nicht dir!");
SendClientMessage(playerid,ORANGE, "Tippe /kurzschließen um das Fahrzeug kurzzuschließen! Achtung: Fahrzeuge klauen ist gegen das Gesetz!"); }
} -
Beispiel für deinen Error:
forward KillAll();
public KillAll(playerid) {//hier wäre schon der error, weil du das "playerid" beim forward nicht angegeben hast
//...
Dafür müssten wir mal die Zeilen mit den Errors sehen -
Hast dus in den GM oder in ein FS gemacht?
-
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)
{
new name3[MAX_PLAYER_NAME];
GetPlayerName(playerid, name3, sizeof(name3));
new carid = GetPlayerVehicleID(playerid);
if (strcmp(name3, CarInfo[carid][carsowner], true) == 0)
{
if(CarInfo[carid][carslock] == 1)
{
SendClientMessage(playerid,GREY, "Motor gestartet ...");
SendClientMessage(playerid,GREY, "Dein Wagen ist abgeschlossen!");
}
else if(CarInfo[carid][carslock] == 0)
{
SendClientMessage(playerid, GREY, "Motor gestartet ...");
SendClientMessage(playerid, ORANGE, "Dein Wagen ist nicht abgeschlossen!");
}}
else
{
SendClientMessage(playerid,ORANGE, "Dieses Fahrzeug gehört nicht dir!");
SendClientMessage(playerid,ORANGE, "Tippe /kurzschließen um das Fahrzeug kurzzuschließen! Achtung: Fahrzeuge klauen ist gegen das Gesetz!");
if(CarInfo[carid][carslock] == 1) {
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1); }
}
}
return 1;
} -
Züge sind eh unzerstörbar
-
-
Ich weiß nicht, ob ein Zug durch eine Wand fahren kann, habs noch nie probiert
Wenn ers nicht kann, könnte man eine Wand vorm Zug spawnen lassen und die danach wieder zerstören -
Das in den vorhanden Timer zu tun, ist ihm überlassen^^
Und GF hatn Timer? Hab nur einmal im GF nach "SetTimer" gesucht und nix gefunden, hab mich dann auch nicht weiter mit GF beschäftigt
Und das mit GetMaxPlayers() (wenn mans verwenden will) würde ich dann so machen:
for(new i=0, j=GetMaxPlayers(); i<j; i++) {
//oder:
new i, j=GetMaxPlayers();
for(; i<j; i++) {
//oder:
new i, j=GetMaxPlayers();
while(i<j) { -
Ich wills aber nur für die Leute machen, die aufm Server sind und wen nder Spieler nicht connected ist, returnt GetPlayerArmour eine 0
Und du holst da die Rüstung von einer festen ID
Desweiteren gibt es das "GET_MAX_PLAYERS" nciht, es heißt GetMaxPlayers(); und wenn das Script dann jedes mal wieder die Maximalanzahl nachgucken müsste, hätte man keine Zeit gespart, sondern raufgetan
Und dort ist ein Klammerfehler
Das mit dem Timer: Man kann sich drüber streiten, natürlich hast du recht, ein Interval von 1 sek ist resourcenfressender, als einer von 2 sek, wenn man den nachher aber zu hoch macht, dann wird die Rüstung halt zu spät resettet
Aber danke für den Hinweis, ein Interval von 3 sek dürfte gut sein//EDIT: @ CopBot: Nein?
if(wenn er zivilist ist) {//kenn die Teams von GF nicht
Nur die Zivilisten^^ ist da aber auch doof zu sehen, dachte als ich deins gelesen ahbe auch erst, dass ich vergessen habe, aber die Abfrage hat sich versteckt
//EDIT2:Ich glaube keks kennt sich da bissel besser aus als bright
Das glaube ich nicht, bin nicht so gut, wie die meisten denken -
Ich weiß, liegt aber daran, dass du in Zeile 34 das ";" vergessen hast
-
//ganz nach oben:
forward russi();
//OnGameModeInit:
SetTimer("russi",1000,1);
//ganz nach unten:
public russi() {
for(new i=0; i<MAX_PLAYERS; i++) {
if(wenn er zivilist ist) {//kenn die Teams von GF nicht
new Float:arm;
if(GetPlayerArmour(i,arm)) {
if(arm>0) { SetPlayerArmour(i,0); }}}}
return 1;
} -
new
F_Stationen[][e_school] = {
{1406.8757,-1648.7382,13.3806,6.0},
{1609.4133,-1732.6630,13.1264,6.0},
{1749.9606,-1607.7477,13.1307,6.0},
{1444.2788,-1590.3315,13.1262, 6.0},
{1322.3043,-1398.7396,13.0652, 6.0},
{1197.1818,-1410.4523,12.9691, 6.0},
{1197.5657,-1566.3827,13.1260, 6.0},
{1295.4998,-1579.1686,13.1264, 6.0},
{1304.0577,-1848.7880,13.1288, 6.0},
{1389.9825,-1864.6686,13.1265, 6.0},
{1369.8761,-1668.3801,13.0386, 6.0}}; -
Zu dem mit pass[255]:
Gold meinte das so: Warum erstellst du diese Varaible, wenn du sie nie brauchen wirst?
PS: Und man kann eh nicht mehr als 128 Zeichen eintippen -
Vllt zeigt der ColorPicker was falsches an?
Vllt übernimmt GTA die Farben anders?
Probiers nochmal mit nem anderen, mit der gleichen Farbe -
Ich frage mich oft echt, ob es möglich ist, dass man mal denkt
Du willst etwas speichern, sagst uns aber nicht, welches Dateisystem du verwendest und womit dus einschreibst
Das find ich auch immer mit den Parametern so toll... -.-
Naja, auf gut Glück:
//OnPlayerDisconnect:
schonda[playerid]=0;
new wid, muni, i=1, s[21], zahl[4];
GetPlayerName(playerid,s,sizeof(s));
format(s,sizeof(s),"%s.ini",s);
if(fexist(s)) {
for(; i<13; i++) {
GetPlayerWeaponData(playerid,i,wid,muni);
format(zahl,sizeof(zahl),"w%dw",i);
dini_IntSet(s,zahl,wid);
format(zahl,sizeof(zahl),"w%dm",i);
dini_IntSet(s,zahl,muni); }}
//OnPlayerSpawn:
if(schonda[playerid]==0) {
schonda[playerid]=1;
new s[21], zahl[4], i=1, wid, muni;
GetPlayerName(playerid,s,sizeof(s));
format(s,sizeof(s),"%s.ini",s);
if(fexist(s)) {
for(; i<13; i++) {
format(zahl,sizeof(zahl),"w%dw",i);
wid=dini_Int(s,zahl);
if(wid!=0) {
format(zahl,sizeof(zahl),"w%dm",i);
muni=dini_Int(s,zahl);
if(i==1 || i==10) { muni=1; }
if(muni!=65535) {
GivePlayerWeapon(playerid,wid,muni); }}}}}
//ganz nach oben:
new schonda[MAX_PLAYERS];
Dieser Code verhindert gleich den Bug, dass man des öfteren unendlich Munition hat
Die Waffe "verschwindet" dann einfach