Guten Morgen, bin derzeit dabei mein AD System zubearbeiten.
Habe in einen Stock alle meine Objekte drinnen, werbung[0] ...... werbung[36].
Am Ende
for(new plakat = 0; plakat <= 36; plakat++) SetObjectMaterialText(werbung[plakat],"Text",0,OBJECT_MATERIAL_SIZE_256x128,"Arial",24,0,0xFFFFFFFF,0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
[pwn] if(strcmp(cmd, "/ad", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_RED, "FEHLER: (/ad)vertise [advert text]");
return 1;
}
if ((!adds) && (SpielerInfo[playerid][pAdmin] < 1))
{
format(string, sizeof(string), " Bitte Versuch es Später wieder %d sekunden zwischen einer Advertisement !", (addtimer/1000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = offset * 10;
if(PlayerMoney[playerid] < payout)
{
format(string, sizeof(string), "* Du hast %d Zeichen benutzt das kostet $%d, du hast nicht genug.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
PlayerMoney[playerid] = PlayerMoney[playerid]-payout;
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "WERBUNG: %s |Tel: %d", result,SpielerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "AdmCmd: Werbung von: %s", GetName(playerid));
for(new i=0; i<MAX_PLAYERS; i++)
if(SpielerInfo[pAdmin] >= 1)
{
SendClientMessage(i,TEAM_GROVE_COLOR,string);
}
format(string, sizeof(string), "Deine Werbung hatte %i Zeichen und kostete %i$.", offset, payout);
SendClientMessage(playerid, COLOR_WHITE,string);
if (SpielerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
return 1;
}[/pwn]
Wie könnte man lösen, meine Idee war, es in einer Datei zuspeichern und dann immer den Text abfragen, aber das ist nicht die schönste Variante und hoffe da kann mir jemand helfen.
mfg
Habe in einen Stock alle meine Objekte drinnen, werbung[0] ...... werbung[36].
Am Ende
for(new plakat = 0; plakat <= 36; plakat++) SetObjectMaterialText(werbung[plakat],"Text",0,OBJECT_MATERIAL_SIZE_256x128,"Arial",24,0,0xFFFFFFFF,0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
[pwn] if(strcmp(cmd, "/ad", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_RED, "FEHLER: (/ad)vertise [advert text]");
return 1;
}
if ((!adds) && (SpielerInfo[playerid][pAdmin] < 1))
{
format(string, sizeof(string), " Bitte Versuch es Später wieder %d sekunden zwischen einer Advertisement !", (addtimer/1000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = offset * 10;
if(PlayerMoney[playerid] < payout)
{
format(string, sizeof(string), "* Du hast %d Zeichen benutzt das kostet $%d, du hast nicht genug.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
PlayerMoney[playerid] = PlayerMoney[playerid]-payout;
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "WERBUNG: %s |Tel: %d", result,SpielerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "AdmCmd: Werbung von: %s", GetName(playerid));
for(new i=0; i<MAX_PLAYERS; i++)
if(SpielerInfo[pAdmin] >= 1)
{
SendClientMessage(i,TEAM_GROVE_COLOR,string);
}
format(string, sizeof(string), "Deine Werbung hatte %i Zeichen und kostete %i$.", offset, payout);
SendClientMessage(playerid, COLOR_WHITE,string);
if (SpielerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
return 1;
}[/pwn]
Wie könnte man lösen, meine Idee war, es in einer Datei zuspeichern und dann immer den Text abfragen, aber das ist nicht die schönste Variante und hoffe da kann mir jemand helfen.
mfg