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
  • Bekommst gleich 'ne Antworte, dauert noch 5 Minuten.



    new invited[MAX_PLAYERS] = 0;
    new invfrak[MAX_PLAYERS] = 0;
    ocmd:annehmen(playerid,params[])
    {
    if(invited[playerid] == 0) return SendClientMessage(playerid,-1,"Du wurdest nicht in eine Fraktion eingeladen!");
    //if(GetPVarInt(playerid,"Fraktion") != 0)return SendClientMessage(playerid,-1,"Du bist bereits in einer Fraktion.");
    new ftext[128];
    if(invfrak[playerid] == 1) { ftext= "LSPD"; SetPVarInt(playerid,"Fraktion",1); SetPVarInt(playerid,"Rank",1); }
    else if(invfrak[playerid] == 2) { ftext= "Ordnungsamt"; SetPVarInt(playerid,"Fraktion",2); SetPVarInt(playerid,"Rank",1); }
    else if(invfrak[playerid] == 3) { ftext= "Sanitäter"; SetPVarInt(playerid,"Fraktion",3); SetPVarInt(playerid,"Rank",1); }
    else if(invfrak[playerid] == 4) { ftext= "Grove Street"; SetPVarInt(playerid,"Fraktion",4); SetPVarInt(playerid,"Rank",1); }
    else if(invfrak[playerid] == 5) { ftext= "Yakuza"; SetPVarInt(playerid,"Fraktion",5); SetPVarInt(playerid,"Rank",1); }
    new string[128];
    format(string,sizeof(string),"Du bist nun Mitglied der Fraktion %s.",ftext);
    SendClientMessage(playerid,-1,string);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Fraktion") == invfrak[playerid] && GetPVarInt(i,"Rank") == 6)
    {
    SendClientMessage(i,-1,"Die Inviteanfrange wurde angenommen.");
    }
    }
    invited[playerid] = 0;
    invfrak[playerid] = 0;
    return 1;
    }
    ocmd:invite(playerid,params[])
    {
    if(!isPlayerRank(playerid,6))return SendClientMessage(playerid,-1,"Du bist kein Leader einer Fraktion.");
    new InviteID, rank;
    if(sscanf(params,"u",InviteID))return SendClientMessage(playerid,-1,"Benutze: /invite [Spielerid]");
    rank = GetPVarInt(playerid,"Fraktion");
    new ftext[128];
    if(rank == 1) { ftext= "LSPD";}
    else if(rank == 2) { ftext= "Ordnungsamt";}
    else if(rank == 3) { ftext= "Sanitäter";}
    else if(rank == 4) { ftext= "Grove Street";}
    else if(rank == 5) { ftext= "Yakuza";}
    new string[128];
    format(string,sizeof(string),"%s von der Fraktion %s möchte dich %s in die Fraktion aufnehmen. Tippe /annehmen.",SpielerName(playerid),SpielerName(InviteID),ftext);
    SendClientMessage(InviteID,-1,string);
    invfrak[InviteID] = rank;
    invited[InviteID] = 1;
    return 1;
    }


    Ungetestet, kann also sein, dass das nicht ganz funktioniert, dann sag einfach Bescheid. Falls du was nicht verstehst sag auch Bescheid.


    //edit2: Und an dem stock ist was falsch, so ist es richtig:

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


    //edit3: Das auskommentiert dort oben, kannst du mit reinnehmen, musst du aber nicht.

    Einmal editiert, zuletzt von Frosty ()


  • Hab noch 10 Warnings teste es mal ^^
    //4 Hab nurncoh 6 Warnings trz. funktioniert es nicht er zeigt an das ich kein Leader bin obwohl ich R6 habe.


    Mit Freundlichen Grüßen

  • C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(255) : warning 225: unreachable code
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(257) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(255) : warning 204: symbol is assigned a value that is never used: "mms"
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(255) : warning 204: symbol is assigned a value that is never used: "reason"
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(307) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(687) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 2976 bytes
    Code size: 62208 bytes
    Data size: 31640 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=12186 cells (48744 bytes)
    Total requirements: 113208 bytes


    6 Warnings.



    Ersten 4 :


    public OnPlayerConnect(playerid)
    {
    new pfad[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
    if(dini_Exists(pfad))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    }
    return 0;
    new reason[55], mms[155]; //fehler?
    GetPlayerName(playerid,name,sizeof(name));
    dini_Get("/bans/ban.txt", "name", "banned"); // fehler ?
    if(dini_Isset("/bans/ban.txt", "name"))
    {
    new dialogstring[9999],header[18 + MAX_PLAYER_NAME],pID,bName[MAX_PLAYER_NAME],bgrund;
    GetPlayerName(playerid,bName,sizeof(bName));
    format(dialogstring,sizeof(dialogstring),"Guten Tag, %s ihr Account ist Gesperrt.\nSomit können sie nicht mehr mit ihm Spielen.\n\n\nAdministrator : %s\n\n\nGrund : %s\n\n\nBei Fragen bezüglichst der Sperrung wenden sie sich an den Administrator.",pID,bName,bgrund);
    format(header,sizeof(header),"Account Gesperrt %s",pID);
    ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Oke");
    }
    dini_Unset("/bans/ban.txt", "name");
    if(dini_Isset("/Bans/ban.txt", "name"))
    {
    new string[144], pid, msg[144];
    format(string, sizeof(string),"Herzlich Willkommen auf United Deathmatch, %s",name);
    SendClientMessage(playerid,GELB,string);
    if(IsPlayerAdmin(playerid))
    format(msg, sizeof(msg),"Willkommen %s, du hast dich als Admin Rank %i eingeloggt.",SpielerName(playerid),GetPVarInt(pid,"Adminlevel"));
    SendClientMessage(playerid,GELB,msg);
    return 1;
    }


    Letzten 2 :


    public OnPlayerSpawn(playerid)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerInterior(playerid,6);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);}
    }
    if(!isPlayerAnAdmin(playerid,1))//fehler laut PWN.
    {
    new pID, msg[144];
    format(msg, sizeof(msg),"Willkommen %s, du hast dich als Admin Rank %i eingeloggt.",SpielerName(playerid),GetPVarInt(pID,"Adminlevel"));
    SendClientMessage(playerid,BLAU,msg);
    return 1;
    }
    return 1;
    }


    Letzter Fehler [pwn]if(!strcmp(cmdtext,"/stats",true))
    {
    new dialogstring[50],header[18 + MAX_PLAYER_NAME],sName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sName,sizeof(sName));
    format(dialogstring,sizeof(dialogstring),"Willkommen %s,\n\nGeld: %i\nKills: %d",sName,GetPlayerMoney(playerid,"Geld"),GetPVarInt(playerid,"Kills"));//fehler laut PWN.
    format(header,sizeof(header),"Deine Statistiken %s",sName);
    ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Abbrechen");
    return 1;
    }{/pwn]

  • Oh man...das wird sich noch ewig ziehen, wenn das so weiter geht...


    Wenn du schnelle und direkte Hilfe willst, schick mir kurz deine TeamViewer Daten per PN, dann helf ich dir schnell und hier wird nicht so gespammt ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • 1. Code ist nicht erreichbar, meistens ne Klammer zu früh oder ein return zu früh-
    2. Du hast einen Parameter vergessen/zu viel
    3. Hast eine Variable deklariert, die nicht benutzt wird.
    4. Hastr eine Variable deklariert, die nicht benutzt wird
    5. Einrückungsfehler
    6. Zu viele / weniger Parameter


    Du solltest genug eigeninitative haben, um die warnings zu beheben

  • Oh man...das wird sich noch ewig ziehen, wenn das so weiter geht...


    Wenn du schnelle und direkte Hilfe willst, schick mir kurz deine TeamViewer Daten per PN, dann helf ich dir schnell und hier wird nicht so gespammt ;)


    mfg. :thumbup:



    Hab ich ja

    Ersetz den stock aus deinem Script einfach mit dem, den ich dir gerade geschickt habe.


    Hab ich
    Hat funktioniert.


    Und wie sette ich rank also erstmal einen Chat nur für die Fraktion das die leute die in der Gleichen Fraktion sind nur dies lesen können.
    2. Wie mache ich das da eigende ränge stehen die ich aussuchen kann.

    Einmal editiert, zuletzt von The Sensei ()


  • ocmd:f(playerid,params[])
    {
    new text[256];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Benutze: /f [Text]");
    if(GetPVarInt(playerid,"Fraktion") != 0)
    {
    for(new i=0;i<MAX_PLAYERS;i++) {
    if(GetPVarInt(i,"Fraktion") == GetPVarInt(playerid,"Fraktion")) {
    SendClientMessage(i,-1,text);
    }
    }
    }
    else return SendClientMessage(playerid,-1,"Du bist in keiner Fraktion!");
    return 1;
    }


    Die zweite Frage versteh' ich nicht ganz, meinst du, dass da ein Dialog ist, in welchem mehrere Ränge stehen (z.B. Praktikant, Auszubildender, Officer, Seargeant..) und der Leader dann einen aussuchen kann oder wie?

  • @Frosty:


    Es wäre wesentlich besser, wenn du den Befehl so schreiben würdest, zudem kannst du so Ränge machen:


    //Oben ins Script
    static const rang_name[][][] = {
    {"Azubi","Officer"}, //usw..(Fraktion 1)->LSPD
    {"Gangster","Hipster"} //usw..(Fraktion 2)->Gang oder sonst was du halt im Script hast
    }


    ocmd:f(playerid,params[]) {
    if(!params[0]) return SendClientMessage(playerid,-1,"Benutze: /f [Text]");
    if(!GetPVarInt(playerid,"Fraktion")) return SendClientMessage(playerid,-1,"Du bist in keiner Fraktion!");
    new string[144],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME),format(string,144,"* %s %s sagt: %s",rang_name[GetPVarInt(playerid,"Fraktion")-1][GetPVarInt(playerid,"Rang")-1],name,params);
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || GetPVarInt(i,"Fraktion") != GetPVarInt(playerid,"Fraktion")) continue;
    SendClientMessage(i,-1,string);
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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




  • Naja das mit dem Chat und das ich im Ränge geben kann


    //E hab 2 Error :


    MEIN CODE :
    static const rang_name[][][] = {
    {"Azubi","Streifenpolizist","Polizist","Ausbilder","Sondereinsatzkomando","Sondereinsatzkomando-Leiter"}, //usw..(Fraktion 1)->LSPD
    {"Azubi","Politesse","Abschlepper","Kontrolleur","Ausbilder","Ordnungsamt-Direktor"}
    {"Azubi","Hilfssanitäter","Sanitäter","Notartzt","Arzt","Chefarzt"}//Fehler oder eine Drüber Fehler
    {"Laufbrusche","Gangster","Obergangster","Drogen-Boss","Most Wanted"}
    {"Kaikei","Shingiin","Saiko-komon","Shateigashira","Wakagashira","Oyabun"} //usw..(Fraktion 2)->Gang oder sonst was du halt im Script hast
    };


    Einmal editiert, zuletzt von The Sensei ()

  • MEIN CODE :


    Das musst du so schreiben:


    static const rang_name[][][] = {
    {"Azubi","Streifenpolizist","Polizist","Ausbilder","Sondereinsatzkomando","Sondereinsatzkomando-Leiter"},
    {"Azubi","Politesse","Abschlepper","Kontrolleur","Ausbilder","Ordnungsamt-Direktor"},
    {"Azubi","Hilfssanitäter","Sanitäter","Notartzt","Arzt","Chefarzt"},
    {"Laufbrusche","Gangster","Obergangster","Drogen-Boss","Mafia Boss","Most Wanted"},
    {"Kaikei","Shingiin","Saiko-komon","Shateigashira","Wakagashira","Oyabun"}
    };


    mfg. :thumbup:

    ast2ufdyxkb1.png


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




  • ocmd:auf(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,1583.7000000,-1637.9000000,12.4000000);return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");//fehler ld. Pawn? Beide ^^
    MoveObject(tor,1583.7000000,-1637.9000000,12.4000000-10);
    return 1;
    }
    ocmd:zu(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,1583.7000000,-1637.9000000,12.4000000);return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");//fehler ld. Pawn beide ^^
    MoveObject(tor,1583.7000000,-1637.9000000,12.4000000);
    return 1;
    }
    Was ist falsch?

  • Das musst du so schreiben:


    ocmd:auf(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,1583.7000000,-1637.9000000,12.4000000) return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000-10);
    }
    ocmd:zu(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,1583.7000000,-1637.9000000,12.4000000) return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000);
    }


    Es kommt kein Semikolon [;] hinter eine Abfrage ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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



  • C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(293) : warning 225: unreachable code
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(295) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(380) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(380) : error 001: expected token: ")", but found "return"
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(381) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(385) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(385) : error 001: expected token: ")", but found "return"
    C:\Users\Patrick\Desktop\Server\gamemodes\IRP-City.pwn(386) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • ocmd:auf(playerid,params[]){
    if(!IsPlayerInRangeOfPoint(playerid,4,1583.7000000,-1637.9000000,12.4000000))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000-10);
    }
    ocmd:zu(playerid,params[]){
    if(!IsPlayerInRangeOfPoint(playerid,4,1583.7000000,-1637.9000000,12.4000000))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000);
    }
    Kaliber: Du hattest auch Fehler ;) Hinter der If-Abfrage müssen zwei ")" Klammern hin ;)

  • Kaliber: Du hattest auch Fehler Hinter der If-Abfrage müssen zwei ")" Klammern hin


    Hab auf den Rest Code nicht geschaut gehabt...


    Es muss so heißen du hast auch noch Fehler (der Speed bei MoveObject) :D


    ocmd:auf(playerid,params[]){
    if(!IsPlayerInRangeOfPoint(playerid,4.0,1583.7000000,-1637.9000000,12.4000000))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000-10,4.0);
    }
    ocmd:zu(playerid,params[]){
    if(!IsPlayerInRangeOfPoint(playerid,4.0,1583.7000000,-1637.9000000,12.4000000))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe des Tores.");
    return MoveObject(tor,1583.7000000,-1637.9000000,12.4000000,4.0);
    }


    mfg. :rolleyes:

    ast2ufdyxkb1.png


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


  • ocmd:f(playerid,params[]) {
    if(!params[0]) return SendClientMessage(playerid,-1,"Benutze: /f [Text]");
    if(!GetPVarInt(playerid,"Fraktion")) return SendClientMessage(playerid,-1,"Du bist in keiner Fraktion!");
    new string[144],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME),format(string,144,"* %s %s sagt: %s",rang_name[GetPVarInt(playerid,"Fraktion")-1][GetPVarInt(playerid,"Rang")-1],name,params);
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || GetPVarInt(i,"Fraktion") != GetPVarInt(playerid,"Fraktion")) continue;
    SendClientMessage(i,-1,string);
    }
    return 1;
    }
    Es funktioniert irgendwie nicht keine Ahnung warum da sthet nur Server unknow command.