Du weist aber, dass du bei Kick oder Ban ein Adminlevel unter 2 haben musst?
Ansonsten musst du die Abfragen so macheN:
if(!PlayerInfo[playerid][pAdminlevel] >= 2)return SendClientMessage(playerid .....
Glaube ich Ich arbeite bei mir selber anders
Beiträge von CaptainKevin
-
-
Pawno fängt bei 0 an zu zählen.
Also ist Mann = 0 und Frau = 1 -
Hallo, Community!
Vorab möchte ich sagen, dass dieses Masken System für jedes Script angepasst werden muss!
Für Support des Maskensystems bin ich nicht zuständig!Man könnte dieses Maskensystem für einen Reallife Server gebrauchen oder für jede andere Art des versteckten Namens.
Ich werde warscheinlich nicht mehr in diesen Thread gehen, da ich vorerst inaktiv werden.
Ich bitte um Verständniss. Erklärungen stehen hinter den BefehlenFangen wir an:
//Als aller erstes brauchen wir eine Variable für jeden Spieler, damit die Maske zum späteren Zeitpunkt keine Probleme hat.
//Diese Variable erstellen wir mit:
new Maske[MAX_PLAYERS];//Beim nächsten Schritt, setzen wir die Maske bei "OnPlayerConnect" und "OnPlayerSpawn" auf 0, damit die Maske beim Connecten & beim
//Spawnen nicht benutzt wird.
//Dies machen wir mit folgendem Text:
Maske[playerid] = 0;//Als nächtes müssen wir dafür sorgen, dass bei der Maske Leben abgezogen wird, sobald man verletzt wird.
//Dazu benutze ich OnPlayerUpdate
//Wer diese Funktion zu aufwändig findet, kann sich auch einen Timer erstellen! Dazu folgt keine Anleitung!
public OnPlayerUpdate(playerid)
{
if(Maske[playerid] == 1)
{
new string[128], Float:hp, Float:am; //Wie brauchen diese Zeile, damit das HP ausgegeben und abgefragt werden kann!
GetPlayerHealth(playerid,hp);//Hier fragen wir das Leben ab
GetPlayerArmour(playerid,am);//Hier wird die Rüstung abgefragt
floatround(hp,floatround_tozero);//Das ganze wird gerundet
floatround(am,floatround_tozero);//Erneut gerundet
format(string,sizeof(string),"Unbekannter\nL:%.0f R:%.0f",hp,am);//Der Name undbekannt wird gesetzt, Leben & Rüstung wird eingesetzt
SetPlayerChatBubble(playerid,string,rot,40.0,10000);//Das ganze steht über dem Namen
}
return 1;
}//Gehen wir zu OnPlayerStreamIn
//Sobald ein Spieler bei einem anderen Spieler erscheint, werden ihm die Rüstung, die Maske, das Leben und der Name erneut gesetzt
if(Maske[forplayerid]==1)
{
SetPlayerAttachedObject(forplayerid, 1, 19036, 2, 0.107, 0.035, 0.0, 90, 90, 0);//Object wird auf den Character gesetzt
ShowPlayerNameTagForPlayer(playerid,forplayerid,false);//Der Name verschwindet
}//Der eigentliche Befehl:
ocmd:maske(playerid,params[])//Das, was eingegeben wird
{
if(SpielerInfo[playerid][pTeam] != 2)return SendClientMessage(playerid,rot,"Fehler: Du bist nicht bei den Terroristen.");//Die Abfrage der Fraktion
if(Maske[playerid]==1)//wenn die Maske schon auf dem Gesicht war
{
GameTextForPlayer(playerid,"~r~Du setzt deine Maske ab.",100,0);//Eine Nachricht an den Spieler
Maske[playerid] = 0;//Variable wird auf "Abgesetzt" gestellt
RemovePlayerAttachedObject(playerid, 1);//Die Maske wird vom Gesicht genommen
for(new i=0; i<MAX_PLAYERS; i++)//Schleife durch alle Spieler
{
ShowPlayerNameTagForPlayer(i,playerid,true);//Name wird wieder gezeigt
}
}
else if(Maske[playerid]==0)//Wenn er keine Maske auf hatte
{
new Float:health, Float:armour, string[128];//Leben & Rüstung wird abgefragt
GetPlayerHealth(playerid,health);//Lebensabfrage
GetPlayerArmour(playerid,armour);//Rüstungsabfrage
floatround(health,floatround_tozero);//Runden
floatround(armour,floatround_tozero);//Runden
format(string,128,"Unbekannter\nL:%.0f R:%.0f",health,armour);//Leben & Rüstung wird formatiert
SetPlayerChatBubble(playerid,string,rot,40.0,10000);//Leben wird über den Kopf gesetzt
GameTextForPlayer(playerid,"~r~Du setzt deine Maske auf.",100,0);//Nachricht an den Spieler
Maske[playerid] = 1;//Maske wird auf "tragen" gesetzt
SetPlayerAttachedObject(playerid, 1, 19036, 2, 0.107, 0.035, 0.0, 90, 90, 0);//Objekt erscheint
for(new i=0; i<MAX_PLAYERS; i++)//Schleife durch alle Spieler
{
ShowPlayerNameTagForPlayer(i,playerid,false);//Name verschwindet
}
}
return 1;
} -
Hamma geil!
Vote 4 Release - Sofort! -
Dann nehm sie im Script raus?
-
Für den Chat:
//OnPlayerText....
if(Maske[playerid] == 1)
{
new string[128];
format(string,128,"Unbekannter sagt: %s",text);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,x,y,z);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,10,X,Y,Z))
{
SendClientMessage(i,Farbe,string);
}
}
}
Ansonsten schau mal unter: OnPlayerInteriorChange -
Die Codes stehen immer noch oben im ersten Beitrag.
Ich kann, wie schon erwähnt nichts in die FBank einzahlen.
Sie sagt mir immer: Zu weit entfernt ... -
/Push!
Es ist noch nicht gelöst.... -
In der Datei sieht es folgender maßen aus:
Zitat
Fraktion=1
Hanf=0
Koks=0
LSD=0
Geld=0
Mats=0
X=2892.783203
Y=-1992.867065
Und dabei fällt mir gerade auf, dass die Z Koordinate garnicht geschrieben wird....
woran könnte es liegen? Ich meine, ich lese sie doch aus und speichere sie?
Codes siehe 1. Beitrag//Edit: Nach dem ich eine neue erstellt habe, wird nun auch die Z achse genommen.
Ich habe folgenden Befehl editiert:
ocmd:matseinzahlen(playerid,params[])
{
new mat;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
if(sscanf(params,"d",mat))return SendClientMessage(playerid,BLAU,"Info: Benutze /matseinzahlen (Anzahl)");
for(new i=0; i<MAX_FBANK; i++)
{
if(IsPlayerInRangeOfPoint(playerid,5,Fbank[i][fbankx],Fbank[i][fbanky],Fbank[i][fbankz]))
{
SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats")-mat);
//Fbank[i][Mats] += mat;
Fbank[i][Mats] += mat;
SendClientMessage(playerid,GELB,"Du hast erfolgreich Mats eingezahlt.");
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Zu weit entfernt!");
return 1;
}
}
return 1;
}
Es kommt dauerhaft die Meldung, dass ich zu weit entfernt bin.
Heißt, dass etwas mit den Koordinaten nicht stimmt. -
Das kann aber garnicht sein.
Denn wenn ich sie speichere müssten die Coordinaten ja trotzdem in der Datei stehen.
Somit kann es nicht daran liegen//Edit: Ich verbessere mich: Du hattest recht. Daten bleiben nun in der Datenbank stehen.
Aber: warum kann ich trotzdem noch keine Mats einzahlen?
Als Beispiel? -
Wenn sie gespeichert werden.
Wenn ich sie erstelle, stehen dort noch immer die Positionen des jetzigen Standes drinne.
Aber wenn ich Mats einzahlen möchte(fragt ab, wo die Fbank steht), bekomme ich nicht einmal die Nachricht, dass sie eingezahlt worden sind. -
Ich hab zwar kein BO2, wollte aber nicht extra ein 2. Thema auf machen.
Hat wer BF3 auf der PS³ und will mit mir zocken?
Aber nicht wundern: Das Spiel ist heute angekommen und ich habe noch kein Multiplayer gespielt.
Bin bestimmt voll schlecht. BO und Mw3 KD von 1,5Einfach eine PN schreiben.
-
new bitte = GetPlayerVehicleID(playerid);
if(bitte == 411)
{}
-
-
Schön.
Ich kannte zwar schon ein paar Sachen, aber egal -
Ohhh man -.-
Ich bin so ein Fail0r!//Fehler selbst behoben!
format(dat,64,"/Autos/%s_Auto_0",SName(pID)); // So war es im Scriptformat(dat,64,"/Autos/%s_Auto_0.ini",SName(pID));// So muss es sein :D Das .ini vergessen!
-
Ohne Erfolg. Hat überhaupt nichts gebracht.
ocmd:deletecars(playerid,params[])
{
if(!hatPlayerAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du hast nicht das passende Adminlevel.");
new pID, string[128], dat[64], dat2[64];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"Info: Benutze /deletecars (Spieler/ID)");
format(dat,64,"/Autos/%s_Auto_0",SName(pID));
format(dat2,64,"/Autos/%s_Auto_1",SName(pID));
format(string,128,"[AdmCmd]%s hat deine Fahrzeuge gelöscht!",SName(playerid));
SendClientMessage(pID,ROT,string);
SendClientMessage(playerid,ROT,"Du hast dem ausgewähltem Spieler die Fahrzeuge gelöscht.");
fremove(dat);
fremove(dat2);
return 1;
}//Erstellt:
dini_Create(dat); // Als Beispiel, wie sie erstellt werden -
ocmd:deletecars(playerid,params[])
{
if(!hatPlayerAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du hast nicht das passende Adminlevel.");
new pID, string[128], dat[64], dat2[64];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"Info: Benutze /deletecars (Spieler/ID)");
format(dat,64,"/Autos/%s_Auto_0",SName(pID));
format(dat2,64,"/Autos/%s_Auto_1",SName(pID));
format(string,128,"[AdmCmd]%s hat deine Fahrzeuge gelöscht!",SName(playerid));
SendClientMessage(pID,ROT,string);
SendClientMessage(playerid,ROT,"Du hast dem ausgewähltem Spieler die Fahrzeuge gelöscht.");
dini_Remove(dat);
dini_Remove(dat2);
return 1;
}
-Ordner ist unter Scriptfiles gespeichertMein Problem ist, dass die Dateien nicht gelöscht werden.
Sie sind weiterhin vorhanden. -
Gordon haben immer einen Virus
Shift + Numpad 0 -
Kann man sich auch Map Stücke anfertigen lassen?
Dann muss man dich als Beispiel in die Credits schreiben oder so9/10 - Sieht komisch aus