Ich habe ein paar Schwierigkeiten ein Bankssystem zu erstellen?
Ich möchte einfach nur folgendes erstellen man kann etwas einzahlen und wieder auszahlen , mehr nicht und das das geld dort speicher dafür sorg ich schon irgendwie
Ich hoffe Jemand kann mir helfen
Ich weiß überhaupt nicht wie ich das anstellen soll.
Erstellen eines Bankssystems
- BiGGian
- Geschlossen
- Erledigt
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
-
-
Zuerst suchst du dir den gewünschten Interior.
Z.B. die LS Bank.
Dann erstellst du dort ein PickUp oder überprüfst mit IsPlayerInRangeOfPoint, ob sich der Spieler in der Nähe des "Zahl-Punktes" befindet.
Wenn ja kannst du z.B. einen Dialog anzeigen lassen (DIALOG_STYLE_LIST), bei dem der Spieler auswählen kann, was er jetzt machen will (Einzahlen, Auszahlen, Kredit, etc.).
So, dann einfach noch das Geld speichern und gut ist. -
Jaja das verstehe ich schon !
Nur folgendes Problem! Ich weiß nicht wie ich es erstellen soll das man wo einzahlen kann das ist mein eigentliches Problem.if(strcmp(cmdtext,"/Einzahlen",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1481.5714,-1759.4701,17.5313))
{
ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Wie viel möchten sie einzahlen","Bestätigen","Abbrechen");
return 1;
}
}Das ist ja wohl alles klar nur wie erstelle ich sozusagen ein Bank also wo man einzahlen kann , ich kann mir nicht vorstellen wie das gehen sollte.
-
#define DIALOG_Einzahlen (2)
#define COLOR_GREY (0xAFAFAFAA)
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/Einzahlen",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1481.5714,-1759.4701,17.5313))
{
ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Wie viel möchten sie einzahlen","Bestätigen","Abbrechen");
return 1;
}
}
return 0;
}public OnDialogResponse(playerid,dialogid,listitem,response,inputtext[])
{
if(dialogid == DIALOG_Einzahlen)
{
if(!response) return true; //Spieler hat auf "Abbrechen" gedrückt.
new geld=strval(inputtext);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Ihre Eingabe ist nicht korrekt, bitte geben Sie eine gültige Zahl ein!\n\nWieviel möchten Sie einzahlen?","Bestätigen","Zurück");
if(GetPlayerMoney(playerid)<geld) return ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Sie haben nicht soviel Geld mit ihnen, bitte geben Sie einen realistischen Betrag an!\n\nWieviel möchten Sie einzahlen?","Bestätigen","Zurück");
if(geld<0||geld>99999999) return ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Bitte gehen Sie mit dem Betrag nicht niedriger als 1$ oder höher als 99999999$!\n\nWieviel möchten Sie einzahlen?","Bestätigen","Zurück");
SetPVarInt(playerid,"SpielerBank",GetPVarInt(playerid,"SpielerBank")+geld);
format(string,sizeof(string),"Sie haben %d$ in Ihr Bankkonto eingezahlt. SALDO: %d$",geld,GetPVarInt(playerid,"SpielerBank"));
return SendClientMessage(playerid,0xFFAA00FF,FormatString);
}
return 1;
} -
Das wars und das wird auch zu Hundert Prozent klappen?
Und eine Frage wie Zahle ich jetzt das Geld aus? -
Einfach negativ abziehen von der Variable und natürlich bei der einen Abfrage, anstatt du das Geld Bar überprüfst, überprüfst du dann das Geld auf dem Konto, ob das was er abheben will auch wirklich auf dem Bankkonto vorhanden ist.
-
#define DIALOG_Auszahlen 3
#define COLOR_GREY (0xAFAFAFAA)
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/Auszahlen",true)==0)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 1481.5714,-1759.4701,17.5313))
{
ShowPlayerDialog(playerid,DIALOG_Auszahlen,DIALOG_STYLE_INPUT,"Auszahlen","Wie viel möchten sie Auszahlen","Bestätigen","Abbrechen");
return 1;
}
}
return 0;
}public OnDialogResponse(playerid,dialogid,listitem,response,inputtext[])
{
if(dialogid == DIALOG_Auszahlen)
{
if(!response) return true; //Spieler hat auf "Abbrechen" gedrückt.
new geld=strval(inputtext);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_Auszahlen,DIALOG_STYLE_INPUT,"Ihre Eingabe ist nicht korrekt, bitte geben Sie eine gültige Zahl ein!\n\nWieviel möchten Sie eAuszahlen?","Bestätigen","Zurück");
if(GetPlayerMoney(playerid)<geld) return ShowPlayerDialog(playerid,DIALOG_Auszahlen,DIALOG_STYLE_INPUT,"Sie haben nicht soviel Geld mit ihnen, bitte geben Sie einen realistischen Betrag an!\n\nWieviel möchten Sie Auszahlen?","Bestätigen","Zurück");
if(geld<0||geld>99999999) return ShowPlayerDialog(playerid,DIALOG_Auszahlen,DIALOG_STYLE_INPUT,"Bitte gehen Sie mit dem Betrag nicht niedriger als 1$ oder höher als 99999999$!\n\nWieviel möchten Sie Auszahlen?","Bestätigen","Zurück");
SetPVarInt(playerid,"SpielerBank",GetPVarInt(playerid,"SpielerBank")-geld);
format(string,sizeof(string),"Sie haben %d$ in Ihr Bankkonto eingezahlt. SALDO: %d$",geld,GetPVarInt(playerid,"SpielerBank"));
return SendClientMessage(playerid,0xFFAA00FF,FormatString);
}
return 1;
}So kann das noch nicht richtig sein , ich habe es schonmal versuch umzuschreiben also sprich man muss doch auch dann dem Spieler das Geld geben oder abziehen und Gutschreiben das hab ich aber bisher noch nicht gesehen
-
Mit
SetPVarInt(playerid,"SpielerBank",GetPVarInt(playerid,"SpielerBank")-geld);
wir das Geld abgezogen.
Mit
SetPVarInt(playerid,"SpielerBank",GetPVarInt(playerid,"SpielerBank")+geld);
wird das Geld eingezahlt.
-
Also hab ich es Richtig umgeschrieben ?
-
Diese Zeile hast du vergessen umzuändern:
if(GetPVarInt(playerid,"SpielerBank")<geld) return ShowPlayerDialog(playerid,DIALOG_Einzahlen,DIALOG_STYLE_INPUT,"Sie haben nicht soviel Geld auf Ihrem Bankkonto, bitte geben Sie einen realistischen Betrag an!\n\nWieviel möchten Sie einzahlen?","Bestätigen","Zurück");
-
breadfish.de
Hat das Thema geschlossen.