Ich will bei jeder Tätigung bei der Bank das die PIN Abfrage kommt
Habe es derzeit so:
if(dialogid==DIALOG_PINABFRAGE)
{
if(response==0)
{
//BUTTON ABBRECHEN
}
if(response==1)
{
}
}
Wie soll ich weiter machen?
MfG
Ich will bei jeder Tätigung bei der Bank das die PIN Abfrage kommt
Habe es derzeit so:
if(dialogid==DIALOG_PINABFRAGE)
{
if(response==0)
{
//BUTTON ABBRECHEN
}
if(response==1)
{
}
}
Wie soll ich weiter machen?
MfG
Hi
Du solltest die Funktion ShowPlayerDialog benutzen:
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
Dort gibt es 4 Dialogarten:
http://wiki.sa-mp.com/wiki/Dialog_Styles
Für dich heisst das also DIALOG_STYLE_INPUT:
ShowPlayerDialog(playerid, DIAGID, DIALOG_STYLE_INPUT, "PIN Eingabe", "Bitte geben Sie ihren PIN ein", "Weiter", "Abbrechen");
Gruss
Alles anzeigenHi
Du solltest die Funktion ShowPlayerDialog benutzen:
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
Dort gibt es 4 Dialogarten:
http://wiki.sa-mp.com/wiki/Dialog_Styles
Gruss
Sorry wenn ich mich nicht richtig ausgedrückt habe, ich weiß nicht wie ich den strval via PVarInt abfrage.
MfG
Unter OnDialogResponse hast Du als Parameter das Array (String) inputtext[], das entspricht deinem Inputtext. Zum Vergleich einfach dne String in einen Integer konvertieren und dann mit dme PVar vergleichen:
new pin_value = strval(inputtext);
if(GetPVarInt(playerid, "myPIN") == pin_value)
{
}
Ich würde dir aber empfehlen, deinen PIN als String zu speichern, denn aus einer 0234 wird bei einem Integer 234, was ja nicht mehr deinem ursprünglichen String entspricht.
Edit: Antwort überarbeitet, um Missverständnis vorzubeugen
Edit 2: Hier noch ein kleines Tutorial über PVars:
[ SCRIPTING ] Per-Player Variablen-System (PVars)
So habe es fast fertig nur eine kleine Frage die ich mir selbst nicht erklären kann...
Immer wenn ich abbrechen oder die ESC Taste drücke so das der Dialog
sich schließen soll öffnet er sich wieder automatisch?
Noch 1 Error, den ich irgendwie nicht beheben kann :s
if(dialogid==DIALOG_AUSZAHLEN)
{
if(response==0)
{
SendClientMessage(playerid,Hellblau,"Du hast den Auszahlungsvorgang abgebrochen.");
}
if(response==1)
{
new str[128];
if(GetPVarInt(playerid,"Bankgeld") < strval(inputtext))return SendClientMessage(playerid,Hellrot,"Du hast nicht genügend Geld auf deinem Konto.");
GivePlayerMoney(playerid,strval(inputtext));
SetPVarInt(playerid,"Bankgeld") -= strval(inputtext); //Error Zeile
format(str,sizeof(str),"Sie haben %d$ von ihrem Konto abgehoben",strval(inputtext));
SendClientMessage(playerid,Hellrot,str);
}
}
Errors: C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1360) : warning 202: number of arguments does not match definition
C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1360) : error 022: must be lvalue (non-constant)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Derzeit haben wir noch 1 Error, so sieht der Code aus:
PAWN Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(dialogid==DIALOG_AUSZAHLEN)
{
if(response==0)
{
SendClientMessage(playerid,Hellblau,"Du hast den Auszahlungsvorgang abgebrochen.");
}
if(response==1)
{
new str[128];
if(GetPVarInt(playerid,"Bankgeld") < strval(inputtext))return SendClientMessage(playerid,Hellrot,"Du hast nicht genügend Geld auf deinem Konto.");
GivePlayerMoney(playerid,strval(inputtext));
SetPVarInt(playerid,"Bankgeld", -= strval(inputtext); //Error Zeile
format(str,sizeof(str),"Sie haben %d$ von ihrem Konto abgehoben",strval(inputtext));
SendClientMessage(playerid,Hellrot,str);
}
}
Hier der Error:
PAWN Quelltext
1
C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1360) : error 029: invalid expression, assumed zero
SetPVarInt(playerid,"Bankgeld", -strval(inputtext));
So!
Was ist hier falsch? O.o
if(dialogid==DIALOG_EINZAHLEN)
{
if(response==0)
{
SendClientMessage(playerid,Hellblau,"Du hast den Einzahlungsvorgang abgebrochen.");
}
if(response==1)
{
new str[128];
if(GetPVarInt(playerid,"Bankgeld") < strval(inputtext))return SendClientMessage(playerid,Hellrot,"Du hast nicht genügend Geld auf deinem Konto.");
GivePlayerMoney(playerid,-strval(inputtext));
SetPVarInt(playerid,"Bankgeld", +strval(inputtext); //Error Zeile
format(str,sizeof(str),"Sie haben %d$ auf ihr Konto eingezahlt.",strval(inputtext));
SendClientMessage(playerid,Hellrot,str);
}
}
C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1415) : error 029: invalid expression, assumed zero
Dir fehlt eine Klammer
Dir fehlt eine Klammer
Danach habe ich schon geguckt, überall wo es geht Klammern gesetzt O.o
Error bleibt..
MfG
SetPVarInt(playerid,"Bankgeld", GetPVarInt(playerid, "Bankgeld") + strval(inputtext));
So gehts
SetPVarInt(playerid,"Bankgeld", +strval(inputtext); //Error Zeile
Da öffnest du 2 Klammern, schließt jedoch nur 1!
Richtig wäre es so:
SetPVarInt(playerid,"Bankgeld", GetPVarInt(playerid, "Bankgeld") +strval(inputtext));
E1: Über mir ist schneller
Nein eben nicht.
Error bleibt trotzdem.
Mein geposteter Code funktioniert.
//edit vorposter hat editiert