Hallo,
ich versuche ein Wanted System zu machen.
Ich habe als erstes einen Befehl erstellt:
ocmd:su(playerid,params[])
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"/su [ID]");
if(IsPlayerConnected(pID))
{
ShowPlayerDialog(playerid,7,DIALOG_STYLE_LIST,"Wanted Katalog","StVO Missachtung\nBefehlsverweigerung\nSachbeschädigung\nFahrerflucht\nBeihilfe zur Flucht\nAngriff auf einen Zivilisten\nTötung eines Zivilisten\nAngriff auf einen Beamten\nTötung eines Beatmen\nBeleidigung\nEntführung\nKorruption\nDiebstahl\nEinbruch Staatsgelände","Weiter","Abbrechen");
return 1;
}
return SendClientMessage(playerid,Rot,"Es ist kein Spieler mit dieser ID online.");
}
return 1;
}
Dann habe ich zum Dialog ein response gemacht:
Es sieht zwar viel aus, ist aber fast nur das gleiche, also guckt es euch bitte an.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_WANTEDKATALOG)
{
if(response)
{
new pID;
new string[128];
new text[128];
switch(listitem)
{
case 0:
{
GivePlayerWanted(pID,1);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 1 Wanted vom Beamten %s bekommen. Vergehen: StVO Missachtung.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 1 Wanted vom Beamten %s bekommen, weil du die StVO missachtet hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 1:
{
GivePlayerWanted(pID,2);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 2 Wanteds vom Beamten %s bekommen. Vergehen: Befehlsverweigerung.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 2 Wanteds vom Beamten %s bekommen, weil du seinen Anweisungen nicht folge geleistet hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 2:
{
GivePlayerWanted(pID,1);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 1 Wanted vom Beamten %s bekommen. Vergehen: Sachbeschädigung.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 1 Wanted vom Beamten %s bekommen, weil du Sachen beschädigt hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 3:
{
GivePlayerWanted(pID,1);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 1 Wanted vom Beamten %s bekommen. Vergehen: Fahrerflucht.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 1 Wanted vom Beamten %s bekommen, weil du Fahrerflucht begangen hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 4:
{
GivePlayerWanted(pID,2);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 2 Wanteds vom Beamten %s bekommen. Vergehen: Beihilfe zur Flucht.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 2 Wanteds vom Beamten %s bekommen, weil du jemanden zur Flucht geholfen hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 5:
{
GivePlayerWanted(pID,3);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 3 Wanteds vom Beamten %s bekommen. Vergehen: Angriff auf einen Zivilisten.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 3 Wanteds vom Beamten %s bekommen, weil du jemanden zur Flucht geholfen hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 6:
{
GivePlayerWanted(pID,5);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 5 Wanteds vom Beamten %s bekommen. Vergehen: Tötung eines Zivilisten.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 5 Wanteds vom Beamten %s bekommen, weil du einen Zivilisten getötet hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 7:
{
GivePlayerWanted(pID,5);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 5 Wanteds vom Beamten %s bekommen. Vergehen: Angriff auf einen Beamten.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 5 Wanteds vom Beamten %s bekommen, weil du einen Beamten angegriffen hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 8:
{
GivePlayerWanted(pID,10);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 10 Wanteds vom Beamten %s bekommen. Vergehen: Tötung eines Beamten.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 10 Wanteds vom Beamten %s bekommen, weil du einen Beamten getötet hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 9:
{
GivePlayerWanted(pID,1);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 1 Wanted vom Beamten %s bekommen. Vergehen: Beleidigung.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 1 Wanted vom Beamten %s bekommen, weil du jemanden beleidigt hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 10:
{
GivePlayerWanted(pID,4);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 1 Wanteds vom Beamten %s bekommen. Vergehen: Entführung.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 4 Wanteds vom Beamten %s bekommen, weil du jemanden entführt hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 11:
{
GivePlayerWanted(pID,3);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 3 Wanteds vom Beamten %s bekommen. Vergehen: Korruption.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 3 Wanteds vom Beamten %s bekommen, weil du etwas korruptes getan hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 12:
{
GivePlayerWanted(pID,3);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 3 Wanteds vom Beamten %s bekommen. Vergehen: Diebstahl.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 3 Wanteds vom Beamten %s bekommen, weil du jemanden beklaut hast.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
case 13:
{
GivePlayerWanted(pID,10);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,9))
{
format(string,sizeof(string),"Spieler %s hat 10 Wanteds vom Beamten %s bekommen. Vergehen: Einbruch Staatsgelände.",SpielerName(pID),SpielerName(playerid));
SendClientMessage(i,Dunkelgelb,string);
}
}
}
format(text,sizeof(text),"Du hast 10 Wanteds vom Beamten %s bekommen, weil du in Staatsgelände eingebrochen bist.");
SendClientMessage(pID,Dunkelgelb,text);
return 1;
}
}
}
}
return 1;
}
Und dann habe ich einen Stock gemacht, um das was im response steht zu definieren.
stock GivePlayerWanted(playerid,level)
{
if(GetPVarInt(playerid,"Wanted")>=level)return 1;
return 0;
}
Ich habe zwar keine Errors, aber InGame, wenn ich den Befehl eingebe, schließt sich die samp.cfg
Was soll ich tun?