Sirenen Problem

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
  • Hai Brotfische,


    Ich habe ein problem mit der sirene sie geht ingame nicht


    if(strcmp(cmdtext,"/sirene",true)==0)
    {
    if(PlayerInfo[playerid][pMember] != 1 || PlayerInfo[playerid][pLeader] != 1 || PlayerInfo[playerid][pMember] != 3 || PlayerInfo[playerid][pLeader] != 3 || PlayerInfo[playerid][pMember] != 22 || PlayerInfo[playerid][pLeader] != 22)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keiner Staatsfraktion!");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(sirenean[vid] == false)
    {
    ShowPlayerDialog(playerid,DIALOG_SIRENEAN,DIALOG_STYLE_MSGBOX,"Polizei Sirene","Möchtest du eine Sirene an dieses Fahrzeug anbauen ?","Ja","Nein");
    }
    else if(sirenean[vid] == true)
    {
    ShowPlayerDialog(playerid,DIALOG_SIRENEAUS,DIALOG_STYLE_MSGBOX,"Polizei Sirene","Möchtest du die Sirene dieses Fahrzeuges abbauen ?","Ja","Nein");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Fahrzeug!");
    }
    return 1;
    }


    aber ingame geht sie nicht weiss wer wieso??


    Mfg

  • if(dialogid== DIALOG_SIRENEAN)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    new vid = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    sirene[vid] = CreateObject(18646,x,y,z,0,0,0,100);
    AttachObjectToVehicle(sirene[vid],vid,-0.5, -0.2, 0.8, 2.0, 2.0, 3.0);
    sirenean[vid] = true;
    SendClientMessage(playerid,0xFF0000,"Du hast die Sirene angebaut!");
    }
    }
    if(dialogid== DIALOG_SIRENEAUS)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    new vid = GetPlayerVehicleID(playerid);
    DestroyObject(sirene[vid]);
    sirenean[vid] =false;
    SendClientMessage(playerid,0xFF0000,"Du hast die Sirene abgebaut!");
    }
    }


    Mfg

    2 Mal editiert, zuletzt von 'VaniC<~ () aus folgendem Grund: /E:\ Eingefügt

  • mach das zu dem:




    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22)



  • Das Problem liegt hier ^^


    GetPlayerPos(playerid,x,y,z);


    mach das mal zu:


    GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • ..


    Versuch ma unter


    ShowPlayerDialog(playerid,DIALOG_SIRENEAN,DIALOG_STYLE_MSGBOX,"Polizei Sirene","Möchtest du eine Sirene an dieses Fahrzeug anbauen ?","Ja","Nein");
    return 1; //<- jeweils bei den 2 Dialogen


    Und unter

    SendClientMessage(playerid,0xFF0000,"Du hast die Sirene angebaut!");
    return 1; //<- this

  • Was genau steht immernoch dort?


    Wo geht es nicht weiter wenn du in einer Staatsfraktion bist,
    wo geht es nicht weiter wenn du nicht in einer Staatsfraktion bist?


    Als Tipp könnte ich dir sagen, probier mal diverse 'Debug-Methoden' - z.B. bei jedem if() ein print auszugeben.
    Dann weißt du, dass es bis dorthin läuft.
    Schreib in die if()-Abfragen Ausgaben rein, nummerier sie am besten durch und nenn sie nicht alle gleich.
    Dann mach dir kurz Gedanken was du erwartest.
    ''Wenn ich Cop bin, erwarte ich die, die, die und die Ausgabe, und nach der 4. Ausgabe die Sirene''
    Dann kannst du zumindest eingrenzen wo der Fehler liegt.


    Habe wenig Erfahrung mit Pawn, dafür umso mehr in C. Da es syntaktisch gleich mit Pawn ist, sollte es ja so machbar sein wie ich mir vorstelle.

  • oder liegt es hier dran


    if(strcmp("/autoverkaufen", cmdtext, true, 10) == 0)
    {
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    GivePlayerMoney(playerid, PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPreis]);
    Dtc_Carlock[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = 0;
    Dtc_UnLockCar(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    DestroyObject(sirene[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]]);
    sirenean[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]] = false;//wegen dieser sirene
    DestroyVehicle(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]);
    new string3[32];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Autos/%s%d.dtcar", playername3,Dtc_PlayerKey[playerid]);
    fremove(string3);
    Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]] = 0;
    SendClientMessage(playerid, COLOR_YELLOW, "Fahrzeug erfolgreich verkauft, Hälfte des Kaufpreises wird wurde dir wieder gegeben!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du besitzt Kein Fahrzeug!");
    return 1;
    }
    return 1;
    }