oder ganz oben einfügen
if(IsPlayerAdmin(playerid)) return 1;
Beiträge von maddinat0r
-
-
Heyho Breadfish-Gemeinde.
Ich dachte mir, wie lang ich hier schon unterwegs bin und hab mich entschlossen, auch mal was eigenes zu veröffentlichen.
Ich habe ein kleines Skinsystem geschrieben, mit dem man Skins nach bestimmten Kriterien abfragen kann.Der Befehl dazu ist
GetSkin(Kriterien,Rows);Die Skins sind nach (meistens) 4 Kriterien untergeordnet.
Die ersten drei sind Geschlecht ("Mann" oder "Frau"), Alter ("Jung" oder "Alt") und Hautfarbe ("Weiss" oder "Schwarz").
Das 4. Kriterium ist individuell, d. h. es sind spezielle Merkmale angegeben. Es gibt Kriterien wie z. B. "Anzug", "Grove", "Ballas",
"Polizei", "Arzt", "Feuerwehr", "Chinese", "Mafia", "Biker", "Nutte", ...
Achtung! Diese Version unterstützt keine Zeichen wie "ß", "ä", "ö" und "ü"! Also statt "ß" schreibt ihr "ss" und statt z. B. "ä" "ae"!In "Kriterien" gebt ihr eure (wow) Kriterien ein. Dabei müsst ihr beachten, dass ihr diese richtig schreibt
und immer ein Leerzeichen zwischen den Kriterien lasst, wie im unteren Beispiel gezeigt.new row;
GetSkin("Mann Anzug",row);"Rows" ist die Anzahl der Skins, die mit den Kriterien übereinstimmt.
Dieser Wert wird von der Funktion selbst bestimmt, d. h. ihr müsst nur eine Variable erstellen,
diese in der Funktion angeben und die Variable wird dann die Anzahl der Skins enthalten.Jetzt fragt ihr euch sicher wo die Skin-ID's rausgegeben werden.
Diese werden von der Funktion returnt, wie im unteren Beispiel gezeigt.new skins[MAX_SKINS], row;
skins = GetSkin("Mann Anzug",row);Die Skins werden als Arrays herausgegeben, deshalb werdet ihr auch die Rows brauchen, damit ihr wisst, wie viele Skins im Array gespeichert wurden.
Am besten ihr nehmt als Größe für euren Array immer MAX_SKINS, das ist in der Include als '128' definiert, ihr könnt es natürlich umändern.Die Skins sind in einer Tabelle gespeichert und die Include benutzt SQLite, welches in jedem Server schon vorhanden ist.
Download: http://adf.ly/28IJ6
Pastebin: http://pastebin.com/tY2LBi2HIm Download ist die Include und die Datenbank (dort sind alle Skins gespeichert).
Hier noch ein kleines Benutzungsbeispiel.
dcmd_polizeiinvite(playerid,params[])
{
new skins[MAX_SKINS], row;
skins = GetSkin("Mann Polizei",row);
SetPlayerSkin(playerid, skins[random(row)+1])
SendCliendMessage(playerid, COLOR_RED,"Herzlichen Glückwunsch, du bist nun Polizist!");
return 1;
}//Edit: Rows besser erklärt, Downloadinhalt aufgezählt
//Edit2: überarbeitet + Update
//Edit3: kleine Fehler verbessert
//Edit4: Pastebin aktualisiert, Beispiel verbessert, Downloadlink aktualisiert (Downloadlink von Datenbank funktioniert nun; 0.3d Skins wurden hinzugefügt) -
Benutze die Funktion gettime.
Damit wird die jetzige Echtzeit ausgegeben und mit der Funktion SetPlayerTime
kannst du die Uhrzeit (also obs Tag oder Nacht ist) ingame einstellen.
Also erstellst du einen Timer, speicherst die Echtzeit und stellst die Zeit ingame gemäß der Echtzeit ein.
Jedoch musst du beachten, dass SetPlayerTime nur für einen Spieler ist. -
Ich hab ja schon viele komische Sachen gesehn.
Von Leuten deren Arme ziemlich verdreht waren bis zu Panzern die Ähnlichkeit
mit einem Parallelogramm hatten.
Aber sowas hab ich noch nie gesehen oO -
Ich glaub du musst noch eine Klammer ( " ) " ) am Ende anfügen.
-
Bist du dir wirklich sicher wegen der Zeilenangabe?
Eine Kommazahl ist doch kein Array oO
Sonst ergibt es keinen Sinn für mich. -
Du speicherst einfach die HP des Autos vor dem Umsprayen und wenn das Auto fertiggesprayt wurde, setzt du die HP wieder
auf den Wert, den du vor dem Sprayen gespeichert hast. -
Erstell n Timer, der jede Sekunde die Schranke etwas weiter runtermacht per SetObjectRot.
Und wenn die Schranke unten ist kill den Timer.//EDIT: Hier hat jemand das veröffentlicht, das du so dringend suchst
-
Versuch statt newkeys == KEY_.... das == mit & newkeys & KEY_....
zu ersetzen. -
Beim Callback OnPlayerExitVehicle hast du was vertauscht.
if(enginemotor[playerid] == VEHICLE_PARAMS_OFF)
{
enginemotor[playerid] = 0; //Sollte 1 sein, sonst heißt es "Wenn enginemotor = 0, dann enginemotor = 0"
return 1;
}
if(enginemotor[playerid] == VEHICLE_PARAMS_ON)
{
enginemotor[playerid] = 1; //Sollte 0 sein, siehe oben
return 1;
} -
Hast du irgendwelche Plugins laufen?
-
Natürlich nimmt er Sonderzeichen an.
Vielleicht hast du irgendwo im Callback OnPlayerConnect ein return 0; zuviel stehen. -
Genau wie Stijn es sagte, wenn man sich 10 Beiträge erspammen kann, kann man auch 30 erspammen (wenn nicht 50).
Einfach wie üblich freischalten lassen. -
Das sollte dir weiterhelfen.
Steht es ist zwar für Fraktionen, aber auch Gangs sind Fraktionen. -
Und NEIN, es ist zu keiner Kernschmelze gekommen.
-
Also bei einer Kernschmelze (bzw. falls sie eintritt) werden die Uranstäbe komplett geschmolzen (auch wenn alles abgeschalten ist) und das wiederrum verursacht die gleiche
Kettenreaktion, die auch normal beim Energiegewinnen eine große Rolle spielt. Das heißt, das Uran spaltet sich immer weiter und weiter. Und bis man diese über 2000° heiße Masse löscht,
dauert es (bzw. so lang hat es bei Tschernobyl gedauert) 2 Wochen (u. a. wurden 5 Tonnen Sand da abgeladen!).Japanische Polizei sagt es wären schon 1400 Tote und 800 wären vermisst.
-
Blöd nur, dass es keine Donwload-Datenbank mehr gibt xD
Hättest einfach nur etwas im Showroom-Thread schauen müssen, dann hättest du auch sicher das gesehen. -
Habe ja auch nicht behauptet, dass irgendwas mit dem /v nicht stimmt. Hab bloß gesagt, dass /x falsch ist.
Und außerdem sind das alles nur die Escape Sequenzen von Pawn, nicht von SAMP.
Nicht alles was in der pawn-lang.pdf steht gilt auch für SAMP. -
Zitat von pawn-lang.pdf
Escape sequences
’\a’ Audible alarm (beep)
’\b’ Backspace
’\e’ Escape
’\f’ Form feed
’\n’ New-line
’\r’ Carriage Return
’\t’ Horizontal tab
’\v’ Vertical tab
’\\’ \ the escape character
’\’’ ’ single quote
’\"’ " double quote
’\% % percent sign
’\ddd;’ character code with decimal code “ddd”
’\xhhh;’ character code with hexadecimal code “hhh”
The semicolon after the \ddd; and \xhhh; codes is optional.
Euch ist ja bekannt, dass man verschiedene Zeichen machen kann, indem man ALT+Best. Ziffern machen kann, z. B. ALT+Numpad1 (☺).
Das kann man auch in der Konsolen machen mit /1 .
Das /x hast du falsch erklärt, /x ist dafür da um hexdezimalen Code auszugeben.
Was das bringen soll, weiß ich jetzt auch nicht. -
Oder du zeigst uns die Zeile vor dieser if-Abfrage. Auch da kann der Fehler sein.