Wie sieht denn die Bezahlung für den Scripter aus?
Beiträge von Secres
-
-
Ich denke rein technisch ist es sogar möglich, müsstest dann aber halt vermutlich einen ganz neuen GTA:SA Multiplayer Mod entwickeln und dabei halt beide Maps benutzen. Aber wissen tue ich es nicht!
-
N'abend!
Ich hab mal zwei Fragen:#1: Wird das OnPlayerTakeDamage Callback auch aufgerufen, wenn playerid gefreezt ist? Denn dort verliert er ja keine Leben.
#2: Ist es möglich die Position herauszufinden, an der eine geworfene Granate gelandet ist?Viele Grüße
Frosty -
Kann sa-rl.de auch nur empfehlen, beste Admins, beste Community!
Kaliber: Bist/Warst du aktiv auf dem Server? -
Ja, hast soweit eigentlich alles richtig gemacht, mir ist aber gerade ein kleiner Fehler meinerseits aufgefallen. Und zwar muss das bsnlager--; dort hin, wo auch das Essen gekauft wird ( Unter GivePlayerMoney oder so am besten ) und nicht beim Betreten des BurgerShots.
-
Sieht ganz gut aus, werd's mir morgen mal runterladen und dann genauer angucken, Bewertung folgt.
@Vorposter: Meines Wissens nach sind Ref-Links verboten. -
Als allererstes erstellst du ganz oben eine Variable: new bsnlager = 10;
Dann guckst im Script nach, wie du den BSN betrittst ( meist /enter oder KEY_SECONDARY_ATTACK ),
wenn du es gefunden hast, schreibst du dort: if(bsnlager > 0) { bsnlager--; } else { SendClientMessage(playerid,...);}
In die ersten beiden Klammern kommt auch der Rest rein, sprich SetPlayerPos, SetPlayerInterior etc.Wenn dann noch die guten Herrn deiner Trucker Fraktion kommen, setzt du die bsnlager Variable einfach wieder hoch.
-
Du versuchst zwei Funktionen zu benutzen, die dein Script aber noch nicht kennt. Daher haben wir diese mithilfe von "stock" erstellt.
Die "SpielerName"-Funktion ist auch ganz einfach zu verstehen:
Wir erstellen eine Variable mit der maximalen von SA:MP vorgegebenen Größe eines Namens, dort wird in der nächsten Zeile via GetPlayerName der Name von playerid hineingeschrieben, letztendlich geben wir ( returnen ) wir die Variable "name" aus. -
Was hast du denn da mit dem Timer vor?
Wenn jemand etwas im BSN ist setzt du einfach eine Variable um eine Einheit höher ( speicherst das evtl. noch via Dini ab ). Beim Betreten des BSN's überprüfst du, ob die Variable bspw. auf 10 ist, wenn ja: "Die Burgershot Filiale hat momentan geschlossen, versuche es später wieder!". -
N'abend!
Ich hab mal zwei Fragen:#1: Wird das OnPlayerTakeDamage Callback auch aufgerufen, wenn playerid gefreezt ist? Denn dort verliert er ja keine Leben.
#2: Ist es möglich die Position herauszufinden, an der eine geworfene Granate gelandet ist?Viele Grüße
Frosty//e:
Ivory0308:Codestock SpielerName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof name); return name; }
und
Code
Alles anzeigenstock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; }
Nach ganz unten ins Script.
-
Natürlich hat er einerseits gesehen recht, aber wenn man es genau betrachtet, kann man nicht verallgemeinern, dass kein Kind auf der Welt Ahnung hat, was man mit nur einem Klick anrichten kann etc., aber ich denke trotzdem, dass jeder ( jeder der reif genug ist ! ) versteht, was damit gemeint ist.
-
Ich finde LeijaT hat das Ganze, zwar ein wenig hart und ein einigen Stellen übertrieben, gut auf den Punkt gebracht und damit sollte das Thema eigentlich erledigt sein. Beschwerden an einzelne User aufgrund von Mobbing etc. kannst du bei einem Admin sicherlich einreichen. Da ich finde, dass dieses Thema momentan zu unnötigen Diskussionen verleitet, sollte es geschlossen werden.
Viele Grüße,
Frosty -
Es ist aber nicht grundlegend falsch einen User nach seinem Alter zu beurteilen, würdest du einen 12 jährigen Mittelsmann in eine dreistellige finanzielle Angelegenheit einbeziehen? Eher nicht.
-
Mit 14 Jahren bist du zu 0% Geschäftsfähig. Dadurch sollte auch kein kommerzieller Geldfluss über dich laufen, was bei der Tätigkeit als Mittelsmann schnell passiert.
Du hast dein ganzes Leben noch vor dir, also mach was anderes draus. Professioneller Mittelsmann wirst du wohl kaum werden.Schon blöd, wenn man keine Ahnung hat, oder? Man ist ab dem 7. Lebensjahr beschränkt geschäftsfähig.
Wobei ich schon verstehen kann, dass man beispielsweise keinen 14 Jährigen Mittelsmann unbedingt als seriös empfindet, ob das nun gerechtfertigt ist oder nicht, ist eine andere Frage.
Ich persönlich bin ebenfalls 14 Jahre und hatte bisher in diesem Forum noch nie Probleme bzgl. meines Alters, vielleicht liegt es doch an euch?
Grüße
Frosty -
@geronimo
Kommt mir vor als wärst du ein Admin auf dem server oder so naja hier die Bewertung :
Vorstellung : 4/10 Keine Bilder, Keine Features,....
Server : 0/10 Werde ich nicht testen da ich keinen Bock auf das Dreamlife Script habe und das jetzt schon jeder hat.
Forum : 6/10 .de Domain aber kein WBB 3 ?!?
Domain = 3.90€/Jahr
WBB 3 = ab 50€Also passt das was du geschrieben hast nicht so ganz.
Vorstellung: 4/10
Forum: "Zutritt verwehr!"
Server: Ungetestet. -
Das kannst du am Monitor selbst einstellen, ist aber von Monitor zu Monitor unterschiedlich, musst also bisschen rumspielen. Die Knöpfe dafür befinden sich meist am unterem Rand deines Bildschirms.
//e: Bei meinem gibt es auch einen "Auto Adjusting" Knopf, dort passt er die Größer automatisch an ( bei mir der Knopf ganz links ).
-
Ich finde es schade, dass die Arbeit eines Mappers oftmals einfach unterschätzt wird, ich selber habe mich schon dran versucht, bekomm' es aber nicht gebacken, ich bleib' lieber beim Scripten. Zwei Mapper die ich wirklich schätze sind Benjamin und Satan ( leider inaktive ).
-
Er hat's auch schon mal als W.I.P. gezeigt, Thread komplett lesen hätte geholfen.
-
Falls du doch Lust hast es zu erklären, kann ich es evtl. für dich scripten.
Bin jetzt aber eh erstmal off, wenn mach ich es morgen. -
Wenn du mir erklären würdest, wie das Maskensystem auf MrMonat aussieht, könnte ich dir vielleicht weiterhelfen.