Beiträge von ...
-
-
Auch new textdrawwahr[MAX_PLAYERS]; im Script eingefügt?
-
Naja Fox. Dank der Tatsache dass Y_Less einen Object Streamer, der leistungsfähiger als alle bisher bekannten ist (Wobei, bei xObjects weiß ich es ned genau.), wäre es wahrscheinlich sogar möglich dass man soviele Objekte an einem so, vergleichweise, kleinen Ort ladet.
-
Die einzige Möglichkeit wäre, eigenständig alle Commands auf dcmd & sscanf umzuschreiben. Ich überlege mir gerade ob ich ein GF so umschreiben und dann veröffentlichen sollte. Ein Haufen Arbeit, aber, es lohnt sich ganz sicher.
-
Ich tippe mal blind auf ein Problem mit einem Object Streamer.
-
Also:
Als allererstes brauchst du das dcmd Makro. Das fügst du einfach ganz oben ins Script ein, und vergisst es.
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1Dann schreibst du unter das Callback "OnPlayerCommandText(playerid, cmdtext[])" deinen Command in dieser Form:
dcmd(mycommand, 9, cmdtext);
"mycommand" ist dein Command. Die 9 signalisiert die Länge des Commands ohne Parameter. cmdtext zeigt nur an wo der Command erstellt wird.So, dann fügst du, außerhalb eines jeden Callbacks das hier in dein Script ein:
dcmd_mycommand(playerid,params[])Der erste Parameter, "playerid", ist der User der den Command ausführt. Der zweite Parameter enthält das was der Spieler eingibt wenn er den Command ausführt. Z.B. /mycommand 123. Dann enthält "params" 123.
Dann erstellen wir einfach einmal einen simplen Kick Command.
Als erstes erstellen wir das Grundgerüst des Commands: In diesem Fall: dcmd(kick,4,cmdtext);.
Als nächstes erstellen wir den eigentlichen Command.
Der würde so aussehen:
dcmd_kick(playerid, params[]) {
new target = strval(params); // Zeigt an dass "target" ein Wert ist
if(!strlen(params)) {// Was passiert wenn wir nichts eingeben nach dem /kick, also "params" leer lassen:
return SendClientMessage(playerid, 0xFF0000FF, "Benutze /kick [PlayerID].");
}
if(!IsPlayerConnected(target)) { // Wenn "target" nicht online ist.
return SendClientMessage(playerid, 0xFF0000FF, "Angegebener User ist nicht online!");
}
Kick(target); // Hier kicken wir "target".
SendClientMessage(playerid, 0xFF0000FF, "Ziel wurde gekickt.");
return 1;
}So, jetzt haben wir einen simplen, aber effektiven Kick-Command.
sscanf erkläre ich dir entweder morgen oder du schaust dir Goldkillers Tutorial nochmal an.
-
Les es dir doch einmal genau durch. Am Anfang erscheint alles schwer. Aber sobald es *Klick* gemacht hat kann man Commands mit 3 Parametern mit Leichtigkeit in nichtmal 2 Minuten schreiben.
-
-
Vorweg: strtok ist die momentan schlechteste Methode Commands mit Parametern zu scripten. Am besten du benutzt dcmd in Verbindung mit sscanf. Ein ausführliches Tutorial dazu findest du hier: dcmd & sscanf
-
Mach ein "playerid" aus dem "i".
-
Also, mit Wayne bin doch nicht ich gemeint oder? xD
Naja, was gibts noch groß zu sagen. Eigentlich nix. Matze hat hier nur sein neuestes Projekt vorgestellt, und mehr nicht. Viel Glück Matze.
-
<== Teilt den gleichen GameMode Geschmack wie BlackFoX.
-
Diese Variablen wurden schon zuvor als globale, nicht Callback-abhängige Variablen erstellt. Einfach giveplayerid und playername umbennen.
-
Wie wärs mal mit Waffen?
-
Was meiner Meinung nach sehr paradox ist, dass ausgerechnet GodFather RPG/RL Server die best-besuchtesten RL/RPG Server sind, und nicht die von vielen angepriesenen Selfmade-Script-Server. Seid doch mal ehrlich, es gibt nur wenige Scripts die mit dem GodFather mithalten können. FeaR hat mit diesem Script die SA:MP Welt VOLLKOMMEN verändert, negativ sowie positiv. Außerdem zählt doch bei jedem Server einzig und allein die Community. Ich habe schon Server miterlebt die hatten ein vollkommen verbuggtes Script, aber hatten zu Top-Zeiten trotzdem mehr als 50 User, zur gleichen Zeit. Hingegen haben die meisten neuen RPG/RL Server, egal auf welchem Script sie basieren, einfach keine Überlebenschancen weil sie eben keine gute Community haben. Ich finde man sollte einfach mal anerkennen dass es bei einem Server NICHT um das Script geht, sondern um die User.
-
Man muss auch auf Groß - und Kleinschreibung achten. Vielleicht liegt es daran.
-
Bei sscanf kann man auch Name oder PlayerID nehmen. Man braucht dazu nicht einmal ReturnUser (Oder war es IsNumeric?). Man verwendet einfach statt dem Dateityp des Parameters der PlayerID den Typ "u". Damit kann man PlayerID ODER Name benutzen.
Im Übrigen ist dcmd und sscanf viel ressourcenschonender als strtok bzw. strget.
-
Auflösung von SA auf 640*480 stellen, Screenshot machen und in Paint mit dem Mauszeiger auf einen Punkt klicken, dann zeigt es dir rechts unten die Koordinaten an.
-
Falsch FoX. Es gibt 250 (oder warens 255 oO) Virtual Worlds.
-
Moin Moin.
Langsam wirds hier zum Spamm.
Haggi, wenn du noch einen "Lehrer" brauchst, add mich in ICQ. Nummer: 453328102