Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/24/19 in Posts

  1. Update: 1.48 support has been pushed into main updater branch. This morning we've announced public beta testing of 1.47 compatibility patch in the Discord, but as far as we realized later a lot of players still didn't join our Discord server (or just got banned for rules violation) so we've decided to inform everyone about the testing here as well. If you wish to participate in the testing, please open config.xml in RAGE Multiplayer root folder and change "prerelease" to "03_undefined". Bugs are possible since it's a testing release but issues are being rapidly resolved to make it stable enough to push it into the default branch. Server update is not required. { reminder to join our Discord here }
    5 points
  2. ERROR : Your game version us not sipported be Rage Multiplayer. Please upgrade to 1.46(5 Feb 2019) in order to continue playing. Try verifying Steam cache (For Steam) or running PlayGTAV.exe(for Soceal Club version). My version Social Club, what problem?
    1 point
  3. You must launch the gamemode with the mongodb connected with databox collection with all the data required. RO: Iti cere baza de date. conecteaza sv la mongodb, fi sigur ca ai collection (tabel) cu databox. Ala si factions sunt necesare.
    1 point
  4. @rootcause Here are 3 Casino IPL's to remove some bugs in the Arpatment area from outside on the roof and in the entrance area below vw_dlc_casino_door hei_dlc_casino_door hei_dlc_windows_casino
    1 point
  5. Lo dicho, tenía buenas referencias de que es un buen text-rp! PD: Ahora si son tan amables, dejemos de hablar de otros servidores en el thread de Vespucci, gracias🤠 - - - - ¿Te gustaría crear tu propia facción en Vespucci Roleplay? https://foro.v-rp.es/index.php?threads/¿cómo-creo-mi-facción-no-oficial.39/
    1 point
  6. Example penthouse: let phIntID = mp.game.interior.getInteriorAtCoords(976.636, 70.295, 115.164); let phPropList = [ "Set_Pent_Tint_Shell", "Set_Pent_Pattern_01", "Set_Pent_Spa_Bar_Open", "Set_Pent_Media_Bar_Open", "Set_Pent_Dealer", "Set_Pent_Arcade_Retro", "Set_Pent_Bar_Clutter", "Set_Pent_Clutter_01", "set_pent_bar_light_01", "set_pent_bar_party_0" ]; for (const propName of phPropList) { mp.game.interior.enableInteriorProp(phIntID, propName); mp.game.invoke("0x8D8338B92AD18ED6", phIntID, propName, 1); // _SET_INTERIOR_PROP_COLOR } mp.game.interior.refreshInterior(phIntID);
    1 point
  7. Yes, but that's not gamemode related, you should check the wiki to get the function.
    1 point
  8. RageSurvival While still in early development, we´d like to show some things we have accomplished so far. - Introduction RageSurvival aims to create an immersive experience similar to the early days of DayZ, but providing a bigger sandbox for players to play in and giving them as much freedom as possible. Thus including things like Base Building, Hunting, Growing Food, excessive interaction between players (kidnapping, trading ...) and much more - Development Discord: https://discord.gg/7aW8fPp If you are interested in helping to achieve this together with us, feel free to contact me via PM or in Discord. Feel free to post ideas and everything else. Regards
    1 point
  9. Hi Guys, Had someone in a discord ask about generating an updated version of vehicleData.json so i took it on as a challenge for myself to create some code that will automatically grab the vehicles listed on the rage.mp wiki and create some information about them into a JSON File. Feel free to extend this or do whatever. GetVehicleInfo.cs public class GetVehicleInfo : Script { public GetVehicleInfo() { } public static Task<string> MakeAsyncRequest(string url, string contentType) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = contentType; request.Method = WebRequestMethods.Http.Get; request.Timeout = 20000; request.Proxy = null; Task<WebResponse> task = Task.Factory.FromAsync( request.BeginGetResponse, asyncResult => request.EndGetResponse(asyncResult), (object)null); return task.ContinueWith(t => ReadStreamFromResponse(t.Result)); } private static string ReadStreamFromResponse(WebResponse response) { using (Stream responseStream = response.GetResponseStream()) using (StreamReader sr = new StreamReader(responseStream)) { //Need to return this response string strContent = sr.ReadToEnd(); return strContent; } } public async Task<List<string>> ReturnVehicleNamesAsync(Client player) { List<string> tempVehicleStore = new List<string>(); player.SendChatMessage("Fetching vehicle data... this may take a couple seconds."); string html = await MakeAsyncRequest("https://wiki.rage.mp/index.php?title=Vehicles", "text/html"); string pattern = @"<code[^>]*?>(.*?)</code>"; MatchCollection matches = Regex.Matches(html, pattern, RegexOptions.IgnoreCase | RegexOptions.Singleline); if (matches.Count != 0) { foreach(Match match in matches) { GroupCollection groups = match.Groups; tempVehicleStore.Add(groups[1].Value); } return tempVehicleStore; } else { player.SendChatMessage("Error matching regex to vehicles.."); } return null; } public void WriteToFile(string path, string content) { try { Directory.CreateDirectory(Path.GetDirectoryName(path)); File.WriteAllText(path, content); } catch (IOException e) { NAPI.Util.ConsoleOutput("Error: ", e.Message); NAPI.Util.ConsoleOutput("Stack: ", e.StackTrace); } } } public class VehicleData { public string VehicleName { get; set; } public float MaxSpeed { get; set; } public float MaxBraking { get; set; } public float MaxTraction { get; set; } public float MaxAcceleration { get; set; } public int MaxNumberOfPassengers { get; set; } public int MaxOccupants { get; set; } public int VehicleClass { get; set; } } Command i created with this class: [Command("fetchvehicledata")] public async void FetchVehicleDataAsync(Client player) { List<VehicleData> vehData = new List<VehicleData>(); GetVehicleInfo vehicle = new GetVehicleInfo(); List<string> vehiclenames = await vehicle.ReturnVehicleNamesAsync(player); player.SendChatMessage("Fetch complete, getting related vehicle info.."); foreach(string v in vehiclenames) { uint id = NAPI.Util.GetHashKey(v); vehData.Add(new VehicleData() { VehicleName = NAPI.Vehicle.GetVehicleDisplayName((VehicleHash)id), MaxSpeed = NAPI.Vehicle.GetVehicleMaxSpeed((VehicleHash)id), MaxBraking = NAPI.Vehicle.GetVehicleMaxBraking((VehicleHash)id), MaxTraction = NAPI.Vehicle.GetVehicleMaxTraction((VehicleHash)id), MaxAcceleration = NAPI.Vehicle.GetVehicleMaxAcceleration((VehicleHash)id), MaxNumberOfPassengers = NAPI.Vehicle.GetVehicleMaxPassengers((VehicleHash)id), MaxOccupants = NAPI.Vehicle.GetVehicleMaxOccupants((VehicleHash)id), VehicleClass = NAPI.Vehicle.GetVehicleClass((VehicleHash)id) }); } vehicle.WriteToFile(@"output/vehicleData.json", NAPI.Util.ToJson(vehData)); player.SendChatMessage("vehicleData.json exported, check output folder in your server directory"); } Note: I did use the GTANetwork's deprecated code as a reference when creating this so partial credits to them :) Kind Regards, JCurtis.
    1 point
  10. Mit diesem kleinen Tutorial könnt Ihr MongoDB als Datenbank verwenden Im Hauptordner des Servers folgendes ausführen: npm install mongoose Alle folgenden Snippets werden Serverseitig verwendet, z.B. im Ordner "packages/mongo" index.js var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/dbname', {useNewUrlParser: true}); Jetzt benötigen wir noch ein paar Klassen, z.B. im Unterordner "packages/mongo/Classes" accounts.js var mongoose = require('mongoose'); var Schema = mongoose.Schema; var accountsSchema = new Schema({ socialClub: String, registered: { type: Date, default: Date.now }, registerIP: String, lastIP: String, lastConnect: { type: Date, default: Date.now }, isOnline: Boolean, playTime: Number, isAdmin: Boolean, isSupporter: Boolean, isIngameSupporter: Boolean, isDeveloper: Boolean, isWhitelister: Boolean, isCop: Boolean, isMedic: Boolean, isACLS: Boolean, isJustice: Boolean, rankCop: Number, rankMedic: Number, rankACLS: Number, rankJustice: Number, lastDisconnect: { type: Date, default: Date.now }, }); exports.model = accountsSchema; Jetzt binden wir diese Klasse in unsere index.js ein: ... var Schema = mongoose.Schema; var accounts = require('./classes/accounts.js'); exports.accounts = accounts.model; Jetzt wollen wir in einem anderen Modul diese Collection nutzen login.js var mongoose = require('mongoose'); var db = require('../mongo/index.js'); var accounts = mongoose.model('accounts', db.accounts); Ok wir haben nun Zugriff auf die Datenbank und das Schema für die Documents Wir prüfen ob ein Spieler bereits einen Account hat in der login.js, dafür kann "playerReady" oder "playerJoin" verwendet werden, ich prüfe das erst nach dem Download der client_packages: mp.events.add('playerReady', (player) => { accounts.findOne({ 'socialClub': player.socialClub }).then(function (account) { if(account) { // Ja, account gefunden } }); }); Jetzt werden wir den Account aktualisieren: accounts.findOne({ 'socialClub': player.socialClub }).then(function (account) { if(account) { var now = new Date(); accounts.updateOne(account, { $set: { 'lastConnect': now, 'isOnline': true, 'lastIP': player.ip } }); } }); Das geht aber auch noch komfortabler: accounts.findOne({ 'socialClub': player.socialClub }).then(function (account) { if(account) { var now = new Date(); account.lastDisconnect = now; isOnline = true; playTime = account.playTime + (now - account.lastConnect); account.save(); } }); Beim Serverstart alle Accounts auf Offline setzen: accounts.updateMany( { 'isOnline': true }, { $set: { 'isOnline': false } } ); Sollte kein Account vorhanden sein, legen wir einen an: function newAccount(player) { var now = new Date(); var adoc = new accounts({ 'socialClub': player.socialClub, 'registered': now, 'registerIP': player.ip, 'lastIP': player.ip, 'lastConnect': now, 'isOnline': true, 'playTime': 0, 'isAdmin': false, 'isSupporter': false, 'isIngameSupporter': false, 'isDeveloper': false, 'isWhitelister': false, 'isCop': false, 'isMedic': false, 'isACLS': false, 'isJustice': false, 'rankCop': 0, 'rankMedic': 0, 'rankACLS': 0, 'rankJustice': 0 }); adoc.save().then(function(adoc) { mp.events.call("loadCharacter", player); }); } Ich hoffe das dies euch unterstützt, falls ihr mal mit MongoDB arbeiten wollt.
    1 point
  11. Yes but i want to use csharp in my Project too. Its nice to have but not an must 2 have. Würde gerne noch manche Funktionen von c# nutzen, ist halt gut zu haben aber nicht dringend notwendig.
    0 points
  12. Hallöchen, ich bin Lukas und habe derzeit mit einem Kumpel ein Roleplay-Projekt im aufbau, wir sind derzeit komplett noch am Konzeptionieren des Projektes und Suchen akut nach Developern. Das ganze Projekt wird später den namen: Extended-Reality bekommen. Der Root Server ist bereits bezahlt, ein Discord ist im aufbau genau so wie eine Webseite: http://www.extended-reality.euWir sind nicht der Meinung das es ein Richtiges Hardcore-Roleplay Projekt geben kann, dies ist lediglich eine Namenssache, Das Hardcore kommt mit den Spielern und um einiges mehr mit den Support bei Fehlverhalten. FailRP, RDM, VDM, Meta, ... Was wir dir bereitstellen:-> Eigene E-Mail Adresse-> Mitentscheidungsmöglichkeiten bei der Konzepterstellung-> Den ein oder anderen Gaming Abend zusammen und mit den Spielern -> Motivation selbst zu lernen bei der Entwicklung zu helfen.Was wir fordern:-> Ruhiges Auftreten gegenüber Team und Spielern-> Motivation, ich denke aber das hat jeder in einer gewissen art-> Offenheit bei Problemen-> Lust andere dazu anzulernen. Was wir bereits haben:-> Einen mehr oder minder aktiven Dev (Tendenz 1-2 Stunden / Tag)-> Motivierte Spieler und eine kleine Teamstruktur-> Teamspeak: 185.234.72.251-> Discord: https://discord.gg/TBtTBeP-> Freeroam Server: 185.234.72.251:22005Geplante Sachen: -> Roleplay Server für Spieler-> Server für Development/Test,... Sollte dir das zusagen oder Du hast noch Fragen zu uns dann melde dich bei uns oder schreibe mir eine Nachricht. Viel Spaß und schönen Tag noch
    0 points
×
×
  • Create New...