Hallo wer kann mir für Godfather /ad speere machen, also einen Befhel, wo man /ad speeren kann für 5 STD .
Die SuFu habe ich genutzt, finde da aber nicht wirklich das was ich brauchen.
Freue mich über Hilfe
Hallo wer kann mir für Godfather /ad speere machen, also einen Befhel, wo man /ad speeren kann für 5 STD .
Die SuFu habe ich genutzt, finde da aber nicht wirklich das was ich brauchen.
Freue mich über Hilfe
Dafür bräuchten wir auch den Code vom /ad-Befehl.
Sry hatte ich ganz vergessen xD
Ich gebe dann nun mal ebend /ad
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(PlayerInfo[playerid][pLevel] > 1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
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_GRAD2, "NUTZUNG: (/ad)vertise [text]");
return 1;
}
if ((!adds) && (PlayerInfo[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 = idx * 5;
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Du hast %d characters benutzt das kostet $%d, du hast nicht genug.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerMoney(playerid, - payout);
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "Werbung: %s, Von: %s PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "~r~Abzug $%d~n~~w~Nachricht hat: %d Characters erreicht", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
}
else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 2 um eine /ad zu schreiben.");
return 1;
}
Diesen Befehl sollten auch nur Admins nutzen können
Kann mir den jemand helfen, ich sitze jetzt schon ziemlich lange dranne, komme aber nicht auf die Ideee
/edit Hilfe
Du stellst als allererstes ne abfrage ob der spieler admin ist.
z.B. so:
if(Playinfo[playerid][admlevel])
{
//Adcode
}
Du hast das bstimmt etwas anders mit adminlevel aber so ungefähr sollte es gehen ;D
mfg
Sonder
Kann mit jemande den Befehl zurecht machen mit /adsperre
Tipp:
new adsperre;
adsperre = 1;
adsperre = 0;
Also in dermaßen so ?
if(strcmp(cmd,"/lockad",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 2) { return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "/lockad [Playerid]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid) && (giveplayerid != INVALID_PLAYER_ID))
{
if adsperre = 0;
{
adsperre [giveplayerid]=1;
SendClientMessage(playerid,COLOR_GREY,"/ad wurde für diesen Spieler gespeert!");
format(string, 256, "AdmCmd: %s hat den /ad für %s gespeert!",sendername, giveplayer);
ABroadCast(COLOR_RED,string,1);
SendClientMessage(giveplayerid,COLOR_YELLOW,"Der Befehl /ad wurde für dich gespeert!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist nicht Aktiv!");
return 1;
}
}
return 1;
}
if(strcmp(cmd,"/unlockad",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 2) { return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "/lockad [Playerid]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid) && (giveplayerid != INVALID_PLAYER_ID))
{
if adsperre = 1;
{
adsperre [giveplayerid]=0;
SendClientMessage(playerid,COLOR_GREY,"/ad wurde für diesen Spieler freigeschaltet!");
format(string, 256, "AdmCmd: %s hat den /ad für %s wieder freigegeben!",sendername, giveplayer);
ABroadCast(COLOR_RED,string,1);
SendClientMessage(giveplayerid,COLOR_YELLOW,"Der Befehl /ad wurde für dich wieder freigegeben!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist nicht Aktiv!");
return 1;
}
}
return 1;
}
Jetzt mein Problem, wo gebe ich das hier ein also ein Speertext ?
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(PlayerInfo[playerid][pLevel] > 1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
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_GRAD2, "NUTZUNG: (/ad)vertise [text]");
return 1;
}
if ((!adds) && (PlayerInfo[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 = idx * 5;
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Du hast %d characters benutzt das kostet $%d, du hast nicht genug.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerMoney(playerid, - payout);
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "Werbung: %s, Von: %s PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "~r~Abzug $%d~n~~w~Nachricht hat: %d Characters erreicht", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
}
else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 2 um eine /ad zu schreiben.");
return 1;
}
Ungefähr so müsst es gehen:
if(adsperre(playerid) == 1)
{
/Addbefehl (Inhalt)
}
So ungefähr oder hab ich was falsch gemacht?
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(adsperre(playerid) == 1)
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.")
return 1;
}
if(PlayerInfo[playerid][pLevel] > 1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
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_GRAD2, "NUTZUNG: (/ad)vertise [text]");
return 1;
}
if ((!adds) && (PlayerInfo[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 = idx * 5;
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Du hast %d characters benutzt das kostet $%d, du hast nicht genug.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerMoney(playerid, - payout);
SBizzInfo[7][sbTill] += payout;
ExtortionSBiz(7, payout);
format(string, sizeof(string), "Werbung: %s, Von: %s PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "~r~Abzug $%d~n~~w~Nachricht hat: %d Characters erreicht", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
}
else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 2 um eine /ad zu schreiben.");
return 1;
}
Jetzt bekomme ich errors
Zeile (27447) : error 012: invalid function call, not a valid address
Zeile (27447) : Befehl hat keinen Sinn
Zeile (27447) : Erwartete Zeichen ";", aber gefunden ")"
Zeile (27447) : Ungültiger Befehl
Zeile (27447) : Zuviele Fehler in einer Zeile
Bei der Zeile
if(adsperre(playerid) == 1)
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.")
return 1;
}
if(adsperre(playerid) == 1)
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.");
return 1;
}
so muss es
Edit: noch richtig eingerückt
FEHLER:
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.")
RICHTIG:
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde."); // das ; fehlete :D
Klammer bringt leider nix
Zeile (27447) : error 012: invalid function call, not a valid address
Zeile (27447) : Befehl hat keinen Sinn
Zeile (27447) : Erwartete Zeichen ";", aber gefunden ")"
Zeile (27447) : Ungültiger Befehl
Zeile (27447) : Zuviele Fehler in einer Zeile
if(adsperre(playerid) == 1))
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.")
return 1;
}
und auch das Zeichen ; bringt nix
Alles anzeigenif(adsperre(playerid) == 1)
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.");
return 1;
}
so muss es
Edit: noch richtig eingerückt
so ist es richtig...
Hmmm.... immer noch das gleiche
Zeile (27447) : error 012: invalid function call, not a valid address
Zeile (27447) : Befehl hat keinen Sinn
Zeile (27447) : Erwartete Zeichen ";", aber gefunden ")"
Zeile (27447) : Ungültiger Befehl
Zeile (27447) : Zuviele Fehler in einer Zeile
if(adsperre(playerid) == 1)
{
SendClientMessage(playerid,COLOR_WHITE," Du darfst keine Werbung schreiben da diese Funktion für dich gesperrt wurde.");
return 1;
}
welche Zeile ist denn
27447 ?
if(adsperre(playerid) == 1)
mach mal das (playerid) weg
Wenn du das für playerid haben willst, musst du bei new addsperre; noch [MAX_PLAYERS] hinzufügen.
Zeile (27447) : Array-Index fehlt (bspw. Array[1], Name: "adsperre")
Zeile (27521) : Wahrscheinlich unabsichtliche Zuordnung [Beispiel: if(variable
Zeile (27521) : Array-Index fehlt (bspw. Array[1], Name: "adsperre")
Zeile (27521) : Leerer Befehl (bspw. ;;)
Zeile (27552) : Wahrscheinlich unabsichtliche Zuordnung [Beispiel: if(variable
Zeile (27552) : Array-Index fehlt (bspw. Array[1], Name: "adsperre")
Zeile (27552) : Leerer Befehl (bspw. ;;)
27447
if(adsperre == 1)
27521
if adsperre = 0;
27552
if adsperre = 1;
Habe ich definiert
new adsperre [MAX_PLAYERS];
//Edit Zeilen noch angehängt
//edit Definierung eingefügt