bank system funktioniert, aber seit der ortsanfrage nichtmehr

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
  • Hey Community,


    wieder eine Hürde bis mein selfemade aus der beta kann ;)


    diesmal spinnt das Banksystem.


    Das hat alles bestens funktioniert, ohne probleme.


    ABER: Als es funktioniert hat es noch überall funktioniert. dass heist keine playertopoint abfrage, und keine inrangeofpoint abfrage.


    ist ja keine arbeit die abfrage ein zu bauen.


    So hab die if(IsPlayerInRangeOfPoint(...), abfrage reingemacht, und zack, seit dem funktioniert nichts mehr. es passiert rein garnichts. es kommt nicht die Nachricht "Dieses Command gibt es nicht", aber es passiert auch sonst nichts, als ob ich garnichts gemach thätte.


    kann mir jemand helfen?


    hier der quellcode


    dcmd_abheben(playerid,params[])
    {



    if(IsPlayerInRangeOfPoint(playerid,5.0,1177.4164,-1323.9993,14.0873))


    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,rot,"Nutze: /abheben [Betrag]");
    }
    new
    betrag=strval(params);

    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"/Spieler/%s.ini",name);

    new guthaben = dini_Int(string,"Bank");


    if(betrag<=guthaben)
    {


    GivePlayerMoney(playerid,betrag);

    new total = guthaben-betrag;


    new popel[64];

    format(popel,sizeof(popel),"%i",total);

    dini_Set(string,"Bank",popel);

    new sStr[64];

    format(sStr,sizeof(sStr),"Geld Abgehoben (Betrag: %i) (Verb. Guthaben: %i)",betrag,total);

    SendClientMessage(playerid,grün,sStr);
    }
    else SendClientMessage(playerid,rot,"Du hast nicht genug Guthaben");

    }


    return 1;
    }


    danke im vorraus


    mfg shorty123 :)

  • Da hilft fürs erste wohl nur debuggen...


    dcmd_abheben(playerid,params[])
    {


    new Float:x;
    new Float:y;
    new Float:z;


    printf("Spielerpos: %f %f %f",x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,5.0,1177.4164,-1323.9993,14.0873))


    {
    print("Punkt2");


    if(!strlen(params))
    {
    return SendClientMessage(playerid,rot,"Nutze: /abheben [Betrag]");
    }
    new
    betrag=strval(params);

    new name[MAX_PLAYER_NAME],string[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"/Spieler/%s.ini",name);

    new guthaben = dini_Int(string,"Bank");


    if(betrag<=guthaben)
    {


    GivePlayerMoney(playerid,betrag);

    new total = guthaben-betrag;


    new popel[64];

    format(popel,sizeof(popel),"%i",total);

    dini_Set(string,"Bank",popel);

    new sStr[64];

    format(sStr,sizeof(sStr),"Geld Abgehoben (Betrag: %i) (Verb. Guthaben: %i)",betrag,total);

    SendClientMessage(playerid,grün,sStr);
    }
    else SendClientMessage(playerid,rot,"Du hast nicht genug Guthaben");

    }


    return 1;
    }


    Fürs mal nochmal aus und gib mal aus, was ausgegeben wird ;)

  • kannst du mir nur fürs verständnis kurz erklären was die eingefügten zeilen


    printf("Spielerpos: %f %f %f",x,y,z);


    print("Punkt2");



    ich teste das gleich mal


    EDIT: wenn ich das richtig verstehe gibt mir das die position aus die der spieler in der bank hat?


    EDIT2: der gibt mir nur 0.00000, 0.0000 , 0.0000 aus


    ausserdem funkt auf dem server jetzt so gut wie nichts mehr

    Einmal editiert, zuletzt von shorty123 ()

  • Erik, was ist denn los??
    Das kann so doch überhaupt nicht klappen:


    new Float:x;
    new Float:y;
    new Float:z;


    printf("Spielerpos: %f %f %f",x,y,z);



    zu:
    new Float:x;
    new Float:y;
    new Float:z;
    GetPlayerPos(playerid,x,y,z);
    printf("Spielerpos: %f %f %f",x,y,z);



    MfG Firer

  • mach ma n else unter der rangeofpoint klammer

    ein else return SendClientMessage(playerid,rot,"Du bist nicht am/in der ATM/Bank!");
    MfG

  • hab ich vorhin gemacht. jetzt kommt jedes mal die nachricht dass ich nicht in der bank bin. hab via /save die koords geholt und mit dem getplayerpos aber immer das selbe


    stimmt da eventuel etwas nicht mit interrior oder so etwas?