@Keslo geht leider immer noch nicht kann wieder /getwaren 10 und /getwaren 291 machen aber bei 291 bekomme ich keine nachricht wv Waren für wv $ ich gekauft habe
Beiträge von KinGRaPTiiC
-
-
@Douq Wenn ich das einfüge kann ich mir die waren sogar immer wieder holen also /getwaren 300 immer und immer wieder
-
Keslo Danke hat geklappt,Nur habe ich leider jetzt immernoch ein Problem undzwar sieht der Befehl mittlerweile so aus:
ocmd:getwaren(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid,10.0,1894.9570,-2631.3894,13.5469))return SendClientMessage(playerid,ROT,"Du bist nicht in der Nähe vom Punkt.");
new Waren;
if(sscanf(params, "d", Waren))return SendClientMessage(playerid,GELB,"Tippe /getwaren [Anzahl an Waren]");
new string [128];
if(Waren < 0 || Waren > 300) { SendClientMessage(playerid, ROT, "* Die Waren dürfen nicht unter 0 und über 300 sein."); return 1; }
if(Waren && PilotWaren[playerid] < 300)
{
new preis = Waren*50;
PilotWaren[playerid] += Waren;
format(string,sizeof(string), "Du hast dir %d Waren für %d$ gekauft!",Waren,preis);
SendClientMessage(playerid,GREEN,string);
SetPlayerCheckpoint(playerid,-1243.9681,-95.5739,14.1484,5.5);
SendClientMessage(playerid,GELB,"Fliege nun zum SF Airport um deine Waren für hochwertigere Waren umzutauschen um mehr Profit zu erlangen!");
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Die Maximale Kapazität beträgt 300.");
}
return 1;
}Er soll nicht über 300 Waren kaufen können aber wenn er jetzt z.B 10 Waren kauft und dann nocheinmal 291 hat er ja 301 wie könnte ich das Beheben?
-
@Keslo also beträgt der Preis pro Ware 500$?
/edit
Wie bestimme ich eine Kapazität z.B das er Max. 300 Kaufen kann?
-
-
Hey Breadfishler,
Ich hätte da eine Frage undzwar bin ich dabei ein Pilot job zu erstellen ein Befehl davon sieht zurzeit so aus
ocmd:getwaren(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,10.0,1894.9570,-2631.3894,13.5469,1.6058);
new Waren;
if(sscanf(params, "u", Waren))return SendClientMessage(playerid,GELB,"Tippe /getwaren [Anzahl an Waren]");
new string [128];
format(string,sizeof(string), "Du hast dir %d Waren für %d$ gekauft!");
SendClientMessage(playerid,GREEN,string);
SetPlayerCheckpoint(playerid,-1243.9681,-95.5739,14.1484,48.6373,5.5);
SendClientMessage(playerid,GELB,"Fliege nun zum SF Airport um deine Waren für hochwertigere Waren umzutauschen um mehr Profit zu erlangen!");
return 1;
}nun möchte ich das er aber z.B nur 10 von 250 Waren kauft wie lege ich z.B den Preis pro Ware an?
-
@Keslo Vielen Dank m8
-
//Enums
enum Spielerdaten
{
Adminlevel,
Suplvl,
level,
Fraktion,
Alter,
Geschlecht,
Skin,
slogin,
Rang,
PaydayZeit,
Bargeld,
Bankguthaben,
Festgeld,
FestgeldTime,
Gangjailticket,
Bauerticket};
stock SpielerSpeichern(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Suplvl",sSpieler[playerid][Suplvl]);
dini_IntSet(Spieler,"level",sSpieler[playerid][level]);
dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
dini_IntSet(Spieler,"Alter",sSpieler[playerid][Alter]);
dini_IntSet(Spieler,"Geschlecht",sSpieler[playerid][Geschlecht]);
dini_IntSet(Spieler,"Skin",sSpieler[playerid][Skin]);
dini_IntSet(Spieler,"PaydayZeit",sSpieler[playerid][PaydayZeit]);
dini_IntSet(Spieler,"Gangjailticket",sSpieler[playerid][Gangjailticket]);
dini_IntSet(Spieler,"Bauerticket",sSpieler[playerid][Bauerticket]);
dini_IntSet(Spieler,"Bankguthaben",sSpieler[playerid][Bankguthaben]);
dini_IntSet(Spieler,"Bargeld",sSpieler[playerid][Bargeld]);
dini_IntSet(Spieler,"FestgeldTime",sSpieler[playerid][FestgeldTime]);}
return 1;
}stock SpielerLaden(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SetPlayerScore(playerid,dini_Int(Spieler,"level"));
sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
sSpieler[playerid][level] = dini_Int(Spieler,"level");
sSpieler[playerid][Rang] = dini_Int(Spieler,"Rang");
sSpieler[playerid][Suplvl] = dini_Int(Spieler,"Suplvl");
sSpieler[playerid][Alter] = dini_Int(Spieler,"Alter");
sSpieler[playerid][Geschlecht] = dini_Int(Spieler,"Geschlecht");
sSpieler[playerid][Skin] = dini_Int(Spieler,"Skin");
sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
sSpieler[playerid][PaydayZeit] = dini_Int(Spieler,"PaydayZeit");
sSpieler[playerid][Gangjailticket] = dini_Int(Spieler,"Gangjailticket");
sSpieler[playerid][Bauerticket] = dini_Int(Spieler,"Bauerticket");
sSpieler[playerid][Bankguthaben] = dini_Int(Spieler,"Bankguthaben");
sSpieler[playerid][FestgeldTime] = dini_Int(Spieler,"FestgeldTime");
sSpieler[playerid][Bargeld] = dini_Int(Spieler,"Bargeld");
sSpieler[playerid][slogin] = 1;
GivePlayerMoney(playerid,sSpieler[playerid][Bargeld]);
}
return 1;
} -
Hey Breadfishler!
Ich bekomme einfach das Geld nicht richtig Geladen in der Dini datei kann ich mir Geld setten aber es wird beim Server restart z.B wieder von der Dini ausgelsen trotz Geld ausgegeben oder Hinzugefügt wie bekomme ich das hin?
Vielen Dank im Vorraus!
-
Hey mein accept Befehl sieht mittlerweile so aus:
if(strcmp(cmd, "/accept", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new x_nr[256],string[128];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, HELLBLAU, "_____________________________");
SendClientMessage(playerid, ROT, "FEHLER: /accept [Accept-Name]");
SendClientMessage(playerid, GRAU, "** Accept-Namen **: invite");
return 1;
}
if(strcmp(x_nr,"invite",true) == 0)
{
if(GetPVarInt(playerid, "inv_fraktid") == 0)return SendClientMessage(playerid,ROT,"Du wurdest in keine Fraktion eingeladen!");
new fID = GetPVarInt(playerid, "inv_fraktid");
sSpieler[playerid][Fraktion] = fID;
sSpieler[playerid][Rang] = 1;
format(string,sizeof(string), "Du bist der Fraktion %s beigetreten.",fInfo[fID][f_name]);
SendClientMessage(playerid, GELB, string);
format(string,sizeof(string), "%s ist der Fraktion beigetreten.",SpielerName(playerid));
SendClientMessage(GetPVarInt(playerid, "inv_inviter"),ROT, string); //3276
}
}
return 1;
}aber wenn ich eine Person einlade kann er immer wieder joinen und somit den Chat der playerid der den Befehl genutzt hat vollspammen wie kann ich das Beheben?
-
Erstmal vielen dank für die Antwort aber wenn ich in dieser Zeile ein Warning:
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : warning 211: possibly unintended assignmentmit diesem code:
if(sSpieler[playerid][Rang] = 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3250wenn ich es so mache:
if(sSpieler[playerid][Rang] < 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3250bekomme ich das:
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : warning 211: possibly unintended assignment
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : warning 215: expression has no effect
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : error 001: expected token: ";", but found ")"
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
/edit habs Selbst gemerkt -.- :D:
if(sSpieler[playerid][Rang] == 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3250
zu:
if(sSpieler[playerid][Rang] == 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3250 -
Nabend Breadfishler,
Ich bin es mal wieder mit einem "kleinen" Problem, und zwar bin ich dabei den /accept invite und /uninvite Befehl zu machen die sehen zurzeit so aus:
ocmd:invite(playerid,params[])
{
if(IstSpielerInFraktion(playerid, 0))return SendClientMessage(playerid,ROT,"Du bist in keiner Fraktion!");
if(sSpieler[playerid][Rang] = 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3233
new pID, fID;
fID = sSpieler[playerid][Fraktion];
if(sscanf(params, "u", pID))return SendClientMessage(playerid,GELB,"Tippe: /invite [ID]");
if(!IstSpielerInFraktion(pID, 0))return SendClientMessage(playerid,ROT,"Spieler ist bereits in einer Fraktion!");
new string[128];
format(string,sizeof(string), "%s hat dich in die Fraktion %s eingeladen.", SpielerName(playerid), fInfo[fID][f_name]);
SendClientMessage(pID,GELB,string);
SendClientMessage(pID,GELB,"Wenn du der Fraktion beitreten willst benutze /accept invite");
SetPVarInt(pID, "inv_fraktid", fID);
SetPVarInt(pID, "inv_inviter", playerid);
return 1;
}ocmd:uninvite(playerid,params[])
{
if(IstSpielerInFraktion(playerid, 0))return SendClientMessage(playerid,ROT,"Du bist in keiner Fraktion!");
if(sSpieler[playerid][Rang] = 12)return SendClientMessage(playerid,ROT,"Du bist nicht der Leader dieser Fraktion!"); //3250
new pID;
if(sscanf(params, "u", pID))return SendClientMessage(playerid,GELB,"Tippe: /uninvite [ID]");
if(!IstSpielerInFraktion(pID, sSpieler[playerid][Fraktion]))return SendClientMessage(playerid,ROT,"Spieler ist nicht in dieser Fraktion!");
new string[128];
format(string,sizeof(string),"Du wurdest von %s aus der Fraktion geworfen!",SpielerName(playerid));
SendClientMessage(pID, ROT, string);
format(string,sizeof(string),"Du hast %s aus der Fraktion geworfen!",SpielerName(pID));
SendClientMessage(playerid,GELB,string);
return 1;
}ocmd:accept(playerid, params[])
{
new item[64];
if(sscanf(params,"s[64]",item))return SendClientMessage(playerid,GELB, "INFO: /accept [invite]");
if(!strcmp(item, "invite", false))
{
if(GetPVarInt(playerid, "inv_fraktid") == 0)return SendClientMessage(playerid,ROT,"Du wurdest in keine Fraktion eingeladen!");
new fID = GetPVarInt(playerid, "inv_fraktid");
sSpieler[playerid][Fraktion] = fID;
sSpieler[playerid][Rang] = 1;
new string[128];
format(string,sizeof(string), "Du bist der Fraktion %s beigetreten.",fInfo[fID][f_name]);
SendClientMessage(playerid, GELB, string);
format(string,sizeof(string), "%s ist der Fraktion beigetreten.",SpielerName(playerid));
SendClientMessage(GetPVarInt(playerid, "inv_inviter"), string); //3276
}
return 1;
}Ich habe schon mehrere Sachen ausprobiert aber da ich keine Ahnung mehr habe was ich machen soll frage ich nun einfach hier sind die Errors:
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3233) : warning 211: possibly unintended assignment
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3250) : warning 211: possibly unintended assignment
C:\Users\User\Desktop\SERVER\gamemodes\NGR.pwn(3276) : error 035: argument type mismatch (argument 2)Vielen Dank im Vorraus!
-
-
@Jeffry werde es nun einfach weiterhin als FS drin lassen wie gut das ich ein Backup von meinem Script gemacht habe aufjedenfall was ich fragen wollte wie lasse ich dann jetzt z.B mein Kontostand richtig anzeigen da es der /stats Befehl ja nicht in dem Filterscript drin ist
-
Das ist mir auch klar das ich alles einzeln einfügen sollte und nicht einfach STRG+C und STRG+V
-
Leider immernoch nicht am funktionieren
/edit wenn es halt garnicht klappt das FS irgendwie ins richtige Script einzubauen werde ich es halt als FS lassen aber werde dann etwas probleme mit meinem /stats befehl haben ;D
-
als FS funktioniert es ja aber nachdem ich versucht habe es in mein Script einzufügen klappte das Compilen nicht mehr
-
Nabend Breadfishler,
Ich habe vorhin versucht ein Bank FS einzufügen danach habe ich beim Compilen einen Fehler bekommen undzwar Pawn Compiler Library funktioniert nicht mehr
aber unten kam das es halt Compiled wurde habe versucht den Server zu starten und diesen Fehler bekommen:
[19:50:42] Script[gamemodes/NGR.amx]: Run time error 17: "Invalid/unsupported P-code file format"
[19:50:42] Failed to load 'gamemodes/NGR.amx' script.
[19:50:42] Number of vehicle models: 0Hier der Filterscript code der wurde dort leider nicht richtig eingereiht habe es aber selbst versucht habe es auch auf Deutsch umgeschrieben:
#include <a_samp>
#include <Dini>
#define PlayerFile "Bank/%s.ini"
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
enum PLAYER_MAIN {
Deposit,
};
new pInfo[MAX_PLAYERS][PLAYER_MAIN];
new GetinBank;
new GetoutBank;
new chosenpid;
public OnFilterScriptInit()
{
print("\n**************");
print("*EBank Loaded*");
print("**************\n");
GetinBank = CreatePickup(1318, 1, 1462.4066,-1011.0635,26.8438, 0);
GetoutBank = CreatePickup(1318, 1, 2304.675537, -16.035686, 26.742187, 0);
SetTimer("CallConnect",1,0);
return 1;
}
forward CallConnect(playerid);
public CallConnect(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
OnPlayerConnect(i);
}
return 1;
}
public OnPlayerConnect(playerid)
{
new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
if(!dini_Exists(file)) {
dini_Create(file);
dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
}
else if(dini_Exists(file))
{
pInfo[playerid][Deposit] = dini_Int(file,"Deposit");
}
return 1;
}public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid,pickupid)
{
if(pickupid == GetinBank)
{
SetPlayerPos(playerid,2315.952880,-1.618174,26.742187);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid,COLOR_YELLOW,"Tippe: /bank");
SetCameraBehindPlayer(playerid);
return 0;
}
if(pickupid == GetoutBank)
{
SetPlayerPos(playerid,1462.4008,-1014.7931,26.4418);
SetPlayerFacingAngle(playerid,180);
SetCameraBehindPlayer(playerid);
return 0;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1122) //deposit
{
new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
else if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du besitzt nicht soviel Geld!");
else if(!IsNumeric(inputtext))
{
new string[128];
format(string,sizeof(string),"Dein Aktueller Kontostand : %d\nGib den betrag ein den zu Einzahlen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Einzahlen",string,"Einzahlen","Zurück");
SendClientMessage(playerid,COLOR_RED,"Bitte benutze Zahlen!");
}
else
{
GivePlayerMoney(playerid,-strval(inputtext));
pInfo[playerid][Deposit] += strval(inputtext);
new string[128];
format(string,sizeof(string),"Du hast %d$ eingezahlt",strval(inputtext));
SendClientMessage(playerid,COLOR_YELLOW,string);
dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
new string2[128]; format(string2,128,"Dein neuer Kontostand beträgt : %d$",pInfo[playerid][Deposit]);
SendClientMessage(playerid,COLOR_YELLOW,string2);
ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
}
return 1;
}
if(dialogid == 1123) //withdraw
{
new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nAuszahlen","Auswählen","Abbrechen");
else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht soviel Geld auf deinem Konto");
else if(!IsNumeric(inputtext))
{
new string[128];
format(string,sizeof(string),"Dein Kontostand beträgt :%d\nGib den betrag ein den du Auszahlen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Auszahlen",string,"Auszahlen","Zurück");
SendClientMessage(playerid,COLOR_RED,"Bitte benutze Zahlen!");
}
else
{
GivePlayerMoney(playerid,strval(inputtext));
pInfo[playerid][Deposit] -= strval(inputtext);
new string[128];
format(string,sizeof(string),"Du hast %d$ ausgezahlt",strval(inputtext));
SendClientMessage(playerid,COLOR_YELLOW,string);
dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
new string2[128]; format(string2,128,"Dein neuer Kontostand beträgt : %d$",pInfo[playerid][Deposit]);
SendClientMessage(playerid,COLOR_YELLOW,string2);
ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
}
return 1;
}
if(dialogid == 1124)
{
if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
else
{
ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
}
return 1;
}
if(dialogid == 1130) //transfer (choose playerid)
{
if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
else if(strval(inputtext) == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht Online!");
else if(!IsNumeric(inputtext))
{
new string[128];
format(string,sizeof(string),"Dein Kontostand beträgt :%d$\nGib die ID des Spielers ein an den du Überweisen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Überweisen",string,"Weiter","Zurück");
SendClientMessage(playerid,COLOR_RED,"Bitte benutze die ID und nicht den Namen");
}
else
{
chosenpid = strval(inputtext);
new string[128];
format(string,sizeof(string),"Kontostand : %d\nAusgewählte Spieler ID : %d\nGebe nun den Betrag ein den du Überweisen willst",pInfo[playerid][Deposit],chosenpid);
ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Überweisen",string,"Überweisen","Zurück");
}
return 1;
}
if(dialogid == 1131) //transfer (choose amount)
{
new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,sizeof(Name)); format(file,sizeof(file),PlayerFile,Name);
if(!response) return ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
else if(strval(inputtext) > pInfo[playerid][Deposit]) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht soviel Geld auf deinem Konto um es zu Überweisen!");
else if(!IsNumeric(inputtext))
{
new string[128];
format(string,sizeof(string),"Ausgewählte Spieler ID : %d\nGebe nun den Betrag ein den du Überweisen willst",chosenpid);
ShowPlayerDialog(playerid,1131,DIALOG_STYLE_INPUT,"Überweisen",string,"Überweisen","Zurück");
SendClientMessage(playerid,COLOR_RED,"Bitte benutze Zahlen");
}
else
{
pInfo[playerid][Deposit] -= strval(inputtext);
pInfo[chosenpid][Deposit] += strval(inputtext);
new string[128];
format(string,sizeof(string),"Du hast erfolgreich %d$ an die ID %d Überwiesen",strval(inputtext),chosenpid);
SendClientMessage(playerid,COLOR_YELLOW,string);
dini_IntSet(file,"Deposit",pInfo[playerid][Deposit]);
new string2[128]; format(string2,128,"Dein neuer Kontostand beträgt : %d$",pInfo[playerid][Deposit]);
SendClientMessage(playerid,COLOR_YELLOW,string2);
new string3[128]; format(string3,128,"ID : %d Überwies %d$ auf dein Kontostand",playerid,strval(inputtext));
SendClientMessage(chosenpid,COLOR_YELLOW,string3);
new string4[128]; format(string4,128,"Dein neuer Kontostand beträgt : %d$",pInfo[chosenpid][Deposit]);
SendClientMessage(chosenpid,COLOR_YELLOW,string4);
ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
}
return 1;
}
if(dialogid == 1125 && response) // /bank
{
switch(listitem)
{
case 0:
{
new string[128];
format(string,sizeof(string),"Dein Kontostand beträgt : %d$\nGib den Betrag ein den du einzahlen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1122,DIALOG_STYLE_INPUT,"Einzahlen",string,"Einzahlen","Zurück");}
case 1:
{
new string[128];
format(string,sizeof(string),"Dein aktueller Kontostand beträgt :%d\nGib den betrag ein den du auszahlen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1123,DIALOG_STYLE_INPUT,"Auszahlen",string,"Auszahlen","Zurück");
}
case 2:
{
new string[128];
format(string,sizeof(string),"Dein Kontostand beträgt %d$",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1124,DIALOG_STYLE_MSGBOX,"Kontostand",string,"Okay","Zurück");
}
case 3:
{
new string[128];
format(string,sizeof(string),"Dein Kontostand beträgt :%d$\nGib die ID des Spielers ein an dem du Überweisen willst :",pInfo[playerid][Deposit]);
ShowPlayerDialog(playerid,1130,DIALOG_STYLE_INPUT,"Überweisen",string,"Weiter","Zurück");
}
}
}
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(bank,4,cmdtext);
dcmd(banktele,8,cmdtext);
return 0;
}
dcmd_bank(playerid,params[])
{
#pragma unused params
if(!IsPlayerInRangeOfPoint(playerid,15.0,2313,-4, 27)) return SendClientMessage(playerid,COLOR_RED,"You Have To Be In The Bank");
else
{
ShowPlayerDialog(playerid,1125,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAuszahlen\nKontostand\nÜberweisen","Auswählen","Abbrechen");
}
return 1;
}
dcmd_banktele(playerid,params[])
{
#pragma unused params
SetPlayerPos(playerid,1481.049804,-1745.565673,13.667258);
SendClientMessage(playerid,COLOR_YELLOW,"Willommen in der Bank");
SetPlayerFacingAngle(playerid,180.0);
SetCameraBehindPlayer(playerid);
return 1;
}//------------------[SSCANF]-------------------------------------
stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}Vielleicht hat ja einer Ahnung woran dies liegen könnte
/edit natürlich ins richtige Script versucht einzufügen
Vielen Dank im vorraus! -
Hey ich wollte mal fragen ob jemand ein paar Ideen hat was man so Scripten könnte was auch nicht soo Schwer ist
da ich sehr Unkreativ bin frage ich einfach mal hier nach hoffe das ich hier in der richtigen Abteilung bin -
Also das bei OnGameModeExit kann ich rausnehmen?