Problem mit Abfrage ..

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
  • Abend,


    Ich habe gerade voll das Problem, und zwar.
    Soll abgefragt werden ob der Spieler in einer Fraktion ist, ist der Spieler in Fraktion 1(LSPD).
    Soll ihn der LSPD Dialog angezeigt werden, so. Problem dabei ist nur das er überhaubt nichts Aufruft, warum ?!


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    for(new frakid=1;frakid<MAX_FRAKTION;frakid++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,FrakInfo[frakid][BankX],FrakInfo[frakid][BankY],FrakInfo[frakid][BankZ]))
    {
    switch(PlayerDaten[playerid][pFraktion])
    {
    case 1:
    {
    ShowPlayerDialog(playerid, DIALOG_LSPDBANK,DIALOG_STYLE_LIST,"LSPD Kasse","Geld Einzahlen\nGeld Abheben\nKontostand","Okay","Abbrechen");
    }
    case 2:
    {


    }
    case 3:
    {
    ShowPlayerDialog(playerid, DIALOG_GSFBANK,DIALOG_STYLE_LIST,"Fraktionsbank der Grove Street","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nHeroin Importieren\nHeroin Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    }
    case 4:
    {
    ShowPlayerDialog(playerid, DIALOG_YAKUZABANK,DIALOG_STYLE_LIST,"Yakuza Bank","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nLSD Importieren\nLSD Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    }
    }
    }
    }
    }



    Hoffe ihr könnt mir da weiterhelfen :(

  • Bist du auch an der richtigen Position und in der richtigen Fraktion?
    Debug dir den Code mal, was wird geprintet?


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    print("Key erkannt");
    for(new frakid=1;frakid<MAX_FRAKTION;frakid++)
    {
    printf("checking frak = %d", frakid);
    if(IsPlayerInRangeOfPoint(playerid,2.0,FrakInfo[frakid][BankX],FrakInfo[frakid][BankY],FrakInfo[frakid][BankZ]))
    {
    printf("In range @ %d -> case %d", frakid, PlayerDaten[playerid][pFraktion]);
    switch(PlayerDaten[playerid][pFraktion])
    {
    case 1:
    {
    ShowPlayerDialog(playerid, DIALOG_LSPDBANK,DIALOG_STYLE_LIST,"LSPD Kasse","Geld Einzahlen\nGeld Abheben\nKontostand","Okay","Abbrechen");
    }
    case 2:
    {


    }
    case 3:
    {
    ShowPlayerDialog(playerid, DIALOG_GSFBANK,DIALOG_STYLE_LIST,"Fraktionsbank der Grove Street","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nHeroin Importieren\nHeroin Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    }
    case 4:
    {
    ShowPlayerDialog(playerid, DIALOG_YAKUZABANK,DIALOG_STYLE_LIST,"Yakuza Bank","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nLSD Importieren\nLSD Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    }
    }
    }
    }
    }



  • So, hier das wird alles geprintet:


    [22:57:50] Key erkannt
    [22:57:50] checking frak = 1
    [22:57:50] checking frak = 2
    [22:57:50] checking frak = 3
    [22:57:50] checking frak = 4
    [22:57:50] checking frak = 5
    [22:57:50] checking frak = 6
    [22:57:50] checking frak = 7
    [22:57:50] checking frak = 8
    [22:57:50] checking frak = 9

  • Dann bist du offensichtlich nicht in der Nähe der angegebenen Koordinaten ;)

    Definitiv doch.


    ocmd:port(playerid)
    {
    SetPlayerPos(playerid, 233.485595, 125.759597, 1003.218811);
    SetPlayerFacingAngle(playerid, 270);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid, 0);
    return 1;
    }



    Das sind die richtigen Koordinaten.

  • Dann sind die Koordinaten falsch im Enum. Denn dein Debug sagt, dass du DEFINITIV nicht dort bist, wo du für das Script sein musst.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Dann sind die Koordinaten falsch im Enum. Denn dein Debug sagt, dass du DEFINITIV nicht dort bist, wo du für das Script sein musst.

    Die sind Definitiv nicht Falsch 8|
    In der Datei stehen sie auch richtig drin, also .. nö ich wüsste nicht woran es liegen könnte? ?(

  • printf("checking frak = %d", frakid);
    zu:
    printf("checking frak = %d", frakid);
    printf("Frak Bank: %0.2f / %0.2f / %0.2f" ,FrakInfo[frakid][BankX],FrakInfo[frakid][BankY],FrakInfo[frakid][BankZ]);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x,y,z);
    printf("Pos: %0.2f / %0.2f / %0.2f" ,x,y,z);


    Dann siehst du die Positionen und kannst es selbst prüfen.

  • Wenn du doch offenbar weißt, wo der Fehler nicht liegt, warum suchst du dir dann Hilfe hier im Forum?
    Dein IsPlayerInRangeOf If-Clause schlägt nicht an. Das kann nur den Grund haben, dass du eben NICHT dort stehst, wo du zu stehen hast.
    Aber da du das ja offenbar nicht wahr haben willst, wünsche ich noch viel Spaß beim Fehler suchen.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Wenn du doch offenbar weißt, wo der Fehler nicht liegt, warum suchst du dir dann Hilfe hier im Forum?
    Dein IsPlayerInRangeOf If-Clause schlägt nicht an. Das kann nur den Grund haben, dass du eben NICHT dort stehst, wo du zu stehen hast.
    Aber da du das ja offenbar nicht wahr haben willst, wünsche ich noch viel Spaß beim Fehler suchen.


    [23:18:57] Key erkannt
    [23:18:57] checking frak = 1
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 2
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 3
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 4
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 5
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 6
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 7
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 8
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21
    [23:18:57] checking frak = 9
    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00
    [23:18:57] Pos: 233.43 / 125.64 / 1003.21

    Einmal editiert, zuletzt von Equ ()

  • Willst du mich jetzt verarschen?


    [23:18:57] Frak Bank: 0.00 / 0.00 / 0.00




    Sieht das für dich richtig aus? Da kann ich doch nur noch den Kopf schütteln.
    Naja, du schaffst das schon, da bin ich mir sicher ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'


  • Hoppela, gut ich schüttel auch mal meinen Kopf ^^.
    Ich Trottel hab mich da wohl verlesen :wacko:
    Ja, gut die Koords werden also nicht richtig ausgelesen aber wieso?