PrivateCars Tool V.1

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Morgen liebe Community,


    ja ich bin es mal wieder mit riesiger Langeweile und ein paar Includes :P


    Dieses Include war eine Idee von Jailtime


    [tabmenu]


    [tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
    [subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
    CreatePrivatCar(modelid,Float:X,Float:Y,Float:Z,Float:A,farbe1,farbe2,respawn)
    Diese Funktion sollte in den Callback OnGameModeInit und sorgt dafür, dass ein sogenanntes "Privat Car" erstellt wird.
    Wie man damit umgeht, seht ihr in dem Tab "Beispiele".


    GivePlayerPrivatCar(playerid,vehicleid)
    Die Funktion erklärt sich eigentlich von alleine, das System kann einem Spieler ein "Privat Car" in einen Slot packen.
    SellPlayerPrivatCar(playerid,pID,vehicleid,Preis)
    Hier nochmal eine extra Funktion für den Verkauf ;)


    RemovePrivatCar(playerid,vehicleid)
    Diese Funktion löscht die vehicleid aus dem Slot von playerid.


    GetPrivatId(playerid, slotid)
    Das ist eigentlich die wichtigste Funktion hier in diesem Include ;)
    Die gibt die vehicleid von einem bestimmten Slot des Spielers wieder.


    bool:IsPrivatOwner(playerid,vehicleid)
    Diese Funktion prüft einfach nur, ob "playerid" die vehicleid als Privat Car gehört (falls nicht return false;)


    bool:IsAPrivatCar(vehicleid)
    Prüft nur ob vehicleid ein PrivatCar ist, falls nicht return false;


    GetPrivatOwner(vehicleid)
    Gibt die spielerid von dem Spieler dem dieses Auto gehört wieder ;)
    [subtab='Beispiele','http://www.damen-eishockey.de/images/lampe.gif']
    //Hier ein kleines Beispiel für eine Verwendung
    new privat_cars; //Oben ins Script
    //Unter OnGameModeInit
    privat_cars = CreatePrivatCar(499,0.0,0.0,0.0,0.0,1,2,-1);
    //Beim Login oder halt woanders
    GivePlayerPrivatCar(playerid,privat_cars);
    //Hier ein Beispiel zum Verkauf
    SellPlayerPrivatCar(playerid,pID,privat_cars,1000);
    [subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
    Pastebin: Pastebin (V.1)
    [/tabmenu]


    //Edit:
    PS: Man kann max 3 Privat Cars besitzen ^^


    //Edit²: Neuer Pastebin Link + neue Funktion


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    5 Mal editiert, zuletzt von Kaliber ()


  • Wie wird es gespeichert?
    WIe kann ich Abfragen ob ich im Fahrzeug von xyz sitze?


    Mfg nico

  • Wie wird es gespeichert?


    Ja, also noch gar nicht, aber über die Funktionen sollte es eigentlich kein Problem sein sowas abzuspeichern egal ob dini oder MySQL oder sonst was...


    WIe kann ich Abfragen ob ich im Fahrzeug von xyz sitze?


    Naja zum Beispiel so:


    if(!strcmp(cmdtext, "/carowner", true))
    {
    if(!IsAPrivatCar(GetPlayerVehicleID(playerid)) return SendClientMessage(playerid,rot,"Du sitzt in keinem Privat Auto !");
    new i, name[24],string[128], veh = GetPlayerVehicleID(playerid);
    for(; i<MAX_PLAYERS; i++)
    {
    if(IsPrivatOwner(i,veh))
    {
    GetPlayerName(i,name,24);
    format(string, sizeof string,"Der Besitzt dieses Autos ist %s !",name);
    SendClientMessage(playerid,rot,string);
    break;
    }
    }
    return 1;
    }


    PS: Ich kann aber dafür nochmal eine extra Funktion machen ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • nett gemacht aber ürgendwie hast du zuviel langeweile


    Ja ;(


    Ich finde es toll was du machst, jedoch will ich wenn ich das nutze den Tank in der Datei speichern lassen.
    Wie geht das dann?


    Der Tank ist doch unabhängig von diesen "Privat Cars" sie gehören immernoch zu MAX_VEHICLES und du kannst sie wie ganz normale Cars behandeln... :rolleyes:


    Also machst du das mit dem Tank genauso wie bei deinen anderen Cars auch :D


    mfg. :thumbup:


    //Edit: Neue Funktion ist drinnen mit dem Abfragen, jetzt sieht das so aus:


    if(!strcmp(cmdtext, "/carowner", true))
    {
    if(!IsAPrivatCar(GetPlayerVehicleID(playerid)) return SendClientMessage(playerid,rot,"Du sitzt in keinem Privat Auto !");
    new name[24],string[128], veh = GetPlayerVehicleID(playerid);
    GetPlayerName(GetPrivatOwner(veh),name,24);
    format(string, sizeof string,"Der Besitzt dieses Autos ist %s !",name);
    SendClientMessage(playerid,rot,string);
    return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Nein nein ich will das Benzin speichern lassen und wenn man wieder Connected das man dann den Stand wieder hat?


    Mfg

  • Nein nein ich will das Benzin speichern lassen und wenn man wieder Connected das man dann den Stand wieder hat?


    Das hat rein gar nichts mit meinem Include zu tun, wie du eine Tankvariable für dein Car erstellst :whistling:


    Schau dir da doch ein paar Tutorials bzw Tanksysteme an und versuche das so zu übernehmen.


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich weiss wie das geht jedoch weiss ich nicht wie du die Fahrzeuge speicherst


    1. Selbst wenn ich die Fahrzeuge abspeichern würde, hätte das damit nichts zu tun :pinch:


    2.

    Zitat von »NicoWiss«
    Wie wird es gespeichert?


    Ja, also noch gar nicht, aber über die Funktionen sollte es eigentlich kein Problem sein sowas abzuspeichern egal ob dini oder MySQL oder sonst was...


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • mal ne frage. ist das nit mit der art und weise einfacher??


    unter OnGameModeInit
    Rocky = AddStaticVehicleEx(495, 1536.5662, -841.1588, 65.5384, 92.2200, 0, 0, -1);


    unter OnPlayerStateChange
    GetPlayerName(playerid,pname,sizeof pname);
    if (newstate == PLAYER_STATE_DRIVER)
    {
    if (vehicleid == Rocky)
    {
    if(strcmp(pname,"Rocky",true) ==0)
    {
    {
    SendClientMessage(playerid,COLOR_ORANGE,"Willkommen zurück mein Freund");
    }


    return 1;
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Raus aus meiner Karre! Gruß Rocky!");
    }
    }
    }


    so hab ich es immer gemacht und es hat wunderbar funktioniert. ohne dini und mysql.
    ansonsten super, dass du mal wieder langeweile hast. :D

  • so hab ich es immer gemacht und es hat wunderbar funktioniert.


    Dein System ist Hard Coded sprich nur statisch ;)


    Meins hingegen ist dynamisch und deshalb hat es mehr Funktionen und ist auch etwas aufwändiger :P

    ohne dini und mysql.


    Das brauch man in diesem Fall ja nicht, da sich der Fahrzeugbesitzer ja nicht ändert, bleibt immer "Rocky" ;)


    ansonsten super, dass du mal wieder langeweile hast.


    Danke ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S