was bedeutet das?? ich versuche grad n stammspieler-acc-system zu machen, habs genau so gemacht wie Seif sein Admin System gemacht hat... nur halt AdminLevel = StammLevel und 1 levels nicht 6... aber bekomme die warnungen immer und in der %s.ini StammLevel=1 angezeigt sobald man sich registriert hat... was tun? soll ich den script hier posten? danke für antworten...
warning 211: possibly unintended assignment
- Zacharias
- Geschlossen
- Erledigt
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
-
-
Ordentliche Sätze zu schreiben wär besser, über 50% der Leute haben dein Text kaum verstanden...
welcher Errors/Warnings? Zeilen?
Wenn sich der Spieler registriert StammLevel einfach auf 1 setzen,
GF:
Anssonsten:
Mfg -
Poste doch erstmal die Zeile in der der Error ist
-
ähm ja also... der fehler kommt 2x vor:
if(strcmp(cmd, "/original", true) == 0)
{
if (AccountInfo[playerid][StammLevel] = 1)
{
SetPlayerColor(playerid, original);
SendClientMessage(playerid, original, "Deine neue Farbe");
return 1;
}
else
{
SendClientMessage(playerid, ADMIN_RED, "Diese Funktion steht dir zur Zeit nicht zu verfügung.");
return 1;
}
} da und
OnPlayerRegister(playerid,tmppass);
if (AccountInfo[playerid][StammLevel] = 1)
{
AccountInfo[playerid][StammLevel] = 0;
}da
aber das funktioniert alles nicht... wurst ob ichs drin hab oder nicht das geht nicht dabei habe ich alles so gemacht wie beim AdminLevel... -
if(strcmp(cmd, "/original", true) == 0)
{
if (AccountInfo[playerid][StammLevel] == 1)
{
SetPlayerColor(playerid, original);
SendClientMessage(playerid, original, "Deine neue Farbe");
return 1;
}
else
{
SendClientMessage(playerid, ADMIN_RED, "Diese Funktion steht dir zur Zeit nicht zu verfügung.");
return 1;
}
}Und:
OnPlayerRegister(playerid,tmppass);
if (AccountInfo[playerid][StammLevel] == 1)
{
AccountInfo[playerid][StammLevel] = 0;
}Wäre richtig.
Du hast in der If-Bedingung eine Zuweisung "=" gemacht, du musst aber einen Vergleich abfragen "==".
-
mann was für ein noob fehler
vielen dank du kleiner profi -
ich will nicht für jedes problem ein neues thema auf machen deshalb schreib ichs hier...
wollte grad ein pickup machen, was kommt da?
da ich kein schimmer hab was das bedeutet kopiere ich hier gleich den ganzen code rein.
unter includes:
new keycard;
unter OnGameModeInit:
keycard = CreatePickup(1581, 23, -1328.1528320313, 581.77209472656, 46.450931549072);
und unter OnPlayerPickUpPickup:
public OnPlayerPickUpPickup(playerid, pickupid)
{
{
if(pickupid == health) SetPlayerHealth(playerid, 0);
new string[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
SendClientMessageToAll(LS_RED, string);
format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
SendClientMessage(playerid, YELLOW, string);
dm[playerid] = 0;
return 1;
}
{ //Problemzeile o.O (1176)
if(pickupid == keycard) SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
SetPlayerFacingAngle(playerid, 90.0);
SendClientMessage(playerid, YELLOW, "Tore geöffnet!");
return 1;
}
}kann mir wer helfen?
-
warning 225: unreachable code
heißt nicht anderes als dass der Code nicht ausgeführt werden kann. Das ist so, wenn vor dem Code ein return stehtBeispiel
public xyz(id)
{
if(level[id] == 1)
{
return 1;// <-- das geht, weil es in einer if Abfrage steht
}
return 1;// <-- das steht außerhalt einer if Abfrage und beenden sozusagen den public
SetPlayerPos(id, 0.0, 0.0, 0.0);// <-- durch das return 1; davor wird der public beendet und SetPlayerPos wird nie aufgeführt werden
} -
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == health) {
SetPlayerHealth(playerid, 0);
new string[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
SendClientMessageToAll(LS_RED, string);
format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
SendClientMessage(playerid, YELLOW, string);
dm[playerid] = 0;
}
if(pickupid == keycard) {
SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
SetPlayerFacingAngle(playerid, 90.0);
SendClientMessage(playerid, YELLOW, "Tore geöffnet!");
}
return 1;
} -
dankeschön für die schnellen antworten
funzt wunderbar -
Also nochmal, es funzt nicht wirklich
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == health)
{
SetPlayerHealth(playerid, 0);
new string[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s wurde von einem Pickup reingelegt.", pname);
SendClientMessageToAll(LS_RED, string);
format(string, sizeof(string), "Scheiße man, was hast du dir dabei gedacht?", pname);
SendClientMessage(playerid, YELLOW, string);
dm[playerid] = 0;
return 1;}
if(pickupid == keycard)
{
SetPlayerPos(playerid,-1323.0547,601.8909,6.4547);
SetPlayerFacingAngle(playerid, 90.0);
SendClientMessage(playerid, YELLOW, "Tore geöffnet!");
return 1;}
return 0;
}
Was ist da falsch? Der 2te Pickup geht aber der erste nicht... Also der health geht nicht... -
Hast du health auch definiert, sprich erstellt (new health; health = CreatePickup(...); ) ?
-
new health;
health = CreatePickup(1254, 23, -1326.4594726563, 598.4931640625, 12.169381141663);
health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984);
& beide pickups funzen nicht... also es muss am code liegen... soweit ich mich beim pawn scripten auskenne -
health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);so, damit ist das pickup in allen vworlds sichtbar.
//achja, du kannst in einer variable (health) auch nur eine pickupid speichern, zweimal eine id zuweisen funktioniert nicht.
-
health = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);so, damit ist das pickup in allen vworlds sichtbar.
//achja, du kannst in einer variable (health) auch nur eine pickupid speichern, zweimal eine id zuweisen funktioniert nicht.
w00t? Ich hatte vorhin 5 pickups mit der id health und es ging alles wunderbar... erst seit die keycard drin ist geht nix ausser der
-
hm, also verschiedene pickupids kannst du aufjedenfall nicht in einer normale variable speichern, da ist immer nur platz für einen int-wert.
du kannst für alle "health"-pickups ein array erstellen z.B.
new health[10];und dann
health[0] = CreatePickup(1277, 23, -1299.9934082031, 580.99359130859, 55.549407958984, -1);
health[1]=...uswdas sollte dann funktionieren.
-
breadfish.de
Hat das Thema geschlossen.