Könnt ihr das mal checken?

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
  • Hallo Com,
    könnt ihr euch mal den code durchgucken pls. Habe Errors:


    new Float:ATM[7][3] = {
    {1553.800049, -1666.099976, 13.200000},
    {1468.000000, -1770.000000, 18.400000},
    {1191.400024, -916.700012, 42.799999},
    {1367.500000, -1283.199951, 13.200000},
    {472.399994, -1759.699951, 5.200000},
    {755.099976, -1368.800049, 13.200000},
    {2051.699951, -1897.599976, 13.200000}
    };


    if(strcmp(cmdtext,"/atm",true) == 0)
    {
    for(new i = 0; i > sizeof(ATM); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,ATM[i][0]))
    {
    ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlung\nAuszahlung\nKontostand\nÜberweisung","Wählen","Beenden");
    }
    }
    return 1;
    }


    C:\Users\AddiLikeMc\Desktop\Projekte\samp03dsvr_R2_win32\gamemodes\GRP.pwn(483) : warning 202: number of arguments does not match definition
    C:\Users\AddiLikeMc\Desktop\Projekte\samp03dsvr_R2_win32\gamemodes\GRP.pwn(483) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.

  • for(new i = 0; i > sizeof(ATM); i++)


    Ersetzen in
    for(new i = 0; i < sizeof(ATM); i++)



    Du hast das Zeichen bei der Bedingung falsch. Es läuft nur ab wenn das i größer ist als die Anzahl der ATMs, da du es aber mit 0 deklarierst, funktioniert es nicht.


    Ist mal ein Fehler :)


    Funktioniert aber trotzdem noch nicht.


    Hab mal die Werte eingesetzt und mit den Werten funktioniert es. Hmm wahrscheinlich kannst du es so nicht machen :wacko:

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • if(strcmp(cmdtext,"/atm",true) == 0)
    {
    for(new i = 0; i < sizeof(ATM); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,ATM[i][0], ATM[i][1], ATM[i][2]))
    {
    ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlung\nAuszahlung\nKontostand\nÜberweisung","Wählen","Beenden");
    }
    }
    return 1;
    }

  • muss aber glaube ich so sein und wie du das sagst checke ich das nicht


    Ok dann versuche ich es dir genauer zu erklären. Gehen wir mal die Schleife durch.


    Ein Integer namens i wird mit dem Wert 0 gesetzt. Wenn i größer ist als die Anzahl der ATMs die es gibt, geht die Schleife weiter zu den If-Bedingungen.
    Wir haben 7 ATMs.


    if ( 0 > 7) {
    TEST
    } else {
    ERROR
    }


    So sieht es bei dir aus. Also das Vergleichzeichen anders machen. Dann kommt es zu den If-Bedingungen. Weil ich glaube nicht das 0 größer ist als 7.


    EDIT:


    Mein Vorposter hat die richtige Lösung gepostet. Sowas peinliches, das ich darauf nicht gekommen bin :wacko:

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • define atm1 1553.800049, -1666.099976, 13.200000
    define atm2 ....
    usw.
    if
    (IsPlayerInRangeOfPoint(playerid,5,atm1, atm2))

  • EIn Beispeil aus einem anderem Gamemode, sag doch später gleich "Sende mit mal bitte ein Beispiel.", denn Caps benutzen bringt auch nichts.



    public IsAtMatsPoint(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1304.9191894531, -868.4765625, 38.578125) || IsPlayerInRangeOfPoint(playerid,2,837.4228515625, -1853.130859375, 7.4184875488281))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,1773.2185058594, 623.013671875, 9.8203125) || IsPlayerInRangeOfPoint(playerid,2,-1866.5205078125, -369.6220703125, 24.18691444397))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,-2714.9013671875, -314.28067016602, 6.1726102828979) || IsPlayerInRangeOfPoint(playerid,2,2792.5080566406, 948.24243164063, 9.75))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,2526.3420410156, -1664.1121826172, 14.16627407074) || IsPlayerInRangeOfPoint(playerid,2,1969.6020507813, -1175.3498535156, 19.030742645264))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,2530.0261230469, -1034.9831542969, 68.585594177246) || IsPlayerInRangeOfPoint(playerid,2,1801.2572021484, -2124.57421875, 12.546875))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,689.41101074219, -1271.7835693359, 12.559151649475) || IsPlayerInRangeOfPoint(playerid,2,1991.0443,-1117.8545,26.7737))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2,854.4107,-1630.7738,12.7312))
    {
    return 1;
    }
    }
    return 0;
    }