stock Wochentag(t,m,j) {//hier trägt man das Datum ein (Tag, Monat, Jahr) z.B. 29,7,2009 und diese Funktion rechnet dann den Wochentag aus
new wt=((j-2009)*365)+t;
for(new i=2012; i<=j; i+=4) {
wt++; }
switch(m) {
case 1,3,5,7,8,10,12: { wt+=(m-1)*31; }
case 2: {
for(i=2008; i<=j; i+=4) {
if(i==j) { wt+=29; }
else { wt+=28; }}}
default: { wt+=(m-1)*30; }}
new wta[]= { "Donnerstag","Freitag","Samstag","Sonntag","Montag","Dienstag","Mittwoch" };
while(wt>=7) { wt-=7; }
return wta[wt];
}
Sollte ich da jetzt keinen Denkfehler drinne haben, müsste der die richtigen Wochentage ausgeben
//EDIT: Hatte nen Fehler gefunden, habs bereichtigt
Beiträge von KeksOfDeath
-
-
Die Variablen umbenennen
-
Falls du noch eins suchst: Klick
Musst du halt noch selbst ausbauen... und die Klammern sind nicht geschlossen! Musst du auch noch selbst machen -
Die Variablen existierten einfach shcon --> Umbenennen (mache aus der 2 eine 3)
new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3;
GetPlayerPos(p2,x3,y3,z3);
return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2)); -
Indem du dir einen Server mietest, der 24/7 on ist, breadi vermietet auch welche, 100 Slots 5€ im Monat, auch kostenlose Aufrüstung auf 200 Slots, wenn du sie wirklich brauchen solltest
-
new i, st=strlen(cmdtext), g;
-
if(!strcmp(strget(cmdtext,0),"/kick")) {
if(PlayerInfo[playerid][Admin]>=3) {
if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid,COOR_GELB,"Verwende /kick ID Grund");
new typ=strval(strget(cmdtext,1));
if(IsPlayerConnected(typ)) {
new i, st=strlen(cmdtext), g
for(; i<st; i++) {
if(cmdtext[i]==' ') {
g++;
if(g==2) {
g=i+1;
i=st; }}}
new s[100], name[MAX_PLAYER_NAME];
GetPlayerName(typ,name,sizeof(name));
format(s,sizeof(s),"%s wurde wegen %s gekcikt",name,cmdtext[g]);
SendClientMessageToAll(COLOR_OINK,s);
Kick(typ); }
else { SendClientMessage(playerid,FARBE,"ID nicht vergeben"); }}
else { SendClientMessage(playerid,FARBE,"Dein Amdin-Level ist nicht hoch genugn"); }
return 1;
} -
R.I.P. Tuner
Ich kannte ihn echt lange, das fing schon damals aufm alten TF-Server an
Ham auch so manches zusammen gemacht, fällt mir jetzt echt schwer, das zu glauben
Weiß jetzt gar nicht, was ich schreiben kann, mein Beileid an alle Angehöhrigen
Er war echt ein korrekter Typ...
Aufdass er in unserer Erinenrung weiterlebt -
Meines Wissens nach, ist es nicht möglich
-
Kannst du mal ein Scrrenshot machen, wo du versuchst, das einzufügen?
-
if(!strcmp(strget(cmdtext,0),"/kick")) {
if(PlayerInfo[playerid][pAdmin] >= 3) {
new typ=strval(strget(cmdtext,1));
if(IsPlayerConnected(typ)) {
new pName[MAX_PLAYER_NAME], s[100], z, st=strlen(cmdtext), i, name[16];
for(; i<st; i++) {
if(cmdtext[i]==' ') {
z++;
if(z==2) { z=i+1; i=st; }}}
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(typ,name,sizeof(name));
format(s,sizeof(s),"AdmCmd: %s hat %s wegen %s gekickt!",pName,name,cmdtext[z]);
SendClientMessageToAll(COLOR_PINK,s);
Kick(typ); }}
return 1;
} -
if(!strcmp(strget(cmdtext,0),"/kick")) {
if(PlayerInfo[playerid][pAdmin] >= 3) {
new typ=strval(strget(cmdtext,1));
if(IsPlayerConnected(typ)) {
new pName[MAX_PLAYER_NAME], s[100], z, st=strlen(cmdtext), i;
for(; i<st; i++) {
if(cmdtext[i]==' ') {
z++;
if(z==2) { z=i+1; i=st; }}}
GetPlayerName(playerid, pName, sizeof(pName));
format(s,sizeof(s),"AdmCmd: %s hat %d wegen %s gekickt!",pName,typ,cmdtext[z]);
SendClientMessageToAll(COLOR_PINK,s);
Kick(typ); }}
return 1;
} -
Du fügst es ein, dann drüvkst du F5, um es zu compilen, dann erscheint eine AMX Datei, die den gleichen Namen trägt, wie die PWN, esseidern die PWN ist länger als... gibt i-wo ne Grenze, dann wird der Rest einfach durch ein "~1" abgekürzt (kommt drauf an, ob es so eine schon gibt, oder nicht), wo die Grenze liegt, weiß ich aber nicht
Dann fügst die AMX Datei in den GameModes Ordner ein (sofern es ein GM ist) und restartest Server -
Das mit "IsAtDerby" kannste lassen, nur das bei den cmds geht einfacher...
//OnPlayerCommandText:
if(IsAtDerby[playerid]==1 && (strcmp(cmdtext,"/afk",true)==-1 || strcmp(cmdtext,"/back",true)==-1 || halt alle, die er verwenden kann)) return SendClientMessage(playerid,FARBE,"Das geht nicht im Derby"); -
-
//OnPlayerRequastSpawn:
switch(GetPlayerSkin(playerid)) {
case x,x,x: if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid,FARBE,"Nur für Rcons"); return 0;
}
bei den "x,x,x" trägst du die Skinids von Big Smoke, Ryder und Sweet ein
Und ich meine damit die Skinids und nicht die classids. Also als Beispiel:
50,85,65 -
Es geht einfacher
//ganz nach oben:
new imdm, indasdm[MAX_PLAYERS];;
//OnPlayerDisconnect und wenn er das DM anders verlässt (z.B. /dmexit oder so):
if(indasdm[playerid]==1) {
imdm--;
indasdm[playerid]--;
if(imdm==1) {
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(indasdm[i]==1) {
SendClientMessage(i,FARBE,"Du hast gewonnen bla bla");
GivePlayerMoney(i,SUMME); }}}} -
Stehen die "dcmd(bla bla);" in OnPlayerCommandText?
Stehen die "dcmd_bla bla" außerhalb eines publics?
Und der Inhalt steht dort immer noch nicht...
Da steht "//paar befehle", das ist aber nicht der Inhalt -
Was meinst du mit "if(index[params]==1)"
Also was willst du damit machen? Da liegt nämlich der Fehler
Wie man den jetzt behebt (sodass es funktioniert) weiß ich nicht, weil ich nicht weiß, was du damit vor hast -
Zitat
14 Only pickupable when in Vehicle (used for bribes)
Warst du in einem Fahrzeug?