In dieser Form habe ich das noch nie gesehen, sagen wir es so ![]()
Aber ähnliche Systeme gibt es bestimmt.
Beiträge von Firerfan
-
-
Genau das wollte ich für eine Verbesserung vorschlagen.
"OnPlayerEnterInterior(playerid,interior)"
"OnPlayerLeaveInterior(playerid,interior)"
Aber ansonsten muss ich sagen - verdammt saubere Arbeit!MfG Firer
-
Ich wurde damals auf die TimeStamp-Funktion verwiesen.
Damit habe ichs auch geschafft, ein funktionierendes AntiCheat zu basteln.Falls du nicht weist, was TimeStamp ist:
Die Funktion returnt die Sekunden seid dem 01.01.1970.
Somit kannst du wunderbar Zeiten als Integer abfragen.Gehen wir davon aus, vor 5 Minuten würde TimeStamp 2500 returnen.
Jetzt rechnest du einfach die Zeit in Sekunden dazu (5 Minuten = 5*60 = 300 | 2500+300 = 2800)
Nun kannst du wunderbar abfragen, ob der Ban schon ausgelaufen ist
stock mktime(hour,minute,second,day,month,year)
{
new timestamp2;
timestamp2 = second + (minute * 60) + (hour * 3600);
new days_of_month[12];
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) {
days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
} else {
days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
}
new days_this_year = 0;
days_this_year = day;
if(month > 1) { // No January Calculation, because its always the 0 past months
for(new i=0; i<month-1;i++) {
days_this_year += days_of_month[i];
}
}
timestamp2 += days_this_year * 86400;
for(new j=1970;j<year;j++) {
timestamp2 += 31536000;
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp2 += 86400; // Schaltjahr + 1 Tag
}
return timestamp2;
}
stock Now()
{
new hour,minute,second,year,month,day;
gettime(hour, minute, second);
getdate(year, month, day);
return mktime(hour,minute,second,day,month,year);
}
Auslesen einfach mit "Now();"
Hoffe das hilft dir, hatte da auch lange mit zu kämpfen.MfG Firer
-
Welches System zum speichern nutzt du?
Ist mit DINI am leichtesten:Datei Auswählen und Beschreiben.
Dann einfach dafür sorgen, dass sich die Ingame-ID's nicht verändern.
Sonst gibts da ID-Verschiebungen, die du nur mit ner "DB-VehicleID" lösen könntest.
Dafür würde sich aber MySQL besser eignen.MfG Firer
-
public OnGameModeInit()
{
AddStaticVehicleEx(model,x,y,z,angle,farbe1,farbe2,respawnzeit[ambesten -1]);
// usw.
return 1;
} -
Schau dir im Wiki mal die Funktion
"AddStaticVehicleEx"..
Ausserdem werden die Cars, die direkt beim Serverstart da sollen unter "OnGameModeInit()" reingetan.OnVehicleSpawn wird aufgerufen, wenn ein Car spawned.
Wenn du keine Cars hast, wirds logischerweise nicht aufgerufen
Wenn es aufgerufen wird, spawnen deine Cars dann öfters. -
Hast du nur beim Server-Update nur deine Includes geupdatet oder auch den Server an sich?
-
Glaube ist mit "switch" und case nicht machbar da du dort nur so abfragen kannst:
switch(variable)
case 1:{...}
case 2,3{..}
}Bitte verbessert mich falls ich falsch liege.
Wenn das funktioniert ist es auch für mich von nutzen!//EDIT:
Frage falsch verstanden.
Versuchs so:
switch(GetPlayerCameraMode(playerid))
case 1:{...}
case 2,3{..}
} -
Wenn das jetzt eine Diskussion sein soll, wer der beste Scripter ist, habt ihr beide sowieso verkackt.
@Jamal:
Das glaubt dir hier keiner.
Aus dem einfachen Grund, dass Scriptanfänger zwar vielleicht viele Zeilen schaffe, aber mit wenig funktionen.
Ich wette, ich haue in 1000 Zeilen dass, wofür du ~2000 brauchst und das meins nachher besser und resourcenschonender läuft.
Das tut aber nichts zur sache.Wenn du Anfänger bist, solltest du aber trozdem ein Filterscript erstellen können.
Das ist so ziemlich das erste was man lernt.MfG Firer
-
Filterscript erstellen und die Objecte bei "OnFilterScriptInit" laden.
ist das denn so schwer? -
http://wiki.sa-mp.com/wiki/SetPlayerAttachedObject
http://wiki.sa-mp.com/wiki/Bone_IDsVerwende doch einfach diese Funktionen

-
Check mal die "StreamDistance" aus.
Ansonsten mal neue Includes ziehen und neu compilen.
Nutzt du nen Streamer? -
Hmm.. hast du Skype?
Wenn ja - Add Me -> firerfan96 -
Dann frage ich mich allerdings, warum der Server über Namen und nicht über Steam-ID's speichert O.o
Naja, ist nicht meine Marterie
-
Verknüpf ne Variable mit nem Enum.
Dort speicherst du die SpielerID und die Objekt-ID vom erstellten Objekt.
Dannach ists doch einfach nurnoch abfragen, aufstellen & löschen.
Nur viel Code, aber eigentlich gaaaaanz einfach.MfG Firer
-
Die Include-Datei gehört aber in dein Pawno/includes Ordner rein

-
Du brauchst die Include "OCDM".
http://lmgtfy.com/?q=OCM+SAMP -
Jo lass es sein.Mal abgesehen davon das es schon Millionen gibt, hast du nicht die Erfahrung/Ahnung einen Server zu eröffnen geschweige denn das Script zu bearbeiten, sieht man ja...
Da kann ich Ink nur zustimmen.
Du willst einen RL-Server aufmachen, ohne Scripten zu können.
Lerne erst einmal ersteres. Dann kannst du einen Server aufmachen.
Wie willst du Buggs fixxen oder mal neue sachen hinzufügen?
Lern Scripten oder lass es bleiben. Ist hart aber ist so!MfG Firer
-
Alles anzeigen
Aha cool nur übersetzt
http://forum.sa-mp.com/showthread.php?t=240396
im englischen Form gefunden und das ist der macher nd nicht du
und die anderen Filterscripts und Gamemode haste auch von dort nur übersetzt ...
Achte doch mal:
Dort muss man im Plugin die Position und die Geldmenge Definieren.
In seinem FS gibt es nur einen Ingame-CMD und eine Meldung an alle, wenn jemand die Statue findet. -
Steht doch auch was in dem Forum.
Ist die Falsche Plugin-Version.Version 16 wurde nicht gefunden.
Wie man das behebt:Zitat
Welche Distribution nutzt du denn überhaupt?Für Ubuntu wäre es zum Beispiel das Paket libmysqlclient16 was installiert werden muss.
Für Debian gibt es kein Paket aus den original Repos.
Aber evtl. funzt das Ubuntupaket...Quelle: http://board.gulli.com/thread/…8-libmysqlclient-r-so-16/