Problem 1 [Geklärt]
Hey
Ich habe versucht , einen string (%s) in einen Dialog zu machen.
Es klappt sonst immer , nur dieses mal nicht! Wenn ich /contractlist eingebe , passiert nichts.
Wenn ich aber
Wenn ich aber
ShowPlayerDialog(playerid,Dialog_Contracts,DIALOG_STYLE_MSGBOX,"Contracts:","test","Okay","");
mache , kommt der Dialog!
ocmd:contractlist(playerid,params[])
{
new Spieler[64];
new Spieler2[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(dini_Int(Spieler,"Fraktion")==3)
{
new string[600];
for(new i=0; i<MAX_PLAYERS; i++)
{
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(i));
if(IsPlayerConnected(i))
{
if(dini_Int(Spieler2,"Kopfgeld")>0)
{
format(string,sizeof(string),"%s\n%s %i€",string,PlayerName(i),dini_Int(Spieler2,"Kopfgeld"));
}
}
}
ShowPlayerDialog(playerid,Dialog_Contracts,DIALOG_STYLE_MSGBOX,"Contracts:",string,"Okay","");
}
return 1;
}
{
new Spieler[64];
new Spieler2[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(dini_Int(Spieler,"Fraktion")==3)
{
new string[600];
for(new i=0; i<MAX_PLAYERS; i++)
{
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(i));
if(IsPlayerConnected(i))
{
if(dini_Int(Spieler2,"Kopfgeld")>0)
{
format(string,sizeof(string),"%s\n%s %i€",string,PlayerName(i),dini_Int(Spieler2,"Kopfgeld"));
}
}
}
ShowPlayerDialog(playerid,Dialog_Contracts,DIALOG_STYLE_MSGBOX,"Contracts:",string,"Okay","");
}
return 1;
}
Problem 2[Geklärt]
Wenn ich /contract [ID] [Kopfgeld] mache , kommen auch alle Nachrichten , aber in der Datei wird kein Kopfgeld gesetzt!
ocmd:contract(playerid,params[])
{
new Spieler[64],Spieler2[64],pID,kopfgeld;
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(pID));
//if(dini_Int(Spieler,"Fraktion")==3)return SendClientMessage(playerid,Rot,"Du bist selber Hitman!");
//{
if(sscanf(params,"ui",pID,kopfgeld))return SendClientMessage(playerid,Rot,"Fehler: /contract [ID/Name] [Kopfgeld]");
{
if(kopfgeld<999 && kopfgeld>50001)return SendClientMessage(playerid,Rot,"Das Kopfgeld muss mindestens 1000€ und höchstens 50.000€ betragen!");
{
GivePlayerMoney(playerid,-kopfgeld);
dini_IntSet(Spieler2,"Kopfgeld",dini_Int(Spieler2,"Kopfgeld")+kopfgeld);
new string[128];
format(string,sizeof(string),"Du hast einen Contract auf %s gesetzt. Kopfgeld: %i€",PlayerName(pID),kopfgeld);
SendClientMessage(playerid,Hellblau,string);
}
}
//}
return 1;
}
{
new Spieler[64],Spieler2[64],pID,kopfgeld;
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(pID));
//if(dini_Int(Spieler,"Fraktion")==3)return SendClientMessage(playerid,Rot,"Du bist selber Hitman!");
//{
if(sscanf(params,"ui",pID,kopfgeld))return SendClientMessage(playerid,Rot,"Fehler: /contract [ID/Name] [Kopfgeld]");
{
if(kopfgeld<999 && kopfgeld>50001)return SendClientMessage(playerid,Rot,"Das Kopfgeld muss mindestens 1000€ und höchstens 50.000€ betragen!");
{
GivePlayerMoney(playerid,-kopfgeld);
dini_IntSet(Spieler2,"Kopfgeld",dini_Int(Spieler2,"Kopfgeld")+kopfgeld);
new string[128];
format(string,sizeof(string),"Du hast einen Contract auf %s gesetzt. Kopfgeld: %i€",PlayerName(pID),kopfgeld);
SendClientMessage(playerid,Hellblau,string);
}
}
//}
return 1;
}
Problem 3[Ungeklärt]
Ich möchte machen , dass man dann per Liste einen aus der Contractist annehmen kann.
Nur es wird es auf 0 gesetzt , wegen dem listitem.
Wie kann ich machen , dass zB. ID10 listitem 5 ist , und man listitem5 auswählt , die Variable auf 10 gesetzt wird?
new pContract[MAX_PLAYERS];
if(dialogid == Dialog_Contracts)
{
if(response==1)
{
pContract[playerid]=listitem;
new string[256];
format(string,sizeof(string),"Du hast den Contract auf %s angenommen.",PlayerName(pContract[playerid]));
SendClientMessage(playerid,Lila,string);
}
}
{
if(response==1)
{
pContract[playerid]=listitem;
new string[256];
format(string,sizeof(string),"Du hast den Contract auf %s angenommen.",PlayerName(pContract[playerid]));
SendClientMessage(playerid,Lila,string);
}
}
ocmd:contractlist(playerid,params[])
{
new Spieler[64];
new Spieler2[64];
new string[600];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(dini_Int(Spieler,"Fraktion")==3)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(i));
if(IsPlayerConnected(i) && dini_Int(Spieler2,"Kopfgeld")>0)format(string,sizeof(string),"%s %i€\n",PlayerName(i),dini_Int(Spieler2,"Kopfgeld"));
}
ShowPlayerDialog(playerid,Dialog_Contracts,DIALOG_STYLE_LIST,"Contracts:",string,"Annehmen","Abbrechen");
}
return 1;
}
{
new Spieler[64];
new Spieler2[64];
new string[600];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(dini_Int(Spieler,"Fraktion")==3)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(i));
if(IsPlayerConnected(i) && dini_Int(Spieler2,"Kopfgeld")>0)format(string,sizeof(string),"%s %i€\n",PlayerName(i),dini_Int(Spieler2,"Kopfgeld"));
}
ShowPlayerDialog(playerid,Dialog_Contracts,DIALOG_STYLE_LIST,"Contracts:",string,"Annehmen","Abbrechen");
}
return 1;
}