Bankautomaten?

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
  • Guten Tag, wie kann ich mehrere Atms über einen Befehl ansprechen?:


    ocmd:ueberweisen(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10,1795.3726,-1882.6753,13.5725))return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    if(!IsPlayerInRangeOfPoint(playerid,10,1553.6999511719, -1671.4000244141, 13.199999809265)) return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    if(!IsPlayerInRangeOfPoint(playerid,10,1350.8000488281, -1759.1999511719, 13.199999809265)) return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    if(!IsPlayerInRangeOfPoint(playerid,10,2105.3999023438, -1807.5999755859, 13.199999809265))return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    new cash2;
    new pID;
    new string[128];
    new string2[128];
    if(sscanf(params,"ui",pID,cash2))return SendClientMessage(playerid,WEISS,"/ueberweisen [Name] [Summe]");
    if(cash2 > SpielerInfo[playerid][Konto])return SendClientMessage(playerid,ROT,"Du hast nicht soviel Geld auf der Bank!");
    SpielerInfo[playerid][Konto] -= cash2;
    format(string,sizeof(string),"Du hast %s %i$ überwiesen.",SpielerName(pID), cash2);
    SendClientMessage(playerid, WEISS, string);
    SpielerInfo[playerid][Konto] += cash2;
    format(string2,sizeof(string2),"%s hat dir %i$ überwiesen!", SpielerName(playerid), cash2);
    SendClientMessage(pID, WEISS, string2);
    return 1;
    }


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Guten Tag.
    Du kannst Mehrere Atm´s durch eine Eigene Funktion auslesen.
    Hier mal ein b.s.p:

    forward IsAtATM(playerid);
    public IsAtATM(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,x,y,z); <-- 2.0 Ist für die Entfernung vom (ATM)
    {
    return 1;
    }
    return 0;
    }

    Ich hoffe dir,reich dieser Kleine Schnipsel


    MFG
    ShiNuX

  • Jo, danke. - Sollte reichen, werds gleich testen, aber noch mal ne Frage bevor ich nochn Thema starte, meine Noobroller gehen nicht mehr, bzw kriege bei jedem Fahrzeug die Fehlermeldung.

    for(new i=0; i<sizeof(noobcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == noobcar[i])
    {
    if(GetPlayerScore(playerid) != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }
    }
    return 1;
    }


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Versuch es Mal so:

    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(noobcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == noobcar[i])
    {
    if(GetPlayerScore(playerid) != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du darfst dieses Fahrzeug nicht fahren!!");
    }
    }
    }
    }
    Also so Funktioniert es bei Mir im Script.
    Aber wies "GetPlayerScore"?


    MFG
    ShiNuX

  • PlayerScore, damit nur "Newbies" (lvl 1) die Roller fahren können.


    Meine ATMs gehen zwar, aber Geld wird nicht mehr vom Konto abgezogen. :s



    forward IsAtATM(playerid);
    public IsAtATM(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1795.3726,-1882.6753,13.5725))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1553.6999511719, -1671.4000244141, 13.199999809265))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,1350.8000488281, -1759.1999511719, 13.199999809265))
    {
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,2.0,2105.3999023438, -1807.5999755859, 13.199999809265))
    {
    return 1;
    }
    return 0;
    }


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Hallo.
    Poste mal Bitte den Befehl, für die Atms / Bank.
    Kleiner tipp:

    if(IsAtATM(playerid))
    Im Befehl einbauen.


    Machst du es Via Dialog Oder einfach Nur per Befehl?


    MFG
    ShiNuX

  • Einfach nur per Befehl.


    Überweisen Befehl:

    ocmd:ueberweisen(playerid,params[])
    {
    if(!IsAtATM(playerid))return SendClientMessage(playerid, ROT, "Du bist nicht an einem ATM!");
    new cash2;
    new pID;
    new string[128];
    new string2[128];
    if(sscanf(params,"ui",pID,cash2))return SendClientMessage(playerid,WEISS,"/ueberweisen [Name] [Summe]");
    if(cash2 > SpielerInfo[playerid][Konto])return SendClientMessage(playerid,ROT,"Du hast nicht soviel Geld auf der Bank!");
    SpielerInfo[playerid][Konto] -= cash2;
    format(string,sizeof(string),"Du hast %s %i$ überwiesen.",SpielerName(pID), cash2);
    SendClientMessage(playerid, WEISS, string);
    SpielerInfo[playerid][Konto] += cash2;
    format(string2,sizeof(string2),"%s hat dir %i$ überwiesen!", SpielerName(playerid), cash2);
    SendClientMessage(pID, WEISS, string2);
    return 1;
    }


    P.S: Das Problemen mit dem Roller besteht immer noch, und die Nachricht kommt 2x dass ich es nicht fahren darf, und bei jedem Auto, obwohl es nur bei Noobcar(i) also Roller kommen soll


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!