Muss ich Frakjail einfach irgendwo im Script einfügen?
Gangjail Befehl mit OCMD
- KinGRaPTiiC
- 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
-
-
Ja
-
Das mit FrakJail klappt garnicht
Jetzt habe ich ein neues Problem bei Jeder Fraktion die ich Versuche zu setten kommt der Spieler ist bereits in der Fraktion...
/edit @robbi2304
-
Das mit FrakJail klappt garnicht
Jetzt habe ich ein neues Problem bei Jeder Fraktion die ich Versuche zu setten kommt der Spieler ist bereits in der Fraktion...
/edit @robbi2304
Was klappt jetzt genau nicht ?
Und was meinst du mit Setten ? Da brauchen wir mehr Code
-
also mit /setfraktion setzt du die fraktion eines spielers und egal welche Frak ich eingebe 1-6 kommt Der Spieler ist bereits in der Fraktion
-
Zeig uns dein /setfraktion befehl bitte
und was zeigt er dir bei
FrakJail für Fehler an
-
dcmd_setfraktion(playerid,params[])
{
if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
new pid, frakid, string[145], name[MAX_PLAYER_NAME];
if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
sSpieler[pid][Fraktion] = frakid;
GetPlayerName(pid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
SendClientMessage(playerid,HELLBLAU,string);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
SendClientMessage(pid,HELLBLAU,string);
return 1;
} -
Wie rufst du hier
if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
ab welche frakid der Spieler hat ?
-
mit frakid
aber moment habe es grad nochmal probiert es wurde grad komischerweise auf 100 gesetzt also das ich in Fraktion 100 bin....
Naja mit FrakJail bekomme ich den Warning:
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3413) : warning 203: symbol is never used: "Fraktionsid"
Und das ist die Zeile:
FrakJail(playerid, Fraktionsid)//3413
{
if(sSpieler[playerid][Fraktion]>3) return 1;
return 0;
} -
FrakJail(playerid, Fraktionsid)//3413
{
if(sSpieler[playerid][Fraktion]>3) return 1;
return 0;
}ändern zu
FrakJail(playerid)//3413
{
if(sSpieler[playerid][Fraktion]>3) return 1;
return 0;
}
ocmd:gangjail(playerid, params[])
{
new pID, Level, string[100], playername[64];
if(FrakJail(playerid,3))
{
if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
GetPlayerName(playerid, playername); //2950
format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, playername); //2953
format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
SendClientMessage(playerid, GELB, string);
Gangjailticket[pID] = 1;
}
else
{
return SendClientMessage(playerid,Rot,"Du bist in keiner Gang/Mafia);
}
return 1;
}ändern zu
ocmd:gangjail(playerid, params[])
{
new pID, Level, string[100], playername[64];
if(!FrakJail(playerid,3))
{
if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
GetPlayerName(playerid, playername); //2950
format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, playername); //2953
format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
SendClientMessage(playerid, GELB, string);
Gangjailticket[pID] = 1;
}
else
{
return SendClientMessage(playerid,Rot,"Du bist in keiner Gang/Mafia);
}
return 1;
} -
-
Kriege diesen Warning
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : warning 202: number of arguments does not match definitionocmd:gangjail(playerid, params[])
{
new pID, Level, string[100], playername[64];
if(FrakJail(playerid,3)) //2946
{
if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
GetPlayerName(playerid, playername); //2950
format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, playername); //2953
format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
SendClientMessage(playerid, GELB, string);
Gangjailticket[pID] = 1;
}
else
{
return SendClientMessage(playerid,Rot,"Du bist in keiner Gang/Mafia);
}
return 1;
} -
Vergiss den FrakJail. Wie doof von mir geht auch anders.
ocmd:gangjail(playerid, params[])
{
new pID, Level, string[100], playername[64];
if(sSpieler[playerid][Fraktion] >= 3 || PlayerInfo[playerid][Fraktion] <= 6)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
GetPlayerName(playerid, playername); //2950
format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, playername); //2953
format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
SendClientMessage(playerid, GELB, string);
Gangjailticket[pID] = 1;
}
else
{
return SendClientMessage(playerid,COLOR_RED,"Diesen Befehl darfst du nicht verwenden da du nicht in einer Fraktion zwischen 3 und 7 bist");
}
return 1;
} -
Nachdem ich das eingefügt habe:
ocmd:gangjail(playerid, params[])
{
new pID, Level, string[100], playername[64];
if(sSpieler[playerid][Fraktion] >= 3 || PlayerInfo[playerid][Fraktion] <= 6)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,204.48158, -235.56549, 0.56437)) return SendClientMessage(playerid,ROT,"Du bist nicht mein Gangjail!");
if(sscanf(params, "ud", pID, Level)) return SendClientMessage(playerid,GELB, "Tippe: /gangjail [Spielername / ID]");
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "* %s hat dich ins Gangjail gesteckt!", playername);
SendClientMessage(pID, ROT, string);
GetPlayerName(pID, playername, sizeof(playername));
format(string, sizeof(string), "* Du hast den Spieler %s ins Gangjail gesteckt!", playername);
SendClientMessage(playerid, GELB, string);
Gangjailticket[pID] = 1;
}
else
{
return SendClientMessage(playerid,COLOR_RED,"Du bist in keiner Gang/Mafia");
}
return 1;
}kam dies:
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : error 017: undefined symbol "PlayerInfo"
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : warning 215: expression has no effect
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : error 001: expected token: ";", but found "]"
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2946) : fatal error 107: too many error messages on one line/edit @robbi2304 vielleicht kannst du ja Helfen @Jeffry
-
Brauchst du ja nicht mehr. Wir Fragen das ja nun anders ab. Also löschen.
Ganz einfach mal etwas nachdenken.
if(sSpieler[playerid][Fraktion] >= 3 || PlayerInfo[playerid][Fraktion] <= 6)
ersetzen durch
if(sSpieler[playerid][Fraktion] >= 3 || sSpieler[playerid][Fraktion] <= 6)
100% achte ich auch nicht auf alles beim anpassen xD
-
So leider kann ich es nicht ausprobieren da wenn ich z.B /setfraktion 0 (z.b 3) eingebe steht da das ich bei den Ballas bin kann mich aber nicht mehr auf
z.b 1,2 setzen da kommt ständig Spieler ist bereits in der Fraktion seit dem ich diesen Befehl drin habe.../edit klappt auch ohne Befehl nicht mehr....
-
Ich kann dir auch sagen warum das nicht Richtig geht, falsche Funktion in deinem Code.
Hier bitte sehr
dcmd_setfraktion(playerid,params[])
{
if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
new pid, frakid, string[145], name[MAX_PLAYER_NAME];
if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
if(frakid == PlayerInfo[playerid][fInfo]) return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist schon in der Fraktion");
sSpieler[pid][Fraktion] = frakid;
GetPlayerName(pid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
SendClientMessage(playerid,HELLBLAU,string);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
SendClientMessage(pid,HELLBLAU,string);
return 1;
} -
Hoffe das ist der aller letzte Error :DDD :
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(2889) : error 033: array must be indexed (variable "fInfo")dcmd_setfraktion(playerid,params[])
{
if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
new pid, frakid, string[145], name[MAX_PLAYER_NAME];
if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
if(frakid == sSpieler[playerid][fInfo]) return SendClientMessage(playerid,ROT,"Dieser Spieler ist schon in der Fraktion");//2889
sSpieler[pid][Fraktion] = frakid;
GetPlayerName(pid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
SendClientMessage(playerid,HELLBLAU,string);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
SendClientMessage(pid,HELLBLAU,string);
return 1;
}Danke für die ganze Hilfe @robbi2304 und an alle anderen!
-
Ah da war ich zu schnell und hab falsch gelesen.
Nun aber
dcmd_setfraktion(playerid,params[])
{
if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Administator!");
new pid, frakid, string[145], name[MAX_PLAYER_NAME];
if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
if(IstSpielerInFraktion(pid,frakid)) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
if(frakid == sSpieler[playerid][Fraktion]) return SendClientMessage(playerid,ROT,"Dieser Spieler ist schon in der Fraktion");//2889
sSpieler[pid][Fraktion] = frakid;
GetPlayerName(pid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %s zugewiesen.", name, playerid, fInfo[frakid][f_name]);
SendClientMessage(playerid,HELLBLAU,string);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Du wurdest der Fraktion %s von %s zugewiesen!", fInfo[frakid][f_name], name);
SendClientMessage(pid,HELLBLAU,string);
return 1;
} -
@robbi2304 das mit setfraktion geht leider immer noch nicht und den Befehl können trotzdem noch Zivilisten,LSPD´ler,FBI´ler nutzen also halt jeder kann ihn nutzen total komisch..
-
ich weiß nicht was du machst. Setfraktion die Zeile mit der Abfrage habe ich selber getestet die ist save.
Gangjail fragt ab ob der Spieler über Fraktion 3 ist und unter Fraktion 6. Wenn ja soll er den Vode daunter ausführen. Wenn nicht dann den else.
Also das sollte gehen