Soweit ich das sehe ist das sowieso immer das selbe, der wird momentan ja auch für jeden ausgeführt.
Der einziegste unterschied liegt ja im 3D Text der halt je nach adminlevel anders ist.
Beiträge von InternetInk aka Benjamin
-
-
Ist ja viel zu unübersichtlich...
Ich habs mal etwas übersichtlicher gemacht.//EDIT
So...
//
if(strcmp(cmd, "/aduty", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht berechtigt, diesen Befehl zu benutzen !");
return 1;
}
if(PlayerInfo[playerid][pADuty] == 0)
{
SetPlayerColor(playerid, 0xFF00EBFF);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCmd: Admin %s hat den Admindienst begonnen.", sendername);
OOCNews(0xFF00F5FF,string);
if(PlayerInfo[playerid][pAdmin] == 1)
{
ProbeSupporter[playerid] = Create3DTextLabel("ProbeSupporter",0xC8C8C8FF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(ProbeSupporter[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
Supporter[playerid] = Create3DTextLabel("Supporter",0xF5FF00FF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(Supporter[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 3)
{
Moderator[playerid] = Create3DTextLabel("Moderator",0x00FF1EFF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(Moderator[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
Administrator[playerid] = Create3DTextLabel("Administrator",0x0073FFFF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(Administrator[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 5)
{
SuperAdministrator[playerid] = Create3DTextLabel("SuperAdministrator",0xFF9600FF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(SuperAdministrator[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 1337)
{
ServerManager[playerid] = Create3DTextLabel("ServerManager",0x0023FFFF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(ServerManager[playerid], playerid, 0.0, 0.0, 0.3);
}
if(PlayerInfo[playerid][pAdmin] == 1338)
{
ServerOwner[playerid] = Create3DTextLabel("ServerOwner",0xC30000FF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(ServerOwner[playerid], playerid, 0.0, 0.0, 0.3);
}
getdate(year, month, day);
gettime(hour, minute);
format(string, sizeof(string), "AdmCmd: Admin %s started Support as an Admin. (%d-%d-%d)(%d:%d Uhr)", sendername,month,day,year,hour,minute);
AdminLog(string);
PlayerInfo[playerid][pADuty] = 1;
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid,100);
SetPlayerSkin(playerid, 279);
return 1;
}
else
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCmd: Admin %s hat den Admindienst beendet.", sendername);
OOCNews(0xFF00F5FF,string);
SetPlayerToTeamColor(playerid);
PlayerInfo[playerid][pADuty] = 0;
getdate(year, month, day);
gettime(hour, minute);
format(string, sizeof(string), "AdmCmd: Admin %s (lvl %d) stopped Support as an Admin. (%d-%d-%d)(%d:%d Uhr)", sendername,PlayerInfo[playerid][pAdmin],month,day,year,hour,minute);
AdminLog(string);
SetPlayerSkin(giveplayerid, PlayerInfo[giveplayerid][pModel]);
Delete3DTextLabel(ProbeSupporter[playerid]);
Delete3DTextLabel(Supporter[playerid]);
Delete3DTextLabel(Moderator[playerid]);
Delete3DTextLabel(Administrator[playerid]);
Delete3DTextLabel(SuperAdministrator[playerid]);
Delete3DTextLabel(ServerManager[playerid]);
Delete3DTextLabel(ServerOwner[playerid]);
return 1;
}
return 1;
}
//restlichen befehle -
Die Zahl die du eingibst wird im Chase durchgegangen.
Falls es ne 0 ist wird das Adminlevel zurückgegeben
Falls es ne 1 ist wird das Level zurückgegeben usw.Jop, mehrere Abfragen gleichzeitig sind damit durchaus möglich.
Für jede Variable eine eigene Funktion zu erstellen schien mir unnötig, daher das mit der id und dem switch, das macht die Sache einfacher
-
Im FilterScript z.B.
if(GetCurrentStat(0,playerid) > 1)
{
//Sein Adminlevel ist größer als 1
}
if(GetCurrentStat(1,playerid) == 5)
{
//Wenn sein Level gleich 5 ist
} -
Script mit den neuen Includes compilieren
-
Freut mich, für mal eben ausgedacht...

Wieder was gelernt xD -
Sollte über einen Umweg möglich sein.
Ist allerdings ungetestet und muss natürlich angepasst werden//Im GameMode
forward CurrentStat(id,playerid);
public CurrentStat(id,playerid)
{
switch(id)
{
case 0: return SpielerInfo[playerid][pAdmin];
case 1: return SpielerInfo[playerid][pLevel];
//usw die mit angegebene ID ist quasi ein wert für das was man möchte.
}
return -1;
}
//In einem anderen Script z.B. FilterScript
GetCurrentStat(id,playerid)
{
return CallRemoteFunction("CurrentStat","dd",id,playerid);
} -
Jo kann man, lad dir einfach ma diesen TextDrawEditor runter damit kannst du relativ einfach TextDraws erstellen
-
Betrüger werden sowieso gesperrt und wer nicht über Mittelsmänner handelt hat es selbst zu verantworten wenn er um sein Geld betrogen wird.
Für die Paar Transaktionen sowas zu installieren halte ich für schlichtweg unnötig.
Macht in größeren Foren mit vielen Verkäufern mehr sinn als hier. -
Den 2. Button "" also Leer, kein Leerzeichen gamer
-
Find ich unnötig, einfach alles über einen Mittelsmann machen, die können dann ja Erfahrungen mit Verkäufern an den Käufer weiterleiten.
-
Vermutlich kann er das Script nicht ganz laden, das kann jetzt aber viele Gründe haben.
Ich würde dir raten einfach selbst ein Script zu erstellen falls du soviel Zeit investieren möchtest. -
Kannst du dort denn das Streamer Plugin auswählen?
-

(286,315.745086,984.969299,1958.919067,24,300,31,600,46,1)
(skin, Float:x, Float:y, Float:z, Float:winkel, waffe1, waffe1_munition, waffe2, waffe2_munition, waffe3, waffe3_munition)Winkel also Drehrichtung fehlt

-
Der Typ hat keinen Streamer geschrieben, er hat lediglich die Include angepasst.
Das hier ist der Streamer http://forum.sa-mp.com/showthread.php?t=102865
Damit haste nahezu unenendlich Objekte -
defragmentieren ...^^ nicht wirklich lust
Defragmentieren != Formatieren
Beim Defragmentieren wird die Festplatte quasi neu sortiert, einzelne zusammengehörige Fragmente werden zusammen geführt.
Das hat den Effekt das die Festplattennadel nicht unnötig viel hin und her wandern muss was Zeit spart und das System schneller macht.
Die Funktion gibt es sowohl bei Windows als auch als unzählige Programme... -
Parameter sind die Werte die Zwischen Kommas und innerhalb der Runden Klammern stehen.
AddPlayerClass hat und benötigt 11 du hast aber nur 10 angegeben.Vergleiche mal mit denen aus der Wiki
-
Kritischen Scriptfehler eingebaut
-
Generall kann man Warnings Ignorieren.

Das Warning "local variable "mod" shadows a variable at a preceding level"
Besagt das die in der Zeile erstelle Variable eine Globale Variable die ebenfalls so heißt verschattet.
Das näher zu erklären wäre jetzt zu aufwendig.Die Variable zu löschen ist aber eine sehr schlechte Idee.
Nenn die Variable in mod1 oder sowas um, die restlichen mod in dem Befehl ebenfalls. -
Sein Befehl steht ja auch vorm return, mehr hab ich ja auch nicht gesagt xD
Der Befehl an sich besteht übrigends aus der if Zeile und den 2 Klammern und nicht nur der if-Zeile