Huhuu,
Ich habe mir einen /ad(versite)-Befehl erbastelt.
Leider, wird das Geld, welches der Businessinhaber als Preis pro Zeichen einstellt, nicht von der Hand des Spielers abgezogen!
Hier mein Befehl:
ocmd:advertise(playerid,params[])
{
if(!isPlayerAFK(playerid))
{
new str[64];
if(sscanf(params,"s",str))return SCM(playerid,COLOR_GREY,"Benutze: /ad(vertise) [Text]");
{
new price;
for(new i;i<MAX_BIZ;i++)
{
if((!strcmp(BizInfo[i][bTyp],"Werbung",true)))
{
price = BizInfo[i][bPrice];
}
}
new mny = strlen(str) * price;
if(SpielerInfo[playerid][pGeld] >= mny)
{
new string[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
SpielerInfo[playerid][pGeld] -= mny;
format(string, sizeof(string), "[Werbung] %s, Kontakt: %s, Telefon: %d", str, sendername ,SpielerInfo[playerid][pHandyNummer]);
SendClientMessageToAll(COLOR_AD,string);
for(new i;i<MAX_BIZ;i++)
{
if((!strcmp(BizInfo[i][bTyp],"Werbung",true)))
{
BizInfo[i][bKasse] += mny;
SaveBiz(i);
}
}
}
else
{
SCM(playerid,COLOR_LIGHTRED,"Du hast nicht genug Geld, um diese Werbung zu bezahlen! (2€ pro Zeichen)");
}
}
}
else
{
SCM(playerid,AFK,"Du bist Abwesend gemeldet. Mit dem Befehl /back kannst du dich wieder Anwesend melden!");
}
return 1;
}