Bei mir funzt auch wieder alles ![]()
//Closed
Bei mir funzt auch wieder alles ![]()
//Closed
Guten Abend euch allen, wenn ich auf Youtube gehen will, bekomme ich folgenden Error:
Ich wollte mal fragen ob das bei euch auch so ist?
mfg. ![]()
public leben()
{
for(new i = 0; i<MAX_PLAYERS; i++)
SetPlayerHealth(i, -5);
return 1;
}
So würden alle Leute auf dem Server nach 50sek -5 Leben haben...bzw sterben ![]()
So muss man es machen:
public leben() {
new i,Float:health;
for(; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) GetPlayerHealth(i,health),SetPlayerHealth(i, health-5.0);
return 1;
}
mfg. ![]()
Wie zB. verwendet man denn makros mal blöd gefragt?
Dazu hatte ich mal was kleines geschrieben gehabt:
[ SCRIPTING ] Directives / Makros (pre-processor)
mfg. ![]()
Danke dir, aber dann sind stocks ja allgemein ressourcenfressend, wenn ich das richtig verstanden habe, oder?
Das kommt darauf an, zunächst einmal gibt es keine "stocks" ... "stock" ist nur ein Wort, welches dafür sorgt, sobald die Funktion bzw die Variable vor der dieses Wort steht und es nicht verwendet wird, vom Compiler ignoriert wird ![]()
Und naja man muss halt ab und zu zur Vereinfachung Funktionen schreiben, dass diese Ressourcen fressen ist logisch...
Deshalb sollte man versuchen einfache Funktionen in Makros darzustellen, da diese den Speicher nicht so belasten ![]()
mfg. ![]()
Das ist schwer das mal einfach eben so alles zu erklären und zusammen zufassen, aber schau doch einfach mal in den Bereich hier rein:
[ SCRIPTING ] Code Optimierung
mfg. ![]()
Das heißt soviel sie die vari/funktion/public gibt es schon einmal.
Nein es handelt sich hier um ein Makro ![]()
Zum Beispiel wenn man folgendes macht, taucht der Warning auf:
#define FBI 1
#define FBI 1
Man hat einfach 2x ein Makro mit dem selben Namen definiert ![]()
mfg. ![]()
Wenn man aber mehr als nur viele Features hat,
ist es doch aber wirklich möglich oder nicht?
Sei nicht so leichtgläubig ![]()
Wenn dir gerade jemand ein Script mit 90k Zeilen andrehen will...ist es schrott ![]()
Guten Tag,
ich wollte mal so ein neugier fragen, was ihr von einem Script
erwartet das mehr als 90.000 Zeilen hat.
Es gibt ja einige Scripts die so viele haben.
Und das als Selfmade und kein Godfather.
Naja, entweder das der Scripter 90% aus einem GF kopiert hat...oder permanent unnötige Klammern & Kommentare & Returns setzt ... oder das das Teil mind. 1000 Features hat ![]()
Habe sowas auch ab und zu im Spam Ordner ![]()
Folgendes lässt sich dazu sagen:
Die Adressen, welche in der Kopfzeile der E-Mail (dem RFC822-Header) stehen und für den Endnutzer sichtbar sind, müssen nicht unbedingt mit den Adressen übereinstimmen, die von dem Versender für den Transport der E-Mail verwendet werden. Diese bleiben meist für den Endnutzer verborgen. Die eigentlichen Empfänger wurden unter BCC (Blind Carbon Copy) eingetragen. Diese Angaben sind für den Empfänger nicht sichtbar. Auf diese Weise ist eine ökonomische Verteilung von Mailinglisten möglich.
Wenn man sich die E-Mails genauer ansieht, stellt man fest, dass die Absender- und Empfängeradressen im RFC822-Header in der Regel ungültig sind. In diesen Fällen handelt es sich oft um Missbrauch des E-Mail-Systems. Es wird viel Mühe darauf verwendet, den wahren Absender der Mail zu verschleiern, so dass dieser auf der Empfängerseite nicht zu ermitteln ist. Selbst unter Mitwirkung der Postmaster aller am Transport beteiligter Mailer ist die Rückverfolgung zum Teil nicht möglich, weil Sicherheitslücken in der Software bestimmter E-Mail Programme (z.B. ältere sendmail-Versionen) ausgenutzt werden.
Der absendende Computer und sogar die ersten Server haben keinen Eintrag im Domain Name System ( DNS) der verteilten Datenbank der Computer im Internet. Der erste Server, der über das DNS greifbar ist, schreibt bei gefälschten Absenderadressen keinen Hinweis auf den tatsächlichen Absender in das Header-Log (die Kopfzeile). Damit verliert sich bei genau diesem Computer die Möglichkeit der Rückverfolgung.
Der CC-Header (Auflistung der Kopieempfänger) steht im Header (Kopfzeile) der E-Mail - der BCC-Header (Auflistung der Blindempfänger) nicht. Sinn dieses Verfahrens ist es, dass der Originalempfänger nicht wissen soll, ob jemand, und wenn ja wer, mitliest.
Quelle: http://forum.telekom.de/foren/read.php?313,11178056
mfg. ![]()
Da "Weiblich" nicht die Größe bzw Länge deines Arrays hat kommt dieser Fehler, schreib es einfach so:
format(sStats[playerid][sGeschlecht],20,"Weiblich");
mfg. ![]()
Kann natürlich auch sein, das in VB die Kommentare nicht mit // makiert werden
Werden sie auch nicht, das macht man mit einem Hochkomma '
mfg. ![]()
TruckingTargets[Trucking1Tour][0] = 1703.3060; //Beispiel
new Float:tX;
/*Zeile:306*/tX = TruckingTargets[Trucking1Tour][0];
Du kannst das nicht so direkt machen, sondern musst es so machen:
TruckingTargets[Trucking1Tour][xPos] = 1703.3060; //Beispiel
new Float:tX;
/*Zeile:306*/tX = TruckingTargets[Trucking1Tour][xPos];
//Edit:
Du könntest das auch mit 0 direkt machen, dann braucht der Array aber auch den TAG vom enum, sprich so:
TruckingTargets[Trucking1Tour][TourInfo:0] = 1703.3060; //Beispiel
new Float:tX;
/*Zeile:306*/tX = TruckingTargets[Trucking1Tour][TourInfo:0];
mfg. ![]()
TruckingTargets
Wie hast du diese Variable deklariert? ![]()
Diese Funktion aus deinem Script löschen: DisableInteriorEnterExits
Dann kannst du die normalen Eingänge wieder verwenden ![]()
mfg. ![]()
Schreib den Command mal so:
if(!strcmp("/startbonus", cmdtext, true)) {
if (!GetPlayerScore(playerid)) return ShowPlayerDialog(playerid,DIALOG_STARTBONUS,DIALOG_STYLE_LIST,"STARTBONUS WÄHLEN","Level +2\n10.000$","Bestätigen","");
return SendClientMessage(playerid,ROT,"Du hattest deinen Startbonus schon");
}
mfg. ![]()
Auch wenn es nicht effizient ist, kannst du es so machen wie du es geschrieben hast. Die Warnings erscheinen nur, weil CreateVehicle hinten noch ein Attribut braucht, häng einfach eine -1 überall hinten dran ![]()
mfg. ![]()
Dein enum muss so aussehen:
enum TourInfo{
Float:xPos,
Float:yPos,
Float:zPos,
Location[32],
Trailer[64]
};
mfg. ![]()
Alles anzeigenHey,
Ich habe einen /ipban befehl in meiner Gamemode.
Nun, funktioniert ja halt alles. Aber eine Frage habe ich: Wie mache ich das, dass meine gewünschte Nachficht (evtl. Ein Dialog) angezeigt wird, beim connecten eines Spielers, der gebannt ist?
Normalerweise steht da immer "You are banned from this Server."
Wie und wo ändere ich das?
Ja, benutze 'Ban(playerid);'
MfG
Naja, ich zeig dir mal eine Möglichkeit, die nur den Namen eines Spielers bannt mit einem schönen Dialog (das selbe wie Ban(playerid)) ![]()
Also zuerst ersetze in deinem /ban Befehl das Ban(playerid); durch ein Ban_Player(playerid);
//Die Funktionen:
stock Ban_Player(playerid) {
new buffer[13 + MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME),format(buffer,sizeof buffer,"ban_%s.ini",name);
new File:f=fopen(buffer,io_write);fwrite(f,"banned"),fclose(f);
return Kick(playerid);
}
//Als letztes unter OnPlayerConnect
new buffer[13 + MAX_PLAYER_NAME], bName[MAX_PLAYER_NAME];
GetPlayerName(playerid,bName,MAX_PLAYER_NAME),format(buffer,sizeof buffer,"ban_%s.ini",bName);
if(fexist(buffer)) return ShowPlayerDialog(playerid,9999,DIALOG_STYLE_MSGBOX,"{FF0000}Banned","{FF0000}Sie wurden vom Server gebannt!","Bestätigen","");
mfg. ![]()
new pickupid;
Wenn du einfach die Variable so deklarierst...wird sie mit 0 initialisiert...sprich pickupid ist immer 0 ![]()
Ja...warum werden wohl die if-Bedingungen nicht erfüllt ![]()
mfg. ![]()