So sollte es passen:
#define DIALOG_CONTRACT_GELD 1001
#define DIALOG_CONTRACT_ID 1002
ocmd:contract(playerid,params[])
{
if(!IsPlayerInFrac(playerid,8) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Hitman !");
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_CONTRACT_ID)
{
if(!response) return 1;
new pID;
if(sscanf(inputtext,"u",pID))
{
return ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
}
if(playerid == pID)
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return SendClientMessage(playerid,COLOR_RED,"Du kannst dich nicht selber als Auftrag freigeben!");
}
if(PlayerInfo[pID][pLevel] < 2)
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Level 1-User Kopfgeld geben!");
}
if(!IsPlayerInFrac(pID,8))
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Auftragskiller ein Kopfgeld geben!");
}
if(IsPlayerInFrac(pID,1) || IsPlayerInFrac(pID,2) || IsPlayerInFrac(pID,4) || IsPlayerInFrac(pID,24))
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Contract auf eine Staatliche Fraktion setzen");
}
SetPVarInt(playerid, "pID", pID);
ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
return 1;
}
if(dialogid == DIALOG_CONTRACT_GELD)
{
if(!response)
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_ID, DIALOG_STYLE_INPUT, "Spieler ID", "Bitte gebe die Spieler-ID ein:", "Ok", "Abbrechen");
return 1;
}
if(!strlen(inputtext))
{
return ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
}
new geld = strval(inputtext);
if(geld > 50000)
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
return SendClientMessage(playerid,COLOR_RED,"Du kannst nicht mehr als 50000$ aufeinmal als Kopfgeld setzen ");
}
if(geld < 5000)
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Zurück");
return SendClientMessage(playerid,COLOR_RED,"Du musst Mindestens 5000$!");
}
if(GetPlayerMoney(playerid) > geld)
{
new pID = GetPVarInt(playerid, "pID"), string[145];
GivePlayerMoney(playerid,-geld);
PlayerInfo[pID][pContract] += geld;
format(string, sizeof(string), "Du hast %s für %d$ zum Aufrag freigegeben.",SpielerName(pID),geld);
SendClientMessage(playerid,COLOR_RED,string);
format(string, sizeof(string), "||>>|| Auftrag ||<<||%s hat einen Auftrag in höhe von %d$ auf %s [ID: %d] gesetzt.",SpielerName(playerid),geld,SpielerName(pID),pID);
SendFamilyMessage(8,COLOR_YELLOW,string);
}
else
{
ShowPlayerDialog(playerid, DIALOG_CONTRACT_GELD, DIALOG_STYLE_INPUT, "Geld", "Bitte gebe den Geldbetrag ein:", "Ok", "Abbrechen");
SendClientMessage(playerid,COLOR_RED,"So viel kannst du dir nicht leisten !");
return 1;
}
}
return 1;
}