Hi,
kann mir jemand helfen wie ich ein cmd Command Befehl in normalen dini oder ocmd befehl umschreiben kann ?
COMMAND:contract(playerid, params[])
{
if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, COLOR_RED, "Mindestlevel for Kopfgeld: 3");
if(IsPlayerConnected(playerid))
{
new giveplayerid,moneys, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[128];
if(!sscanf(params, "ud", giveplayerid, moneys))
{
if(moneys < 5000 || moneys > 100000) return SendClientMessage(playerid, COLOR_RED, "Kopfgeld nicht kleiner als 5000$ oder größer als 100000$");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pMember] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keinen Hitman unter Vertrag nehmen !");
return 1;
}
if(gTeam[giveplayerid] == 2 && moneys != 100000)
{
SendClientMessage(playerid, COLOR_GREY, " Es können nur $100000 Verträge für Copskills gemacht werden !");
return 1;
}
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));
new playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
PlayerInfo[giveplayerid][pHeadValue]+=moneys;
format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%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 $%d erteilt.",giveplayer, moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Ungültiger Transaktionsbetrag.");
}
}
else SendClientMessage(playerid, COLOR_RED, "Spieler nicht verbunden / Ungültige ID!");
}
else SendClientMessage(playerid, COLOR_RED, "VERWENDUNG: /contract [Spieler ID/Name] [Kopfgeld] ");
}
return 1;
}
In normalen cmd geht das irgend wie so
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 < 10000 || moneys > 100000) { SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muß mindestens $10000-, aber nicht mehr als $100000 betragen!"); return 1; }
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 2 haben um einen Vertrag zu erstellen.");
return 1;
}
if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pMember] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keinen Hitman unter Vertrag nehmen !");
return 1;
}
if(gTeam[giveplayerid] == 2 && moneys != 100000)
{
SendClientMessage(playerid, COLOR_GREY, " Es können nur $100000 Verträge für Copskills gemacht werden !");
return 1;
}
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));
new playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
PlayerInfo[giveplayerid][pHeadValue]+=moneys;
format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%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 $%d erteilt.",giveplayer, moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Ungültiger Transaktionsbetrag.");
}
}
else SendClientMessage(playerid, COLOR_RED, "Spieler nicht verbunden / Ungültige ID!");
}
else SendClientMessage(playerid, COLOR_RED, "VERWENDUNG: /contract [Spieler ID/Name] [Kopfgeld] ");
}
return 1;
}
So hatte ich das gemacht aber ist irgendwie falsch bekomme diesen fehler:
(55952) : error 029: invalid expression, assumed zero
(55954) : error 029: invalid expression, assumed zero
Hier die Zeilen:
55952
else SendClientMessage(playerid, COLOR_RED, "Spieler nicht verbunden / Ungültige ID!");
55954
else SendClientMessage(playerid, COLOR_RED, "VERWENDUNG: /contract [Spieler ID/Name] [Kopfgeld] ");
Kann mir einer helfen.......