Beiträge von Jeffry

    pawno/includes/ysi/y_hooks.


    Dort im internal Ordner?
    Und warum versuchst du einen Code in dem Pfad zu kompilieren??

    Zitat

    \pawno\include\YSI\y_hooks\impl.pwn


    Sicher, dass das so richtig ist was du vor hast?


    //Bis Haus[HausID][hMieter30] Also 30x mal... Geht es irgendwie leichter? Also schlauer?


    Ja, dafür darst du aber das Haus-Array mit enum nicht nutzen, sondern musst sowas machen:
    new HausMieter[MAX_HOUSES][30][MAX_PLAYER_NAME];


    Und dann:
    for(new i=0; i<30; i++) if(!strcmp(GetName(playerid), HausMieter[HausID][i], true)) return SendClientMessage(playerid, 0xFF0000FF, "[H-INFO] {FFFFFF}Du hast dich erfolgreich ausgemietet!");


    Im enum geht das nicht, da du keine 4 Dimensionen für Arrays nutzen kannst.

    Starte die pawno.exe aus dem /pawno/ Ordner, und öffne deinen Code über die "Öffnen" Funktion.
    Wenn das nicht geht, dann ist die Include wohl nicht in /pawno/includes/... drin, sondern vielleicht nur in dem /includes/ Ordner (der im Hauptordner), dort geht es nicht.

    if(LieferrantenSpunkcarBet(vehicleid) && !ispassenger)
    {
    if(GetPVarInt(playerid,"SprungDuty") == 0)
    {
    //SendClientMessage(playerid, COLOR_RED,"Du hast kein Schlüssel");
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht als Sprunk-Lieferrant im Dienst.");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }

    Du schreibst zwei mal in string2.


    Schreibe es aber so, das braucht weniger Variablen:
    new string[1024];
    format(string, sizeof(string), "{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",Sprung1Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung2Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung3Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung4Lager);
    format(string, sizeof(string), "%s{FFF000}Sprunk Getränke Automat: {FF2800}%d {FEFEFE}von {FF2800}100 {FEFEFE}Produkten\n",string, Sprung5Lager);
    ShowPlayerDialog(playerid,DIALOG_SPRUNKAUTOM,DIALOG_STYLE_LIST,"Hier siehst du alle Belieferungsorte", string,"Marker","Beenden");


    Kaliber: Hab ich gemerkt, genau im Funkloch :S

    Dann hast du einen anderen Rang als 0-9. Lass ihn dir mal ausgeben, dann siehst du im Server Log was du hast:
    stock GetRangName(rang)
    {
    printf("GetRangName: Rang: %d", rang);
    new rName[32];
    switch(rang)
    {
    case 0: rName = "Chief of Police";
    case 1: rName = "Deputy Chief";
    case 2: rName = "FBI Director";
    case 3: rName = "Deputy Director";
    case 4: rName = "Direktor des Ordnungsamtes";
    case 5: rName = "stellv. Direktor";
    case 6: rName = "Chef Arzt";
    case 7: rName = "stellv. Chefarzt";
    case 8: rName = "Präsident";
    case 9: rName = "Vizepräsiden";
    default: rName = "Unbekannt";
    }
    return rName;
    }

    Den Befehl so:
    if(strcmp(cmd, "/government", true) == 0 || strcmp(cmd, "/gov", true) == 0)
    {
    new sinmsg[145]; //Mehr wie 145 kann SendClientMessage nicht verarbeiten
    if(gTeam[playerid] != 2 && !IsACop(playerid) && !IsPlayerInFrac(playerid, 7) && !IsPlayerInFrac(playerid, 24) && !IsPlayerInFrac(playerid, 4)) return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht befugt.");
    if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid, COLOR_GREY, "Du benötigst mindestens Rang 9.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new text[128];
    format(text, sizeof(text), cmdtext[strlen(cmd)+1]);
    if(!strlen(text)) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gov(ernment) [Nachricht]");
    format(sinmsg, sizeof(sinmsg), "<< %s %s: %s >>", GetRangName(PlayerInfo[playerid][pRank]), sendername, text);
    SendClientMessageToAll(COLOR_DBLUE, sinmsg);
    return 1;
    }


    Und ganz unten im Gamemode:
    stock GetRangName(rang)
    {
    new rName[32];
    switch(rang)
    {
    case 0: rName = "Newbie";
    case 1: rName = "Beginner";
    case 2: rName = "Advanced";
    //...
    default: rName = "Unbekannt";
    }
    return rName;
    }

    Ah, sowas hast du da. Dann muss es so aussehen:
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    //======================================================================
    // Befehle
    //======================================================================
    if(strcmp("/mv", cmdtext, true) == 0)
    {
    static torStatus;
    if(!torStatus)
    {
    MoveObject(Gate, -2180.65527344,-209.78320312,32.00415039,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
    }
    else
    {
    MoveObject(Gate, -2180.65576172,-209.78392029,36.22919464,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
    }
    torStatus = !torStatus;
    return 1;
    }

    //======================================================================
    // Falschen Befehl abfangen
    //======================================================================
    new string[128];
    format(string,sizeof(string),""#SERVERTAG" : Der Befehl existiert nicht! %s (/hilfe)",cmdtext);
    SendClientMessage(playerid,WEISS,string);
    TextDrawShowForPlayer(playerid,InfoSign);
    format(string,sizeof(string),"~w~"#SERVERTAG" : Der Befehl existiert nicht!~n~%s (/hilfe)",cmdtext);
    PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],string);
    PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid,ServerSounds[13],0.0,0.0,0.0);
    return SetTimerEx("HideInfoBox",3000,0,"i",playerid);
    }

    Das wird so nicht klappen, das Tor wird nie zu gehen.
    Schreibe es so:
    if(strcmp("/mv", cmdtext, true) == 0)
    {
    static torStatus; //Static Variablen behalten ihren Wert
    if(!torStatus)
    {
    MoveObject(Gate, -2180.65527344,-209.78320312,32.00415039,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
    }
    else
    {
    MoveObject(Gate, -2180.65576172,-209.78392029,36.22919464,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
    }
    torStatus = !torStatus;
    return 1;
    }


    Die Errors kommen wohl, weil du es an einer falschen Stelle stehen hast.
    Du musst es bei OnPlayerCommandText einfügen, also so:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    //...Zeug...
    //...
    //...usw....

    //Ganz unten:
    if(strcmp("/mv", cmdtext, true) == 0)
    {
    static torStatus; //Static Variablen behalten ihren Wert
    if(!torStatus)
    {
    MoveObject(Gate, -2180.65527344,-209.78320312,32.00415039,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
    }
    else
    {
    MoveObject(Gate, -2180.65576172,-209.78392029,36.22919464,4);
    SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
    }
    torStatus = !torStatus;
    return 1;
    }

    //Als allerletztes:
    return 0;
    }

    Entweder du akzeptierst wie man dir hilft, oder du fragst erst gar nicht nach Hilfe in einem Forum. Ein Forum funktioniert nunmal so, wenn dir das nicht passt, dann musst du hier nicht nach Hilfe fragen.


    Nach deiner Aktion am Nachmittag ist es ohnehin fragwürdig dir überhaupt noch zu helfen, und jetzt kommst du so daher.
    Wenn du keine Lust dazu hast, findest du rechts oben ein rotes X.


    Ich werde nicht nach dem Code betteln. Entweder du postest ihn oder nicht. Falls nicht, dann bin ich hier raus.