Keine Fragen

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
  • //Fraktionsnamen
    #define fraktname1 "LSPD"
    #define fraktname2 "Ordnungsamt"
    #define fraktname3 "Sanitäter"
    #define fraktname4 "Grove Street"
    #define fraktname5 "Yakuza"


    //Ordnungsamt
    #define ordnungsamtspawn 2262.3352,2035.9197,10.8203,


    //LSPD
    #define lspdspawn 1525.0885,-1677.6794,5.8906


    //Sanitäter
    #define sanitäterspawn 1172.0771,-1323.2153,15.4027


    //Yakuza
    #define yakuzaspawn 2633.6636,1716.4097,11.0234


    //grove Street
    #define grovestreetspawn 2495.5227,-1690.6533,14.7656


  • switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,41,500);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,3,1);GivePlayerWeapon(playerid,25,200);GivePlayerWeapon(playerid,31,250);GivePlayerWeapon(playerid,34,50);}
    case 2:{SetPlayerPos(playerid,ordnungsamtspawn);SetPlayerColor(playerid,BABYBLAU);GivePlayerWeapon(playerid,41,500);}
    case 3:{SetPlayerPos(playerid,sanitäterspawn);SetPlayerColor(playerid,ROT);GivePlayerWeapon(playerid,41,500);}
    case 4:{SetPlayerPos(playerid,grovestreetspawn);GivePlayerWeapon(playerid,24,100);GivePlayerWeapon(playerid,1,1);GivePlayerWeapon(playerid,25,40);GivePlayerWeapon(playerid,30,100);}
    case 5:{SetPlayerPos(playerid,yakuzaspawn);GivePlayerWeapon(playerid,24,100);GivePlayerWeapon(playerid,8,1);GivePlayerWeapon(playerid,25,40);GivePlayerWeapon(playerid,30,100);}
    }
    return 1;


    So sollte es klappen, lag am GivePlayerWeapon; du kannst nicht mehrere Waffen in einem "GivePlayerWeapon" vergeben.




  • Hab 2 error´s :

  • Dann zeig mal die Zeile 316.


    3 Error´s :


    [/code]


    Zeilen dazu sieh es so Error 1 pwn zitat 1 etc.



    new hitsound[MAX_PLAYERS];
    new Arena[MAX_PLAYERS];
    new ordnungsamtcar[26];
    new lspdcar[18]


    main() //fehler Laut Pawn
    {
    print("\n----------------------------------");
    print("United Deathmatch");
    print("----------------------------------\n");
    }


    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,41,500);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,3,1);GivePlayerWeapon(playerid,25,200);GivePlayerWeapon(playerid,31,250);GivePlayerWeapon(playerid,34,50);}
    case 2:{SetPlayerPos(playerid,ordnungsamtspawn);SetPlayerColor(playerid,BABYBLAU);GivePlayerWeapon(playerid,41,500);}//fehler laut Pawn
    case 3:{SetPlayerPos(playerid,sanitäterspawn);SetPlayerColor(playerid,ROT);GivePlayerWeapon(playerid,41,500);}
    case 4:{SetPlayerPos(playerid,grovestreetspawn);GivePlayerWeapon(playerid,24,100);GivePlayerWeapon(playerid,1,1);GivePlayerWeapon(playerid,25,40);GivePlayerWeapon(playerid,30,100);}
    case 5:{SetPlayerPos(playerid,yakuzaspawn);GivePlayerWeapon(playerid,24,100);GivePlayerWeapon(playerid,8,1);GivePlayerWeapon(playerid,25,40);GivePlayerWeapon(playerid,30,100);}
    }
    return 1;


  • new hitsound[MAX_PLAYERS];
    new Arena[MAX_PLAYERS];
    new ordnungsamtcar[26];
    new lspdcar[18];


    main() //fehler Laut Pawn
    {
    print("\n----------------------------------");
    print("United Deathmatch");
    print("----------------------------------\n");
    }
    Hinter dem lspdcars[18] fehlte ein ";".


    Und:

    //Ordnungsamt
    #define ordnungsamtspawn 2262.3352,2035.9197,10.8203


    Da war ein Komma zu viel.


  • Aber er spawnt da nicht? why?

  • Wanteds kannst du mit "SetPlayerWantedLevel" vergeben.
    Punkte für einen Führerscheinentzug ist ein wenig komplizierter, dafür müsstest du in der Spielerdatei/tabelle einen Punkt names "Punkte" o.ä. hinzufügen und diesem immer um eins erhöhen, wenn man bspw. durch einen Blitzer fährt oder ein Cop mit einem Befehl dem Spieler einen Punkt gibt.


    //e: Wenn ich dir das mal über TeamViewer oder so zeigen soll, musst du mich morgen anschreiben. Bin jetzt erstmal off.

  • Ich hatte soeine Idee wie ich /makeleader scripten kann nunja guckt es euch an.


    ocmd:makeleader(playerid,params[])
    {


    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
    new pID, string[128],rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/setteam [spieler] [Fraktionid]");
    if(rank<0||rank>5)return SendClientMessage(playerid,BLAU,"Bitte gültige Fraktion angeben.");
    new ftext[128];
    new level = rank;
    if(level == 0) { ftext= "Zivilist"; GetPVarInt(playerid,"Fraktion")==0 }
    else if(rank == 1) { ftext= "LSPD"; GetPVarInt(playerid,"Fraktion")==1 }
    else if(rank == 2) { ftext= "Ordnungsamt"; GetPVarInt(playerid,"Fraktion")==2 }
    else if(rank == 3) { ftext= "Sanitäter"; GetPVarInt(playerid,"Fraktion")==3 }
    else if(rank == 4) { ftext= "Grove Street"; GetPVarInt(playerid,"Fraktion")==4 }
    else if(rank == 5) { ftext= "Yakuza"; GetPVarInt(playerid,"Fraktion")==5 }


    format(string,sizeof(string),"Admin %s : %s übernimmt den Leaderposten von %s",SpielerName(playerid),SpielerName(pID),ftext);
    SendClientMessageToAll(ROT,string);
    SpawnPlayer(pID);
    SpielerSpeichern(pID);
    return 1;
    }


    Fehlercodes :

  • ocmd:makeleader(playerid,params[])
    {


    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
    new pID, string[128],rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/makeleader [spieler] [Fraktionid]");
    if(rank<0||rank>5)return SendClientMessage(playerid,BLAU,"Bitte gültige Fraktion angeben.");
    new ftext[128];
    new level = rank;
    if(level == 0) { ftext= "Zivilist"; GetPVarInt(playerid,"Fraktion")==0; }
    else if(rank == 1) { ftext= "LSPD"; GetPVarInt(playerid,"Fraktion")==1; }
    else if(rank == 2) { ftext= "Ordnungsamt"; GetPVarInt(playerid,"Fraktion")==2; }
    else if(rank == 3) { ftext= "Sanitäter"; GetPVarInt(playerid,"Fraktion")==3; }
    else if(rank == 4) { ftext= "Grove Street"; GetPVarInt(playerid,"Fraktion")==4; }
    else if(rank == 5) { ftext= "Yakuza"; GetPVarInt(playerid,"Fraktion")==5; }


    format(string,sizeof(string),"Admin %s : %s übernimmt den Leaderposten von %s",SpielerName(playerid),SpielerName(pID),ftext);
    SendClientMessageToAll(ROT,string);
    SpawnPlayer(pID);
    SpielerSpeichern(pID);
    return 1;
    }


    Du hast hinten bei jeder Fraktion das ";" vergessen.. Sollte zumindest die Errors weg bekommen.

  • Und statt "GetPVarInt(playerid,"Fraktion") == 1;" musst du "SetPVarInt(playerid,"Fraktion",1);" schreiben.


    Beides Funktioniert und es ist Gut gemacht...
    Nun habe ich eig. 3 Fragen.


    Frage 1. ^^


    Ich möchte Tore da hin scripten also irgendwelche zäune die sich dann bewegen lassen mit /auf oder /open


    Frage 2.
    Wie mache ich das das ein Skin gespeichert wird und er beim einloggen gesettet wird also Leader erhält R6 Skin etc.



    Frage 3.
    wie mache ich ein /giverank oder /invite befehl.


    Mit Freundlichen Grüßen

  • Ich würde dir empfehlen, hier im Forum ein paar Grundlegende Tutorials durchzulesen.
    Ist ja keine dauerhafte Lösung, wenn du bei jedem command erstmal nachfragen musst, wie man das macht.


    Du solltest dir immer ein paar Fragen stellen
    -Werden parameter benötigt?


    ja-> Such nach Tutorials mit sscanf
    nein-> Was soll der Command können
    ->Ist es ein komplexes System?
    ja-> Überblick erstellen
    nein-> Soweit wie möglich versuchen, den command zu scripten.

  • Ok, eine Frage habe ich dennoch nochimmer.
    Wenn ich /makeleader mache wie Sette ich den Rank auf 6?
    Also das ist ja eig. die Grundlage für die Fraktion.


    Mein Command:
    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
    new pID, string[128],rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/makeleader [spieler] [Fraktionid] [Grund]");
    if(rank<0||rank>5)return SendClientMessage(playerid,BLAU,"Bitte gültige Fraktion angeben.");
    new ftext[128], reason[128];
    new level = rank;
    if(level == 0) { ftext= "Zivilist"; SetPVarInt(playerid,"Fraktion",0); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 1) { ftext= "LSPD"; SetPVarInt(playerid,"Fraktion",1); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 2) { ftext= "Ordnungsamt"; SetPVarInt(playerid,"Fraktion",2); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 3) { ftext= "Sanitäter"; SetPVarInt(playerid,"Fraktion",3); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 4) { ftext= "Grove Street"; SetPVarInt(playerid,"Fraktion",4); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 5) { ftext= "Yakuza"; SetPVarInt(playerid,"Fraktion",5); SetPVarInt(playerid,"Rank",6); }


    format(string,sizeof(string),"Du hast vom Administrator %s den Leader Rank in der Fraktion: %s bekommen. Grund: %s",SpielerName(playerid),ftext,reason);
    SendClientMessageToAll(ROT,string);
    SpawnPlayer(pID);
    SpielerSpeichern(pID);
    return 1;
    }

  • Machst du doch schon mit "SetPVarInt(playerid,"Rank",6);".
    Um den Rank abzufragen, beispielsweise im /invite Befehl:

    if(GetPVarInt(playerid,"Rank") < 6) return SendClientMessage(playerid,FARBE,"Du hast nicht die nötigen Rechte!"); //Wenn der Rank kleiner ist als 6, soll die Message ausgegeben werden
    else //ansonsten
    {
    //Was passieren soll, wenn man Rank 6 ist.
    }

  • Also hab ma was Gescriptet.


    Aber es sollte auch Funktionieren bloß 13 Warnings.


    PAwno Code :
    ocmd:invite(playerid,params[])
    {
    if(!isPlayerRank(playerid))return SendClientMessage(playerid,-1,"Du bist kein Leader einer Fraktion.");
    new InviteID, rank;
    if(sscanf(params,"ui",InviteID,rank))return SendClientMessage(playerid,-1,"Benutze: /invite [Spielerid]");
    new ftext[128], pID, reason[128];
    new level = rank;
    if(rank == 1) { ftext= "LSPD"; SetPVarInt(playerid,"Fraktion",1); SetPVarInt(playerid,"Rank",1); }
    else if(rank == 2) { ftext= "Ordnungsamt"; SetPVarInt(playerid,"Fraktion",2); SetPVarInt(playerid,"Rank",1); }
    else if(rank == 3) { ftext= "Sanitäter"; SetPVarInt(playerid,"Fraktion",3); SetPVarInt(playerid,"Rank",1); }
    else if(rank == 4) { ftext= "Grove Street"; SetPVarInt(playerid,"Fraktion",4); SetPVarInt(playerid,"Rank",1); }
    else if(rank == 5) { ftext= "Yakuza"; SetPVarInt(playerid,"Fraktion",5); SetPVarInt(playerid,"Rank",1); }


    SendClientMessage(playerid,BABYBLAU,"%s von der Fraktion %s möchte dich %s in die Fraktion aufnehmen. Grund: %s",SpielerName(pID),SpielerName(playerid),ftext,reason);
    SpawnPlayer(InviteID);
    SpielerSpeichern(InviteID);
    return 1;
    }


    +
    Neue Stock


    stock isPlayerRank(playerid,rankid)
    {
    if(GetPVarInt(playerid,"Rank")==6)return 1;
    return 0;
    }


    Aber ich will das er es erst annehmen muss und die Warnings weg die Mag ich nicht.^^
    //e
    Der Server Schmiert beim /invite oder beim /makeleader ab ka warum.


    Makeleader befehl :
    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
    new pID, string[128],rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/makeleader [spieler] [Fraktionid] [Grund]");
    if(rank<0||rank>5)return SendClientMessage(playerid,BLAU,"Bitte gültige Fraktion angeben.");
    new ftext[128], reason[128];
    new level = rank;
    if(level == 0) { ftext= "Zivilist"; SetPVarInt(playerid,"Fraktion",0); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 1) { ftext= "LSPD"; SetPVarInt(playerid,"Fraktion",1); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 2) { ftext= "Ordnungsamt"; SetPVarInt(playerid,"Fraktion",2); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 3) { ftext= "Sanitäter"; SetPVarInt(playerid,"Fraktion",3); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 4) { ftext= "Grove Street"; SetPVarInt(playerid,"Fraktion",4); SetPVarInt(playerid,"Rank",6); }
    else if(rank == 5) { ftext= "Yakuza"; SetPVarInt(playerid,"Fraktion",5); SetPVarInt(playerid,"Rank",6); }


    format(string,sizeof(string),"Du hast vom Administrator %s den Leader Rank in der Fraktion: %s bekommen. Grund: %s",SpielerName(playerid),ftext,reason);
    SendClientMessageToAll(ROT,string);
    SpawnPlayer(pID);
    SpielerSpeichern(pID);
    return 1;
    }

    Einmal editiert, zuletzt von The Sensei ()