Ja habe es ja grade editiert
Naja aber im großen und ganzen lernt man ja nie zuende
Kannst ja mal ein großes Beispiel machen BlackAce wäre nett
Also.. mit der KI xD
Ja habe es ja grade editiert
Naja aber im großen und ganzen lernt man ja nie zuende
Kannst ja mal ein großes Beispiel machen BlackAce wäre nett
Also.. mit der KI xD
Ja es ist standart aber das ist ja auch die Grundlage eines Servers oO
@BlackAce Logischer weise mach ich das auch beim Haus system undso
Aber mal anders: Selbst wenn es so wäer 1,2,3,4,7 wäre es schlimm? es hätte nur was mit der übersicht zutun
und ob man jetzt + ID macht oder einfach checkt welche frei ist das ist auch nicht das schwerster
MfG
EDIT
Schwachsinn xDD
Kavkus Hab deine Erklärung durchgelesen
Hast recht sniper Aber das hatte ich sowieso vor alleine schon weil es dann übersichtlicher in den Server Daten ist
Jap
Außerdem schön dich mal wieder zusehen
Dark.Shadow mein Name
( wenn du Bizzy bist die früher auf meinem Server war also GFR oder LSR xD)
10/10
Außerdem wenn du es verkaufen willst würde ich nicht die ganze zeit sagen "wer hat nach deiner Meinung gefragt" und Ähnliches
Beruhig dich ein wenig und geh chillig an die Sache ran
Frage ich mich auch
z.B. mit den Info Pickups ist gemeint das ich nicht jedes mal den Code mache wie "Create3DTextDraw" "AddStaticPickup" und bla bla
ich hab da halt einfach ein enum da kommen die koordinaten rein und der text der da stehen soll
bei dem interior enter und exit ist nacheinander der ein und ausgang in einem enum wenn man an einem ausgang ist kommt man zu den koordinaten von dem eingang der dadrüber ist und andders rum halt naja andersrum xD
Das ist meiner Meinung nach Dynamisch
Also mit schleifen erstellen bla bla
Ja natürlich ingame erstellen sonst wenn einer ein Haus haben will und es das nicht gibt, muss ich ja jedes mal den Server neustarten oder alle Häuser neu laden...
MfG
Danke sehr
Hoffe auch das es was bringen wird das Selfmade zu machen
Das musst du mir dann erstmal beibringen xDD
Also dynamisch lege ich viel wert drauf
Dynamisch ist bei mir: Info Pickups, Navigationssystem, Ein und ausgänge mit Pfeilen und mit enter rein oder raus gehen die spawns und die Fraktionen
Car system biz system house system und alles was noch kommt wird auch dynamisch sein
EDIT
@Master_FM
Damit bezwecke ich das ich weniger Zeilen habe. Ich habe ja die Zeilen anzahl angegeben und bei jeder if Abfrage ist bei mir dann eine Zeile weniger
Weil ich finde das es sehr wenige Zeilen für die Funktionen sind
Ja mysql hatte ich auch aber da ich es nicht so gut verstehe wie dini habe ich es sein gelassen
In meinem GF ist auch mysql und bis die Bugs da weg waren undso hat es gedauert.
Und im GF hab ich es auch mehr oder weniger C & P von Maddin´s Tutorial gemacht
Im Selfmade scripte ich nur damit, wovon ich ahnung habe und wie das funktioniert
Also cmd art ist alles mit ocmd und sscanf
Speichersystem: dini
Ressourcensparend da ich anstatt z.b. 1 Timer gemacht habe der 5 minuten geht in einem timer der 1 minute geht immer + rechne und bei 5 minuten die entsprechende Funktion aufgerufen wird
Autos und Objekte werden in einer Funktion erstellt und unter Ongamemodeinit aufgerufen
anstatt
if()
{
}
Habe ich
if () {
}
Hallo Community
ich würde gerne mal wissen was meine Arbeit bis jetzt wert ist
Ist alles komplett selber gescriptet und dokumentiert
Das Script hat momentan 4536 Zeilen. Falls es jemand will
Ich verkaufe es nicht. Bitte schreibt ehrliche Preise!
Natürlich ist es komplett getestet und Bugfrei
Der bisherige Changelog
v0.1.0
° HINZU Burger Shot /essen
° FIXED Wenn man /afk ist wird die Zeit für den Payday nicht weniger!
° HINZU /setpremium
° HINZU /lizenzen
° FIXED 3 RP bei Donator Nutzern
° HINZU Donator Rang bei den /stats zu sehen
° HINZU Leben Verlust
° HINZU Alle 10 Minuten Server Informationen
_____________________________________
v0.0.9
° HINZU Tutorial
° EDIT LSPD Tore
° HINZU /afk
° HINZU /supteleport
° HINZU /adminduty
° HINZU Teleportlog
° HINZU Login - out Co/disconecct Log
° HINZU General Adminlog
° HINZU /o für Admins
° FIXED Krankenhaus
° HINZU Zustand beim Tacho
° HINZU Fahrzeugname beim Tacho
° EDIT Tank vom Fahrzeug wird auch weniger wenn niemand drin ist aber der Motor läuft
° HINZU Tode werden gezählt und in /stats angezeigt
° HINZU Kills werden gezählt und in /stats angezeigt
° HINZU Befehle bei /help
° HINZU /arrest
° HINZU Payday /paycheck zum check abholen im Arbeitsamt
° HINZU Premium Spieler bekommen 2 Respektpunkte am Payday
° HINZU Donator bekommen 3 Respektpunkte am Payday
° HINZU Normale Spieler bekommen 1000$ am Payday pro Level
° HINZU Premium Spieler bekommen 2000$ am Payday pro Level
° HINZU Donator bekommen 5000$ am Payday pro Level
° FIXED Man bekommt Level 1 bei der Registration
° HINZU Man muss sich nun in der Bank ein Konto kaufen
° FIXED Telefonnummer bei der Registration
° HINZU /supcar zum Supporten einen Sultan spawnen
° HINZU Supcars unsterblich
° HINZU Admins onduty unsterblich
° FIXED In der Skin auswahl vorm einloggen der /login spamm
_____________________________________
v0.0.8
° Login und Register entfernt
° Autohaus System entfernt
° HINZU /setpassword (Admins)
° HINZU /changepassword (Alle)
° HINZU Komplett Selber geschriebenes Login und Register System
° HINZU /sirene für Undercover Polizisten
° HINZU Flugzeuge nur mit Flugschein "benutzbar"
° EDIT Neues BSN (by DevilsHand)
° FIXED /navi
° HINZU Motorräder nur mit Bikeschein möglich!
° HINZU Boote nur mit Bootsschein fahrbar!
° HINZU Autos nur noch mit Autoführerschein fahrbar
° HINZU Fahrräder und Roller ohne jeden Schein fahrbar
° HINZU Neues LSPD (by DevilsHand)
° HINZU LSPD Fahrzeuge
° HINZU LSPD Fahrzeuge nur von Polzisten fahrbar
_____________________________________
Version 0.0.7
° HINZU Arbeitsamt und Bank im /gps
° HINZU /f
° HINZU /givewanted
° HINZu Wanteds bei Tötung eines Spielers
_____________________________________
Version 0.0.6
° HINZU /aufzug
° HINZU Gefangenen Teleport LSPD
° HINZU Knast eingefügt
° HINZU /a
° EDIT Bei /time steht die Knastzeit
° FIXED Per F4 kommt man nicht mehr in die Skinauswahl
° FIXED Skinauswahl Polizei eingefügt, nur als Polizist spawnbar
° HINZU ATMS eingefügt mit TextLabels
_____________________________________
Version 0.0.5
° HINZU Für den Payday werden nun die Minuten gezählt
° HINZU /time
° EDIT BSN gemappt
° HINZU Viele Gebäude betretbar gemacht
° HINZU Autohaus geaddet
° HINZU Fahrlizenzen
° HINZU Lspd gemappt
° HINZU LSPD Tore mit /tor öffnen
° HINZU /engine eingefügt
° HINZU /lock eingefügt
° HINZU /setadmin
° HINZU /setleader
° HINZU /srvneustart
° HINZU Datum eingefügt
° HINZU Info Pickups dynamisch erstellt
_____________________________________
Version 0.0.4
° EDIT Neuer Uhrzeit Text oben rechts
° HINZU Versionsnummer wird oben rechts angezeigt
° HINZU Stats Einträge hinzugefügt
° HINZU Gebäude betretbar gemacht (Dynamisches System erstellt)
° FIXED Die Marker der anderen Spieler werden nicht mehr angezeigt
° FIXED /tanken nun nurnoch an Tankstellen möglich
° HINZU LSPD Spawn geaddet
° FIXED Mysql User Speicher bug behoben
_____________________________________
Version 0.0.3
° FIXED Fixversion von 0.0.2
° HINZU /stats eingefügt
_____________________________________
Version 0.0.2
° HINZU Skin id wird nun gespeichert
° HINZU Wanteds werden nun gespeichert
° FIXED Tacho gefixt
° HINZU Navigationssystem eingefügt
° FIXED Das Level wird nun als Score angezeigt
° HINZU Man bekommt nun eine Telefonnummer bei der registration
° HINZU Bei der Registration bekommt man einen zivilisten Skin
° HINZU Zivilisten in der Skinauswahl hinzugefügt
° EDIT Map Name geändert
° HINZU Willkommensnachricht hinzugefügt
° HINZU Krankenhaus hinzugefügt
° HINZU Join und Leave message hinzugefügt
° HINZU Fraksystem angefangen
_____________________________________
Version 0.0.1
° HINZU Grundgerüst gebaut
° EDIT Servernamen festgelegt
° EDIT Script strukturiert
° HINZU Loginsystem
° HINZU Lokaler Chat ( nur im Radius etwas lesen können )
° HINZU Uhrzeit Textdraw erstellt und eingestellt
° HINZU Tacho
° HINZU Tanksystem eingebaut
° HINZU Einige Funktionen ausgebessert
° HINZU Log Funktion aufgebaut
° HINZU Spawn Koordinaten eingebaut
° EDIT Kamera Position bei der Skinauswahl verändert
° HINZU Tank wird beim Tacho angezeigt
_____________________________________
Alles anzeigen
Hm sehe da jetzt keinen Fehler
Aber vielleicht würde ich erst beim disconeccten oder so speichern
Naja ist jedem selber überlassen
ist die Save Funktion aus dem Tut von Maddin raus kopiert? Ansonsten hat die Variable SpielerInfo[playerid][pName] den richtigen namen?
Gibt es da von SAMP ein Callback?
Aber mal was anderes
Als ich mir das ausgeben lassen habe
Also
printf("Pos_x: %f Pos_y: %f Pos_z: %f Wanted: %d Name: %s Virtuelle Welt: %d",OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid], Spieler[playerid][Wanted], SpielerName(playerid), GetPlayerVirtualWorld(playerid));
Hat er mir alle Daten richtig gegeben..
Wo kann ich denn sonst das Pickup drauf definieren und den Timer?
Also mein Problem ist, dass ich ein Pickup erstellen will wenn jemand off geht. 1 Minute danach sollte es wieder verschwinden
Hier der Code
new OfflinePickup[MAX_PLAYERS];
new Text3D:Offline3DTextdraw[MAX_PLAYERS];
new OfflineVar[MAX_PLAYERS];
new Float:OfflinePos_x[MAX_PLAYERS], Float:OfflinePos_y[MAX_PLAYERS], Float:OfflinePos_z[MAX_PLAYERS];
new OfflineWanted[MAX_PLAYERS];
new OfflineName[MAX_PLAYER_NAME][MAX_PLAYERS];
Unter Onplayerdisconnect
/*if(OfflineVar[playerid] == 1) {
OfflineVar[playerid] = 0;
DestroyPickup(OfflinePickup[playerid]);
Delete3DTextLabel(Offline3DTextdraw[playerid]);
}*/
format(string, sizeof string, "Offline\n[%s]",SpielerName(playerid));
OfflineVar[playerid] = 1;
GetPlayerPos(playerid, OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid]);
OfflineWanted[playerid] = Spieler[playerid][Wanted];
OfflineName[playerid] = SpielerName(playerid);
Offline3DTextdraw[playerid] = Create3DTextLabel(string, FARBE_Grad1, Pos_x, Pos_y, Pos_z, 10.0, GetPlayerVirtualWorld(playerid), 1);
OfflinePickup[playerid] = CreatePickup(1275, 23, Pos_x, Pos_y, Pos_z, GetPlayerVirtualWorld(playerid));
SetTimerEx("EineMinuteNachLogout",60000,0,"i",playerid);
Und hier die Funktion für den Timer der einen minute
Function EineMinuteNachLogout(playerid)
{
OfflineVar[playerid] = 0;
DestroyPickup(OfflinePickup[playerid]);
Delete3DTextLabel(Offline3DTextdraw[playerid]);
}
Wenn jemand eine Lösung hat
Danke schoneinmal im Vorraus
/EDIT Überschrift
oO Gehirnfail xD Vorher: Offline Pickup + 3D Text werden nicht erzählt
Hmm es liegt an der Give wanted funktion -_-
Hab sie ausgeklammert und dann ging es..
Hier GiveWanted#
Function GiveWanted(playerid, Anzahl, VonPlayer, Grund[])
{
new spieler[MAX_PLAYER_NAME], tmpstr[128];
//if(playerid == VonPlayer) { return SendServerMsg(playerid, "Du kannst dir selber kein Wanted geben!"); }
if(VonPlayer == 555) {
spieler = "Unbekannt";
}
else {
spieler = SpielerName(VonPlayer);
}
Spieler[playerid][Wanted] += Anzahl;
format(tmpstr, sizeof tmpstr, #FAR_Gelb"Du hast ein Verbrechen begangen: "#FAR_Rot"%s "FAR_Gelb"Reporter: "#FAR_Orange"%s", Grund, spieler);
SendClientMessage(playerid, FARBE_Grad2, tmpstr);
format(tmpstr, sizeof tmpstr, #FAR_Gelb"Aktuelles Wantedlevel: "#FAR_Orange"%d", Spieler[playerid][Wanted]);
SendClientMessage(playerid, FARBE_Grad2, tmpstr);
for(new i; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(playerid) && Polizist(i)) {
format(tmpstr, sizeof tmpstr, #FAR_Rot"%s "FAR_Gelb"hat ein Verbrechen begangen: "#FAR_Rot"%s", SpielerName(playerid), Grund);
SendClientMessage(i, FARBE_Grad2, tmpstr);
format(tmpstr, sizeof tmpstr, #FAR_Gelb"Reporter: "#FAR_Orange"%s "#FAR_Gelb"Vergebene Wanteds: "#FAR_Weiss"%d", spieler, Anzahl);
SendClientMessage(i, FARBE_Grad2, tmpstr);
}
}
return 1;
}
Hallo Community
Ich dreh hier bald am Rad Onplayerdeath wird garnicht aufgerufen -_-
public OnPlayerDeath(playerid, killerid, reason)
{
GiveWanted(killerid, 2, 1000, "Mord");
MussNichtInsKH[playerid] = 0;
gTod[playerid] = 1;
StehtaufPickUp[playerid] = -1;
DarfEngineNutzen[playerid] = 1;
new tmpstr[128];
format(tmpstr, sizeof tmpstr, "TOT: MussNichtInsKH = %d gTod = %d ImKnast = %d",MussNichtInsKH[playerid], gTod[playerid], Spieler[playerid][ImKnast]);
SendServerMsg(playerid, tmpstr);
Spawn(playerid);
return 1;
}
Den Text hatte ich zum debuggen benutzt aber selbst der wird nicht gesendet
Töten tue ich mich mit
if (strcmp("/freitot", cmdtext, true, 10) == 0)
{
SetPlayerHealth(playerid, 0);
return 1;
}
Ja ok es ist mir ein wenig peinlich das zu fragen aber ich tu es trotzdem
Also folgender Error:
Zeile:
geladenesPasswort = dini_Get(SpielerDatei(playerid),"Passwort");
Funktion:
ocmd:login(playerid,params[])
{
new passwort[20];
if(dini_Exists(SpielerDatei(playerid))) {
if(sscanf(params,"s",passwort)) {
return SendNutzMsg(playerid, "/login [Passwort]");
}
new geladenesPasswort[20];
geladenesPasswort = dini_Get(SpielerDatei(playerid),"Passwort");
if(!strcmp(geladenesPasswort, passwort, true)){
SendServerMsg(playerid, "Willkommen zurück auf Los Santos Roleplay!");
LoginPlayer(playerid);
}
else {
SendClientMessage(playerid, FARBE_Rot, "Das eingegebene Passwort war falsch!");
return 1;
}
}
return 1;
}
Was mach ich da falsch? .. Ist bestimmt iwas kleines blödes aber naja..
Danke im Vorraus
Zeig mal den ganzen Befehle und wenn du 256+256+256+256+256+256 nimmst ist es mehr als 999 Vllt liegt es daran
MfG
Jap hat geklappt Danke schööönn
Hallo sa-mp Forum
Ich würde in meinem Tacho gerne das "Leben" des fahrzeuges anzeigen lassen
Das funktioniert soweit auch ganz gut aber er zeigt nicht 1000 an wie ich es will sondern 1000.00000
code:
Function TachoTimer()
{
new Tachostring[128];
new Float:VehicleHealth;
new engine, lights, alarm, doors, bonnet, boot, objective;
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && PLAYER_STATE_DRIVER) {
if(Gas[GetPlayerVehicleID(playerid)] <= 0)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
SendInfoMsg(playerid,"Du hast kein benzin mehr! Der Motor ist ausgegangen! Nutze /tanken oder /fillcar");
}
GetVehicleHealth(GetPlayerVehicleID(i), VehicleHealth);
format(Tachostring,sizeof(Tachostring),"Speed: %d ~n~Tank: %d/100L ~n~Zustand: %f ~n~Fahrzeug:%s",GetVehicleSpeed(GetPlayerVehicleID(i)), Gas[GetPlayerVehicleID(i)], VehicleHealth, VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
TextDrawSetString(Tacho[i], Tachostring);
TextDrawShowForPlayer(i, Tacho[i]);
}
else {
TextDrawHideForPlayer(i, Tacho[i]);
}
}
return 1;
}
Eine Möglichkeit wäre es 2 Strings zu machen und den vom Tacho kleiner stellen also von dem Leben aber dann wird das wieder zuviel Code