Wie Scripte ich ein /ad System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    Ich wollte euch mal fragen, wie ich ein "/ad" System schreibe, und wie es aufgebaut ist.
    Habe schon die Sufu benutzt und gegoogelt, jedoch nichts brauchbares gefunden.
    Danke schonmal für die Antworten "

    Einmal editiert, zuletzt von AnthoNNy ()

  • was machst du da?


    new string[256],idx;

  • if(strcmp(cmd,"/advertise",true)==0 || strcmp(Cmd,"/ad",true)==0)
    {
    new gMessage[258],string[128];
    gMessage = strrest(cmdtext,idx);
    if(strlen(gMessage)==0)return SendClientMessage(playerid, FARBE," /ad [text] ...... ");


    new WerberName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,WerberName,sizeof(WerbeName));
    format(string,sizeof(string)," Werbung: %s, Von: %s",gMessage,WerberName);
    SendClientMessageToAll(FARBE,string);
    return 1;
    }


    Ganz einfach mit strrest. :)

    Let the party begin - turn all the lights on!

  • if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
    {
    if(PlayerInfo[playerid][pLevel] >= 3)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
    return 1;
    }
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591) && !IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am Burder Shot Nord(BSN)!");
    return 1;
    }
    if(PlayerInfo[playerid][pGangJailed] == 1 || PlayerTied[playerid] >= 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst jetzt keine Werbung schreiben!");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[128];
    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, "Benutzung: (/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 Werbung!", (addtimer/1000));
    SendClientMessage(playerid, COLOR_GRAD2, string);
    return 1;


    }
    new payout = idx * SBizzInfo[5][sbEntranceCost];
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* Du hast %d Zeichen benutzt, das kostet $%d, du hast nicht genug dabei.", offset, payout);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    GivePlayerMoney(playerid, - payout);
    SBizzInfo[5][sbTill] += payout/3;
    ExtortionSBiz(5, payout);
    format(string, sizeof(string), "Werbung: %s, Von: %s, PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
    OOCNews(0xFF8900FF,string);
    format(string, sizeof(string), "~r~Rechnung: $%d~n~~w~Nachricht hatte: %d Zeichen.", 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 3 um eine Werbung zu schreiben.");
    return 1;
    }

    German Projekt Reallife

    87.98.244.35:3434


  • Bringt ihm nichts, wenn du einfach den /advertise Befehl eines GF-Scriptes kopierst und hier einfügst...

    Let the party begin - turn all the lights on!

  • Da passt was nicht ganz..


    Zeile 326:

    Code
    gMessage = strrest(cmdtext,idx);


    Zeile 323:

    Code
    if(strcmp(cmd,"/Werbung",true)==0)
  • Ich mach dir mal eins mit ocmd kannst du ja ändern
    kommt gleich mit #1 edit.




    #1



    ocmd:ad(playerid,params[])
    {
    new adtext[128],SpielerName[MAX_PLAYER_NAME],string[150];
    if(sscanf(params, "s", adtext)) return SendClientMessage(playerid,FARBE, "Benutzung: /ad [TEXT]");
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(string,sizeof(string)," Werbung: %s, Von: %s",adtext,SpielerName);
    SendClientMessageToAll(FARBE,string);
    return 1;
    }

    2 Mal editiert, zuletzt von GamerXIOS ()

  • Da passt was nicht ganz..


    Zeile 326:

    Code
    gMessage = strrest(cmdtext,idx);


    Zeile 323:

    Code
    if(strcmp(cmd,"/Werbung",true)==0)


    Hast Du das alles denn auch definiert? Hast du den strrest-stock? Ohne diese Sachen geht des nämlich nicht. ^^

    Let the party begin - turn all the lights on!

  • Mann muss immer davon ausgehen das man die Normalen werte von Pawno nimmt.
    Nicht jeder hat es so definiert wie du.