Beiträge von ZeroTheHero

    Was genau meinst du?
    Also das sich jeder PD'ler gegenseitig auf der Minimap sieht?


    Ja, das meine ich



    Funktioniert leider nicht :/


    Könnte es daran liegen (unter OnGamemodeInit)
    ShowPlayerMarkers(0);

    Hallo!


    Ich versuche derzeit ein "PDGps" zu scripten. Dies soll die Polizisten gegenseitig auf der Map markieren. Ich komme allerdings nicht dahinter, wie ich das machen soll. Vielleicht kann mir jemand helfen.


    Mfg!

    Ok, dann mach mal:
    format(string, sizeof(string), "%s%s || %i Schuss",string,GetWeaponNameEx(sInfo[playerid][weapons][i]), sInfo[playerid][ammo][i]);
    zu:
    format(string, sizeof(string), "%s%s || %i Schuss",string,"Test", sInfo[playerid][ammo][i]);


    Zeigt es dir dann etwas an?


    Nope, ändert nichts

    Wie hast du "weapons" in sInfo deklariert (im enum)?
    Hast du eine mehrzeilige Meldung mit vielen Zahlen im Compiler?


    weapons ist im Enum so definiert:
    weapons[11]


    Nein, ich bekomme keinen komischen Code im Kompiler.


    GetWeaponNameEx sieht so aus:

    stock GetWeaponNameEx(weaponid)
    {
    new weapon[40], len = sizeof(weapon);
    switch(weaponid)
    {
    case 0: return strcat(weapon, "Keine Waffe", len);
    case 1: return strcat(weapon, "Schlagring", len);
    case 2: return strcat(weapon, "Golfschläger", len);
    case 3: return strcat(weapon, "Schlagstock", len);
    case 4: return strcat(weapon, "Messer", len);
    case 5: return strcat(weapon, "Baseball Schläger", len);
    case 6: return strcat(weapon, "Schaufel", len);
    case 7: return strcat(weapon, "Billiard Kö", len);
    case 8: return strcat(weapon, "Katana", len);
    case 9: return strcat(weapon, "Kettensäge", len);
    case 10: return strcat(weapon, "Lila Dildo", len);
    case 11: return strcat(weapon, "Dildo", len);
    case 12: return strcat(weapon, "Vibrator", len);
    case 13: return strcat(weapon, "Silberner Vibrator", len);
    case 14: return strcat(weapon, "Blumenstrauß", len);
    case 15: return strcat(weapon, "Gehstock", len);
    case 16: return strcat(weapon, "Granate", len);
    case 17: return strcat(weapon, "Tränen Gas", len);
    case 18: return strcat(weapon, "Molotov Cocktail", len);
    case 22: return strcat(weapon, "Pistole (9mm)", len);
    case 23: return strcat(weapon, "Silenced Pistole (9mm)", len);
    case 24: return strcat(weapon, "Desert Eagle", len);
    case 25: return strcat(weapon, "Shotgun", len);
    case 26: return strcat(weapon, "Abgesägte Shotgun", len);
    case 27: return strcat(weapon, "Combat Shotgun", len);
    case 28: return strcat(weapon, "Uzi", len);
    case 29: return strcat(weapon, "MP5", len);
    case 30: return strcat(weapon, "AK-47", len);
    case 31: return strcat(weapon, "M4", len);
    case 32: return strcat(weapon, "Tec-9", len);
    case 33: return strcat(weapon, "Country Rifle", len);
    case 34: return strcat(weapon, "Sniper Rifle", len);
    case 35: return strcat(weapon, "RPG", len);
    case 36: return strcat(weapon, "Wäresuch-RPG", len);
    case 37: return strcat(weapon, "Flammenwerfer", len);
    case 38: return strcat(weapon, "Minigun", len);
    case 39: return strcat(weapon, "Rucksack-Bombe", len);
    case 40: return strcat(weapon, "Zünder", len);
    case 41: return strcat(weapon, "Pefferspray", len);
    case 42: return strcat(weapon, "Feuerlöscher", len);
    case 43: return strcat(weapon, "Kamera", len);
    case 44: return strcat(weapon, "Night Vision Goggles", len);
    case 45: return strcat(weapon, "Thermal Goggles", len);
    case 46: return strcat(weapon, "Fallschirm", len);
    default: return strcat(weapon, "Keine Waffe", len);
    }
    return 1;
    }


    den Befehl habe ich mittlerweile abgeändert, er sieht nun so aus:
    CMD:search(playerid, params[])
    {
    if(sInfo[playerid][frak] == 1)
    {
    if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein, um diesen Befehl zu nutzen!");
    new uID;
    if(sscanf(params, "u", uID)) return SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Verwende:"cBlue" /search [Spielername/ID]");
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "[Info] Der Spieler ist nicht connected!");
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(uID, X, Y, Z);
    if(!IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) return SendClientMessage(playerid, COLOR_RED, "[Info] Du bist nicht in der Nähe des Spielers!");
    new string[1500];
    for(new i=0; i<12; i++)
    {
    format(string, sizeof(string), "%s%s || %i Schuss",string,GetWeaponNameEx(sInfo[playerid][weapons][i]), sInfo[playerid][ammo][i]);
    }
    new string2[128];
    format(string, sizeof(string), ""cBlue"[SAPD]"cWhite" Durchsuchung: %s", GetName(uID));
    ShowPlayerDialog(playerid, DIALOG_SEARCH, DIALOG_STYLE_MSGBOX, string2, string, "Schliessen", "");
    return 1;
    }
    else
    {
    return 0;
    }
    }

    Hallo und zwar habe ich folgendes Problem:
    Wenn ich den Befehl eingeben kommt "Befehl nicht gefunden".
    Ich habe den Fehler bereits debuggt, der Fehler liegt irgendwo hinter der 5 aber ich kann mir leider nicht vorstellen, wo er sein soll, vielleicht kann mir ja einer von euch helfen :)


    MfG!
    CMD:search(playerid, params[])
    {
    if(sInfo[playerid][frak] == 1)
    {
    if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein, um diesen Befehl zu nutzen!");
    new uID;
    SendClientMessage(playerid, COLOR_WHITE, "1");
    if(sscanf(params, "u", uID)) return SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Verwende:"cBlue" /search [Spielername/ID]");
    SendClientMessage(playerid, COLOR_WHITE, "2");
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_RED, "[Info] Der Spieler ist nicht connected!");
    SendClientMessage(playerid, COLOR_WHITE, "3");
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(uID, X, Y, Z);
    SendClientMessage(playerid, COLOR_WHITE, "4");
    if(!IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z)) return SendClientMessage(playerid, COLOR_RED, "[Info] Du bist nicht in der Nähe des Spielers!");
    SendClientMessage(playerid, COLOR_WHITE, "5");
    new string[1500], gunname[32];
    for(new i=0; i<12; i++)
    {
    GetWeaponNameEx(sInfo[playerid][weapons][i], gunname);
    format(string, sizeof(string), ""cWhite"%s%s || %i Schuss\n",string,gunname,sInfo[playerid][ammo][i]);
    }
    SendClientMessage(playerid, COLOR_WHITE, "6");
    new string2[128];
    format(string, sizeof(string), ""cBlue"[SAPD]"cWhite" Durchsuchung: %s", GetName(uID));
    SendClientMessage(playerid, COLOR_WHITE, "7");
    ShowPlayerDialog(playerid, DIALOG_SEARCH, DIALOG_STYLE_MSGBOX, string2, string, "Schliessen", "");
    SendClientMessage(playerid, COLOR_WHITE, "8");
    return 1;
    }
    else
    {
    return 0;
    }
    }


    //Edit Rechtsschreibefehl
    Jeffry:

    Ok, dann mach das mit den Prints und poste dann wieder hier. Nur so (oder mit dem crashdetect Plugin) kannst du genau erkennen an welcher Zeile der Fehler ist. ;)


    Danke!
    Habe mit diesen nützlichen Tipps den Fehler gefunden und behoben!

    Die Nachricht gibt es in dem Befehl gar nicht. :huh:


    Hast du das mit den Prints gemacht? Wenn ja, was kommt da raus und wie sieht der Befehl dann mit den ganzen prints aus?


    Huch, was laber ich denn, ich meinte die Nachricht "Du erhältst für das Behandeln..."
    Das mit den Prints mach ich sobald ich wieder am PC bin (wahrscheinlich erst morgen)


    Kommt denn das Unknown Command auch, wenn du nicht in Fraktion 2 bist und den Befehl verwendest?


    Nein, es kommt immer nach dem "Du hast... wiederbelebt"

    Der Befehl funktioniert komplett es werden auch alle Nachrichten angezeigt, die Befehl nicht gefunden Nachricht kommt zusätzlich.
    Und der Spieler kommt nicht an die richtige Position sondern an den Zivi Spawn


    Jeffry:

    Hallo, ich habe der Zeit ein Problem mit meinem /revive Befehl, der Spieler wird nicht an der gewünschten Position gespawnt und es kommt immer "Server unknown" command, ich poste einfach mal den Code



    CMD:revive(playerid, params[])
    {
    if(sInfo[playerid][frak] == 2)
    {
    if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein um diesen Befehl zu nutzen.");
    if(GetNearest_Death(playerid, 8.0) == -1) return SendClientMessage(playerid, COLOR_RED, "[Info] Es ist kein Toter in deiner Nähe!");
    new target = GetNearest_Death(playerid, 8.0);
    if(target == playerid) return 1;
    KillTimer(PlayerDeath[target][timer]);
    DestroyDynamicPickup(PlayerDeath[target][dpickupid]);
    sInfo[target][gestorben] = 0;
    sInfo[target][revived] = 0;
    TogglePlayerSpectating(target, 0);
    SetCameraBehindPlayer(target);
    new money2=200, value, string[128];
    value = random(99);
    money2 += value;
    format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
    SendClientMessage(target, COLOR_BLUE, string);
    format(string, sizeof(string), "[Info] Du erhälst für das Behandeln von %s %i€",GetName(target), money2-100);
    SendClientMessage(playerid, COLOR_BLUE, string);
    sInfo[target][money] -= money2;
    sInfo[playerid][money] += money2-100;
    SetPlayerMoney(target);
    SetPlayerMoney(playerid);
    for(new j=0; j<sizeof(PlayerDeath); j++)
    {
    PlayerDeath[target][deathInfo:j] = 0;
    }
    }
    else
    {
    return SendClientMessage(playerid, COLOR_RED, "[Info] Du darfst diesen Befehl nicht nutzen!");
    }
    return 1;
    }


    Vielen dank im vor raus!
    MfG!


    Habe es überall raus genommen, die Kamerafahrt funktioniert nun auch. Allerdings spawnt man immernoch am Spawn


    Aktueller Code


    public KHTimer(playerid)
    {
    TogglePlayerSpectating(playerid, 0);
    DestroyDynamicPickup(KrankenPickup[playerid]);
    SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
    SetPlayerFacingAngle(playerid,180.5842);
    new money2=300, value, string[128];
    value = random(99);
    money2 += value;
    format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
    SendClientMessage(playerid, COLOR_BLUE, string);
    sInfo[playerid][money] -= money2;
    SetPlayerMoney(playerid);
    SetCameraBehindPlayer(playerid);
    sInfo[playerid][gestorben] =0;
    return 1;
    }

    Aktueller Code
    public OnPlayerDeath(playerid, killerid, reason)
    {
    TogglePlayerSpectating(playerid, 1);
    InterpolateCameraPos(playerid, 1726.174072, -1268.656860, 31.427850, 1848.518188, -1249.270507, 30.470912, 180000);
    InterpolateCameraLookAt(playerid, 1727.962158, -1264.103759, 30.392429, 1844.484863, -1246.447753, 29.596525, 180000);
    SetPlayerHealth(playerid, 100.0);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    KrankenPickup[playerid]=CreateDynamicPickup(1254, 1, X, Y, Z);
    sInfo[playerid][gestorben] = 1;
    for(new i=0; i<10; i++)
    {
    SendClientMessage(playerid, COLOR_WHITE, " ");
    }
    KrankenTimer[playerid]=SetTimerEx("KHTimer", 180000, 0, "i", playerid);
    SendClientMessage(playerid, COLOR_BLUE, "[Info] Die Behandlung wird ca. 3 Minuten dauern!");
    return 1;
    }


    //Edit Problem behoben /close

    Hallo!


    Ich habe folgendes Problem:
    Ich möchte, dass man ins Krankenhaus kommt wenn man stirbt, da soll dann eine Kamerafahrt sein und danach soll man vor dem Krankenhaus gespawnt werden.
    Das ganze funktioniert aber nicht richtig.
    Wenn man stirbt, beginnt keine Kamera fahrt und man wird am standart Spawn gespawnt.
    Außerdem soll ein Pickup erstellt werden, dass wieder gelöscht werden Soll, wenn der Spieler lebt, das wird dann aber nicht mehr gelöscht. Behoben


    Code


    //OnPlayerDeath
    SetPlayerHealth(playerid, 100.0);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    KrankenPickup[playerid]=CreateDynamicPickup(1254, 1, X, Y, Z);
    sInfo[playerid][gestorben] = 1;
    for(new i=0; i<250; i++)
    {
    SendClientMessage(playerid, COLOR_WHITE, " ");
    }
    SpawnPlayer(playerid);
    TogglePlayerSpectating(playerid, 1);
    InterpolateCameraPos(playerid, 1726.174072, -1268.656860, 31.427850, 1848.518188, -1249.270507, 30.470912, 180000);
    InterpolateCameraLookAt(playerid, 1727.962158, -1264.103759, 30.392429, 1844.484863, -1246.447753, 29.596525, 180000);
    KrankenTimer[playerid]=SetTimerEx("KHTimer", 180000, 0, "i", playerid);
    SendClientMessage(playerid, COLOR_BLUE, "[Info] Die Behandlung wird ca. 3 Minuten dauern!");

    Code
    public KHTimer(playerid)
    {
    SpawnPlayer(playerid);
    new money2=300, value, string[128];
    value = random(99);
    money2 += value;
    format(string, sizeof(string), "[Info] Die Behandlung hat dich %i€ gekostet!", money2);
    SendClientMessage(playerid, COLOR_BLUE, string);
    sInfo[playerid][money] -= money2;
    SetPlayerMoney(playerid);
    sInfo[playerid][gestorben] =0;
    return 1;
    }

    Code
    //OnPlayerSpawn
    if(sInfo[playerid][gestorben] == 0)
    {
    switch(sInfo[playerid][spawnchange])
    {
    case 0:
    {
    SetPlayerPos(playerid, 475.2139,-1768.3831,14.1287);
    SetPlayerFacingAngle(playerid, 139.3004);
    SetCameraBehindPlayer(playerid);
    }
    }
    StopAudioStreamForPlayer(playerid);
    TogglePlayerControllable(playerid, 0);
    SetTimerEx("Login", 888*3, 0, "i", playerid);
    TogglePlayerSpectating(playerid, 0);
    }
    else
    {
    SetCameraBehindPlayer(playerid);
    DestroyDynamicPickup(KrankenPickup[playerid]);
    SetPlayerPos(playerid, 1786.5051,-1230.0046,14.0820);
    SetPlayerFacingAngle(playerid,180.5842);
    }


    //Ein Problem Behoben

    Wirklich deine allererste Map?
    Sieht an sich Okay aus, eniges könnte man verbessern - z.B. den schrecklichen Parkplatz.


    Ja, dafür habe ich auch am längsten gebraucht und war auch bis ans Ende nicht damit zu frieden, ich denke allerdings, dass Änderungen folgen werden.


    @TVPikachu: Gibt es schon, hinter dem Tor ^^

    Hallo!


    Ich versuche derzeit den Motor über ein 3 Sekündiges Halten der Taste "W" zu starten, allerdings komme ich nicht ganz dahinter wie das funktionieren sollte.
    Nun meine Frage: Wäre jemand so freundlich und würde mir einen Denkanstoß geben?


    Mit freundlichen Grüßen! :)