Kann mir jemand ein funktionierendes Hitman System zeigen was auch funktioniert wer echt super.
Weil ich habe echt mehrere Scripts getestet wo das System drin war aber immer wenn man /contract ID macht dann
einen Hitman den Auftrag annimmt dann Tötet er den Spieler aber er bekommt kein Geld weiss einer wieso es nicht funktioniert ?
Hier mal die ganzen funktionen.....
Function SearchingHit(playerid)
{
new string[256];
new giveplayer[MAX_PLAYER_NAME];
new searchhit = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(searchhit == 0)
{
if(PlayerInfo[i][pHeadValue] > 0 && GotHit[i] == 0)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
searchhit = 1;
hitfound = 1;
hitid = i;
for(new k=0; k<MAX_PLAYERS; k++)
{
if(IsPlayerConnected(k))
{
if(PlayerInfo[k][pMember] == 8 || PlayerInfo[k][pLeader] == 8)
{
SendClientMessage(k, COLOR_WHITE, "|__________________ Hitman Agentur News __________________|");
SendClientMessage(k, COLOR_DBLUE, "*** Eingehende Mitteilung: Ein Auftrag ist verfügbar. ***");
format(string, sizeof(string), "Person: %s ID: %d Bezahlung: Euro%d", giveplayer, i, PlayerInfo[i][pHeadValue]);
SendClientMessage(k, COLOR_DBLUE, string);
SendClientMessage(k, COLOR_DBLUE, "Benutze auftraggeben [hitmanid], um den Auftrag einem Hitman zuzuweisen.");
SendClientMessage(k, COLOR_WHITE, "|________________________________________________________|");
}
}
}
return 0;
}
}
}
}
if(searchhit == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Es sind momentan keine Aufträge verfügbar!");
}
return 0;
}
if(strcmp(cmd, "/contract", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
return 1;
}
moneys = strval(tmp);
if(moneys < 5000 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muß mindestens €5000-, aber nicht mehr als €1.000.000 betragen!"); return 1; }
if(PlayerInfo[playerid][pLevel] < 3)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 3 haben um einen Vertrag zu erstellen.");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für Euro%d tötet.",sendername, giveplayer, moneys);
SendFamilyMessage(8, COLOR_YELLOW, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
}
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
PlayerInfo[giveplayerid][pHeadValue]+=moneys;
new iyear, imonth,iday;
getdate(iyear, imonth, iday);
format(string, sizeof(string), "Contract: %s hat einen Auftragsmord gegen %s in auftrag gegeben (%d-%d-%d)", sendername,giveplayer,imonth,iday,iyear);
ContractLog(string);
format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für Euro%d tötet.",sendername, giveplayer, moneys);
SendFamilyMessage(8, COLOR_YELLOW, string);
format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für Euro%d erteilt.",giveplayer, moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Falsche Angaben!");
}
}
}
else
{
format(string, sizeof(string), " %d ist kein Aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/auftraggeben", true) == 0)
{
if(IsPlayerInFrac(playerid, 8))
{
if(PlayerInfo[playerid][pRank] < 2)
{
SendClientMessage(playerid, COLOR_GREY, " Du brauchst Rank 2 um Aufträge einem Hitman zuzuteilen");
return 1;
}
if(hitfound == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Es gibt derzeit keine Aufträge, schau vorher unter /auftrag nach.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /auftraggeben [Hitman ID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pLeader] != 8 && PlayerInfo[giveplayerid][pMember] != 8)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist kein Hitman!");
return 1;
}
if(GoChase[giveplayerid] < 999)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Hitman ist bereits beschäftigt!");
return 1;
}
if(IsPlayerConnected(hitid))
{
new giver[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giver, sizeof(giver));
GetPlayerName(hitid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Hitman %s hat %s den Auftrag gegeben, %s(ID:%d) für %d€ zu töten.", sendername, giver, giveplayer, hitid, PlayerInfo[hitid][pHeadValue]);
SendFamilyMessage(8, COLOR_YELLOW, string);
GoChase[giveplayerid] = hitid;
GetChased[hitid] = giveplayerid;
GotHit[hitid] = 1;
hitid = 0;
hitfound = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist offline!");
return 1;
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Hitman ist nicht online!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Hitman!");
}
return 1;
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
{
if(GoChase[killerid] == playerid)
{
ConsumingMoney[killerid] = 1;
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: Euro%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
SendFamilyMessage(8, COLOR_YELLOW, string);
PlayerInfo[playerid][pHeadValue] = 0;
GotHit[playerid] = 0;
GetChased[playerid] = 999;
GoChase[killerid] = 999;
}
}
}
}
Weiss einer wieso der Spieler kein Geld bekommt ?
Also hier sind echt so viele Online und es wer echt super wenn mal einer sich kurz 1-2 min zeit für mich hier nehmen kann.
Da ich echt verzweifelt bin und unbedingt den fehler behoben haben möchte.
Edit // Text eingefügt
Edit // Code eingefügt
Edit // weiter code eingefügt