Fraktionscars

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
  • Hallo liebe Breadfish Community,
    da ich gesehen habe das einige ein Problem mit Fraktionscars haben mache ich ein Tuturial


    Ganz oben im Script fügen wir das ein:
    new Beispielcar[eure Autoanzahl];


    Als nächstes fügen wir unter OnGameModeInit das ein
    Beispielcar[0]=AddStaticVehicle(CAR ID,X,Z,Y,COLOR ID,COLOR ID,SPAWN ZEIT);


    Ihr müsst es dann fortsetzen also so:
    Beispielcar[0]=AddStaticVehicle(CAR ID,X,Z,Y,COLOR ID,COLOR ID,SPAWN ZEIT);//Bei dem 1. Auto muss immer eine [0] stehen und bei dem 2. Auto mit [1] und immer so weiter. Also ich meine am Anfang Beispielcar[0]=.
    Beispielcar[1]=AddStaticVehicle(482,-2197.7168,1008.2476,80.1252,268.3861,166,166);//Dies ist ein Beispiel wie ihr die CAR ID,X,Z,Y,COLOR ID,SPAWN ZEIT einsetzt


    und halt immer weiter mit 2,3 etc.


    Als nächstes fügen wir unter OnPlayerStateChange das ein:
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(Beispielcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==Beispielcar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=fraktionsid)//eure Fraktionsids findet ihr ganz oben im Script wo ihr eure Fraktionsnamen definet habt. Also #define fraktname1 "Beispiel".
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Du gehörst nicht zur Beispiel Fraktion.");
    }
    }
    }
    }


    Das mit GetPVarInt macht ihr so:
    und zwar erstellt ihr einen stock ich nenne den stock SpielerSpeichern(Das müsst ihr nicht machen wenn ihr es schon habt)
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//Ihr müsst einen Ordner im Scriptfiles Ordner erstellen und der muss Accounts heißen
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));//Ihr könnt auch andere Variablen erstellen wie Level
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    }
    return 1;
    }


    Dann müsst ihr bei OnPlayerDisConnect das einfügen:(Das gehört auch zum stock)
    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }


    Ich hoffe das Tuturial ist verständlich!(denn es ist mein erstes Tutorial)
    Ich nehme gerne negative und positive Kritik an.
    Pastbin: http://pastebin.com/kcPD8HSj


    MFG ThEDoG


    //EDIT: Hab eine Erklärung für GetPVarInt eingefügt.

    9 Mal editiert, zuletzt von iBenny ()

  • Ein Tolles Tutorials..... [/ironie]
    Das ist doch kein Tutorial wenn ja fehlt einiges bsp. die Abfrage wie er die Erstellen muss etc.
    Also ob sowas Neulinge hilft bezweifel ich.
    0/10 für diesen Codeschnipsel würde ich ja schon sagen.


    Edit:
    if(GetPVarInt(playerid,"Fraktion")!=fraktionsid)
    Wo kommt die id herr wie legt ein neuling seine Fraktion mit PVar fest... hier fehlt jede Information
    würde ein Neuling dieses Tutorial so übernehmen dann hätte er damit nix erreicht weil, er nur eine Abfrage drinne hat die nicht festgelegt wurde.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • so ein ähnlichen code habe ich auch verwendet nur ich bekomme errors ^^ bei LSPD hats gut geklappt aber bei der Army hab ich errors bekommen.


    vielleicht kann mir einer helfen^^ .


    wen ich das in den pawn code reinpacke zeigt der es nicht richtig an ^^ nicht untereinander sondern nebeneinander keine ahnung wieso.



    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i = 0; i {
    if(GetPlayerVehicleID(playerid) == armycars[i])
    {
    if(IstSpielerInFraktion(playerid, 3))
    {
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du bist kein Mitglied der Bundeswher!");
    }
    }
    }
    }
    return 1;
    }



    errors
    Selfmade.pwn(2229) : error 055: start of function body without function header
    Selfmade.pwn(2230) : error 010: invalid function or declaration
    Selfmade.pwn(2232) : error 010: invalid function or declaration
    Selfmade.pwn(2234) : error 010: invalid function or declaration
    Selfmade.pwn(2236) : error 010: invalid function or declaration
    Selfmade.pwn(2239) : error 010: invalid function or declaration
    Selfmade.pwn(2247) : error 010: invalid function or declaration

  • Was ist IstPlayerInFraktion? Schreib mal dein Problem hierhin als Pawno. Bitte alles was bei dir mit frakcars zu tun hat.Du kannst es als pawno nachen indem du da wo man Schriftgröße ändert da drunter ist ein PWN Zeichen da drückst du drauf und fügst zwischen [ pwn] und [/pwn] deinen Text ein. Und da nn erklärst du dein Problem noch mal genau. Dann helfe ich dir.;-)

  • bei new


    new armycars[10];



    für die wagen.


    armycars[0]= AddStaticVehicle(425,212.3304,1973.8815,18.2095,183.4309,43,0); // army hunter




    unter


    public OnPlayerStateChange(playerid, newstate, oldstate)






    { if(newstate == PLAYER_STATE_DRIVER) { for(new i = 0; i<sizeof(armycars); i++) { if(GetPlayerVehicleID(playerid) == armycars[i]) { if(IstSpielerInFraktion(playerid, 3)) { } else { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Rot,"Du bist kein Mitglied der Bundeswher!"); } } } } return 1;}




    Edit: der schiebts hinternander...


    IstSpierlerInFraktion ist die Abfrage ob der spieler in einer Fraktion ist

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich hab nen Problem.


    Bei mir schmeist es jeden ausn Car, auch die Cops, die drin sitzen bleiben müssten.


    Kann mir wer helfen?

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(CopCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==CopCar[i])
    {
    if(!GetPVarInt(playerid,"TeamCops"))
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,rot,"Du bist nicht im Team Cops.");
    }
    }
    }
    }


    //edit
    Dann hätt ich noch eine Frage, wo muss ich es hinmachen, wenn ich TogglePlayerControllable aus und an mache, das er praktisch gleich stehen bleibt und nicht erst einsteigt.
    Wenn ich das anstatt removeplayerfromvehicle mache dann sitzt der ja schon drin. wo mach ich dass das es vorher geht, oder funktioniert das überhaupt in dieser variante?


    Vielen Dank im Vorraus


    Lg byBSE



    Einmal editiert, zuletzt von Tomsen ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen