Hinter dem Funktion: in der scm mach das Anführungszeichen weg..
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Hinter dem Funktion: in der scm mach das Anführungszeichen weg..
return SendClientMessage(playerid,COLOR_GREY,"Funktion: /veh [carid] [color1] [color2]");
Ist bereits entfernt. -
Zeig mal genau die Zeile. .
-
Ich möchte mit einem /admins Befehle jeden Spieler auf dem Server abfragen, ob er ein Admin ist oder nicht.. das ging irgendwie mit "i", könnte mir da jemand noch eine Starthilfe geben, bitte? :s
-
Ja! So:
for(new i=0; i<GetMaxPlayers();i++)
{
//HIER DEINE ABFRAGE!
} -
Ja! So:
for(new i=0; i<GetMaxPlayers();i++)
{
//HIER DEINE ABFRAGE!
}
Ich danke dir.
Sie sollen wie bei jedem /admins Befehl in einer Art Tabelle angezeigt werden, sprich jede Zeile einzeln. Das macht es dann selbst, oder?
-
Meinst du ein Dialog?
Dafür brauchst du das Style DIALOG_STYLE_LIST oder machst es einfach darein: DIALOG_STYLE_MSGBOXOb das Script es automatisch macht, da bin ich mir nicht ganz so sicher.
-
Meinst du ein Dialog?
Dafür brauchst du das Style DIALOG_STYLE_LIST oder machst es einfach darein: DIALOG_STYLE_MSGBOXOb das Script es automatisch macht, da bin ich mir nicht ganz so sicher.
Nein, wie in jedem GF. Dialog ist etwas störend, beispielsweise auf der Flucht. Wobei das eine gute Idee ist.
Dennoch meine ich es so:Headadmin Dubbi
Supporter Blub
Nichtsnutz Freilauf -
Achso, das ist mit SendClientMessage geregelt.
Kannst mir deine Abfrage und die Schleife usw. ja mal per PN schreiben, dann helfe ich dir da.
-
formatiere einen string und geb ihn in ner message aus

-
formatiere einen string und geb ihn in ner message aus

Ehe man sich versieht, ist die helfen Person auch schon wieder weg:ocmd:admins(playerid,params[])
{
new name[MAX_PLAYER_NAME];
for(new i=0;i<GetMaxPlayers();i++)
{
GetPlayerName(i,name,sizeof name);
if(IsPlayerAnAdmin(i,1))format(string,sizeof (string),"Probesupporter: %s",name);
else if(IsPlayerAnAdmin(i,2))format(string,sizeof(string),"Supporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,3))format(string,sizeof(string),"ProSUP: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,4))format(string,sizeof(string),"Moderator: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,5))format(string,sizeof(string),"SupMOD: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,6))format(string,sizeof(string),"ProMOD: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,7))format(string,sizeof(string),"High Moderator: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,8))format(string,sizeof(string),"Admin: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,9))format(string,sizeof(string),"ProADM:: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,10))format(string,sizeof(string),"High Admin: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,11))format(string,sizeof(string),"Stellv. Projektleiter: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
else if(IsPlayerAnAdmin(i,12))format(string,sizeof(string),"Projektleiter: %s",name);SendClientMessage(playerid, COLOR_GRAD1,string);
return 1;
}
else
{
SendClientMessage(playerid, grau,"Wie du siehst, ist kein Teammitglied online.");
}
}C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(566) : error 017: undefined symbol "string"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(566) : error 017: undefined symbol "string"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(566) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(566) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Zeile 560:
if(IsPlayerAnAdmin(i,1))format(string,sizeof (string),"Probesupporter: %s",name); -
du musst den string auch erstellen
new string [128]; -
du musst den string auch erstellen
new string [128];
Hatte ich durchaus bereits probiert....C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(569) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(569) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(569) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(570) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(570) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(570) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(571) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(571) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(571) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(572) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(572) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(572) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(573) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(573) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(573) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(574) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(574) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(574) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(575) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(575) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(575) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(576) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(576) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(576) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(577) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(577) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(577) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(578) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(578) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(578) : error 001: expected token: ";", but found "if"
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(581) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(585) : warning 209: function "ocmd_admins" should return a value
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(638) : error 037: invalid string (possibly non-terminated string)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase22 Errors.
-
Um dein Server zu entlasten und auch schneller den Richtigen Array ausgegeben zu bekommen, nutze doch einfach die Funktion switch/case .. Diese ist extra dafür

switch(IsPlayerAnAdmin)
{
case 0:{}
case 1:{}
} -
Um dein Server zu entlasten und auch schneller den Richtigen Array ausgegeben zu bekommen, nutze doch einfach die Funktion switch/case .. Diese ist extra dafür

switch(IsPlayerAnAdmin)
{
case 0:{}
case 1:{}
}
Müsste ich da nicht irgendwo dazu die Adminränge definieren? -
Müsste ich da nicht irgendwo dazu die Adminränge definieren?
Nein, dein isPlayerAnAdmin reicht aus
-
It's true?
ocmd:admins(playerid,params[])
{
new name[MAX_PLAYER_NAME];
for(new i=0;i<GetMaxPlayers();i++)
{
new string[128];
GetPlayerName(i,name,sizeof name);
switch(IsPlayerAnAdmin(i))
{
case 0:{}
case 1:
{
format(string,sizeof(string),"Testsupporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 2:
{
format(string,sizeof(string),"Supporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 3:
{
format(string,sizeof(string),"ProSUP: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 4:
{
format(string,sizeof(string),"Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 5:
{
format(string,sizeof(string),"SupMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 6:
{
format(string,sizeof(string),"ProMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 7:
{
format(string,sizeof(string),"High Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 8:
{
format(string,sizeof(string),"Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 9:
{
format(string,sizeof(string),"ProADM: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 10:
{
format(string,sizeof(string),"High Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 11:
{
format(string,sizeof(string),"Stellv. Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
case 12:
{
format(string,sizeof(string),"Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string);
}
}
}
else
{
SendClientMessage(playerid, grau,"Wie du siehst, ist kein Teammitglied online.");
}
}C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(567) : warning 202: number of arguments does not match definition
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(620) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(677) : error 037: invalid string (possibly non-terminated string)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
ocmd:admins(playerid,params[])
{
new name[MAX_PLAYER_NAME];
for(new i=0;i<GetMaxPlayers();i++)
{
new string[128];
GetPlayerName(i,name,sizeof(name));
switch(IsPlayerAnAdmin(i))
{
case 0:{ break; }
case 1:{ format(string,sizeof(string),"Testsupporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 2:{ format(string,sizeof(string),"Supporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 3:{ format(string,sizeof(string),"ProSUP: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 4:{ format(string,sizeof(string),"Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 5:{ format(string,sizeof(string),"SupMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 6:{ format(string,sizeof(string),"ProMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 7:{ format(string,sizeof(string),"High Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 8:{ format(string,sizeof(string),"Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 9:{ format(string,sizeof(string),"ProADM: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 10:{ format(string,sizeof(string),"High Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 11:{ format(string,sizeof(string),"Stellv. Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 12:{ format(string,sizeof(string),"Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
}
}
}So könntest du das machen.. könntest das natürlich auch mit einem Stock und weniger Zeilen schreiben .. Aber jetzt gib mir mal bitte die Error Zeilen

-
ocmd:admins(playerid,params[])
{
new name[MAX_PLAYER_NAME];
for(new i=0;i<GetMaxPlayers();i++)
{
new string[128];
GetPlayerName(i,name,sizeof(name));
switch(IsPlayerAnAdmin(i))
{
case 0:{ break; }
case 1:{ format(string,sizeof(string),"Testsupporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 2:{ format(string,sizeof(string),"Supporter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 3:{ format(string,sizeof(string),"ProSUP: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 4:{ format(string,sizeof(string),"Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 5:{ format(string,sizeof(string),"SupMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 6:{ format(string,sizeof(string),"ProMOD: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 7:{ format(string,sizeof(string),"High Moderator: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 8:{ format(string,sizeof(string),"Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 9:{ format(string,sizeof(string),"ProADM: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 10:{ format(string,sizeof(string),"High Admin: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 11:{ format(string,sizeof(string),"Stellv. Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
case 12:{ format(string,sizeof(string),"Projektleiter: %s",name);SendClientMessage(playerid,COLOR_GRAD1,string); }
}
}
}
C:\Dokumente und Einstellungen\Administrator\Desktop\Mods\samp03x_svr_R2_win32\gamemodes\Dubbi.pwn(567) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
Zeile 567: switch(IsPlayerAnAdmin(i))
-
Mal als kleinen Verbesserungsvorschlag dieser Code:
ocmd:admins(playerid,params[]) {
new name[MAX_PLAYER_NAME],string[24 + MAX_PLAYER_NAME];
for(new i,l=GetMaxPlayers();i<l;i++) {
if(!IsPlayerConnected(i)) continue;
GetPlayerName(i,name,MAX_PLAYER_NAME);
switch(GetPVarInt(i,"Adminlevel")) { //evtl anpassen
case 0: continue;
case 1: format(string,sizeof(string),"Testsupporter: %s",name);
case 2: format(string,sizeof(string),"Supporter: %s",name);
case 3: format(string,sizeof(string),"ProSUP: %s",name);
case 4: format(string,sizeof(string),"Moderator: %s",name);
case 5: format(string,sizeof(string),"SupMOD: %s",name);
case 6: format(string,sizeof(string),"ProMOD: %s",name);
case 7: format(string,sizeof(string),"High Moderator: %s",name);
case 8: format(string,sizeof(string),"Admin: %s",name);
case 9: format(string,sizeof(string),"ProADM: %s",name);
case 10: format(string,sizeof(string),"High Admin: %s",name);
case 11: format(string,sizeof(string),"Stellv. Projektleiter: %s",name);
case 12: format(string,sizeof(string),"Projektleiter: %s",name);
}
SendClientMessage(playerid,COLOR_GRAD1,string);
}
return 1;
}PS: Achtet besonders auf die Schleife und die Deklaration der Variablen

mfg.

