return cmd_a(playerid,params[]);
hier die [] weg
return cmd_a(playerid,params[]);
hier die [] weg
Hi, kann mir jemand helfen Jeffry: vielleicht?
Der Adminchat wird mit der Taste "#" (ohne die Anführungszeichen" aufgerufen, doch ich habe da Fehler drin die ich nicht erkenne.
Ich erhalte 0 Erros und Warnings, doch Ingame wird die Nachicht einmal im Adminchat und einmal im globalen Chat ausgeführt. Die Nachicht soll aber nur für Admins sichtbar sein.
" if(strfind(text,"#",true) == 0)
{
new nachricht[512];
if(Account[playerid][AC_Admin] < 1){return SendClientMessage(playerid, 0xAAAAAAAA, "{30B7E4}[INFO]: {FFFFFF}Sie haben für diesen Befehl keine befugnis.");}
if(sscanf(text, "s",nachricht)){return SendClientMessage(playerid, 0xFF0000AA, "{30B7E4}[INFO]: {FFFFFF}Nutze: #[Text]");}
return AdminNachricht(playerid,0xFF0000AA, nachricht);
}
else{return 1;}"
public AdminNachricht(playerid,farbe, text[]) //#AdminNachricht(farbe, text[])
{
new temps_atring[512],Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
for(new i = 0; i < SpielerOnline; i++)
{
if(Account[i][AC_Admin] > 0)
{
//strdel(text, 0,1);
format(temps_atring, sizeof(temps_atring),"{30B7E4}#%s: %s",Name,text);
SendClientMessage(i, farbe, temps_atring);
}
}
return 1;
}
Versuche es so:
if(text[0] = '#')
{
if(Account[playerid][AC_Admin] < 1)
{
return SendClientMessage(playerid, 0xAAAAAAAA, "{30B7E4}[INFO]: {FFFFFF}Sie haben für diesen Befehl keine befugnis.");
}
if(!strlen(text[1]))
{
return SendClientMessage(playerid, 0xFF0000AA, "{30B7E4}[INFO]: {FFFFFF}Nutze: #[Text]");
}
return AdminNachricht(playerid, 0xFF0000AA, text[1]);
}
else
{
return 1;
}
public AdminNachricht(playerid, farbe, text[]) //#AdminNachricht(farbe, text[])
{
new temps_atring[145],Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
for(new i = 0; i < SpielerOnline; i++)
{
if(Account[i][AC_Admin] > 0)
{
//strdel(text, 0,1);
format(temps_atring, sizeof(temps_atring),"{30B7E4}#%s: %s",Name,text);
SendClientMessage(i, farbe, temps_atring);
}
}
return 0;
}
Wieso kommt die Nachricht 2 mal, obwohl nur einer auf dem Server ist?
CMD:a(playerid,params[])
{
new string[128],Text[128];
if(pInfo[playerid][pEingeloggt] != 1)return SendClientMessage(playerid,COLOR_GRAU,"Du kannst keine Befehle benutzen, da du nicht eingeloggt bist.");
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied oder dein Rang ist zu niedrig.");
if(sscanf(params,"s",Text))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: (/a)dmin [Nachricht]");
format(string,sizeof(string), "[Admin-Chat] %s: %s",pInfo[playerid][pName],Text);
ForAllPlayers(i)
{
if(IsPlayerConnected(i))
{
if(pInfo[i][pAdminlevel] > 1)
{
SendClientMessage(i,COLOR_YELLOW,string);
}
}
}
return 1;
}
Versuche es mal mit einer normalen Schleife:
CMD:a(playerid,params[])
{
new string[145],Text[128];
if(pInfo[playerid][pEingeloggt] != 1)return SendClientMessage(playerid,COLOR_GRAU,"Du kannst keine Befehle benutzen, da du nicht eingeloggt bist.");
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied oder dein Rang ist zu niedrig.");
if(sscanf(params,"s",Text))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: (/a)dmin [Nachricht]");
format(string,sizeof(string), "[Admin-Chat] %s: %s",pInfo[playerid][pName],Text);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(pInfo[i][pAdminlevel] > 1)
{
SendClientMessage(i,COLOR_YELLOW,string);
}
}
}
return 1;
}
Evtl. einen NPC connected?
Normale Schleife hat funktioniert, komisch.
Eine Frage noch, habe hier einen Syntax Error.
new query[1024];
format(query, sizeof(query), "UPDATE `"#SERVERTAG"_accounts` SET `Eingeloggt` = '%d', `Admin` = '%d', `Geschlecht` = '%d', `Tutorial` = '%d',`Fraktion` = '%d',`FraktionSkin` = '%d',`FrakionsRank` = '%d',`Geld` = '%d',`Bank` = '%d',`Skin` = '%d',`Kills` = '%d',`Deaths` = '%d',`MuteTime` = '%d',`Mute` = '%d',`PrisonTime` = '%d',`Prison` = '%d',",
pInfo[extraid][pEingeloggt],pInfo[extraid][pAdminlevel],pInfo[extraid][pGeschlecht],pInfo[extraid][pTutorial],pInfo[extraid][pFraktion],pInfo[extraid][pFraktionSkin],pInfo[extraid][pFrakionsRank],pInfo[extraid][pGeld],pInfo[extraid][pBank],pInfo[extraid][pSkin],pInfo[extraid][pKills],pInfo[extraid][pDeaths],pInfo[extraid][pMuteTime],pInfo[extraid][pMute],pInfo[extraid][pPrisonTime],pInfo[extraid][pPrison]);
format(query,sizeof(query),"%s `Banned`='%d', `BanReason`='%s', `BanAdmin`='%s' WHERE `Name` = '%s'",
pInfo[extraid][pBanned],pInfo[extraid][pBanReason],pInfo[extraid][pBanAdmin],pInfo[extraid][pName]);
mysql_function_query(mycon, query, false, "", "");
format(query,sizeof(query),"%s `Banned`='%d', `BanReason`='%s', `BanAdmin`='%s' WHERE `Name` = '%s'",
zu:
format(query,sizeof(query),"%s `Banned`='%d', `BanReason`='%s', `BanAdmin`='%s' WHERE `Name` = '%s'", query,
Kann man durch ein Array iterieren, das keine feste Größe besitzt? Man kann dann ja leider schlecht sizeof() verwenden.
Wenn ja, wie funktioniert das?
Beispielsweise so ein Array:
new bla[][ENUM];
Das kannst du so nicht machen, da keine Größe angegeben wurde.
Das geht nur ohne Angabe von einer Größe in einer Dimension, wenn du dahinter die Standard Werte packst.
Jeffry:
Eine Lösung hast du sicherlich für mich?
Ich weiß nicht wo der Fehler ist.....
malE:
Hier bitte.
wo war denn jetzt der Fehler?
Alles klar danke dir!
Hey, wäre super wenn mir jemand eben einen Attach Object to Player Editor sendet, da ich einige Positionen brauche,
Ich habe zwar einen im englischen Forum gefunden, aber der Downloadlink ist da leider down
Danke schonmal