Beiträge von Exod_Martinez

    Ich stelle euch heute meine 1. Map vor - Ich habe heute wirklich zum 1. Mal gemappt.
    Ich möchte FEEDBACK!
    Findet ihr ihn gut? Warum?
    Was kann ich verbessern?


    Zum Zoll:


    Ich habe ca 30min für den Zoll gebraucht, er hat ca 40 Objekte.



    Mein Mapping-Vorbild ist Rocky ;)

    Meinste so?


    if(strcmp(cmd, "/report", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    /*if(JustReported[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Bitte warte 30 Sekunden bis du den Nächsten Report schreiben kannst !");
    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, "Benutze: (/re)port [Text]");
    return 1;
    }
    new stringrp[200];
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(stringrp, sizeof(stringrp), "Report von: [ID:%d]%s", playerid, sendername);
    ABroadCast(0xE19898AA,stringrp,1);
    SBroadCast(0xE19898AA,stringrp,1);
    format(stringrp, sizeof(stringrp), "Meldung: %s", (result));
    ABroadCast(0xE19898AA,stringrp,1);
    SBroadCast(0xE19898AA,stringrp,1);
    ABroadCast(0xA04C4CAA,"Tippe '/ar [SpielerID]' or '/tr [SpielerID]'",1);
    SendClientMessage(playerid, 0x96C184AA, " Dein Report wurde an alle Admins gesendet die Online sind.");
    JustReported[playerid] = 1;
    PlayerNeedsHelp[playerid] = 1;
    //SetTimerEx("ReportReset", 300000, false, "i", playerid);
    }
    return 1;
    }
    if(strcmp(cmd, "/cr", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst Eingeloggt sein !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /cr [SpielerID/SpielerName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "** Adminstrator [ID:%d]%s hat den Report geschlossen!", playerid, sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTGREEN, string);
    format(string, sizeof(string), "** Du hast den /report geschlossen!", playerid, sendername);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
    ReportCall[playerid] = 999;
    ReportCall[giveplayerid] = 999;
    }
    }
    }
    }
    }
    if(strcmp(cmd, "/ar", true) == 0) // By Ellis
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst Eingeloggt sein !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /ar [SpielerID/SpielerName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerNeedsHelp[giveplayerid] == 1)
    {
    PlayerNeedsHelp[giveplayerid] = 0;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "AdmWarnung: %s hat den Report von: [ID:%d]%s Angenommen.", sendername, giveplayerid, giveplayer);
    ABroadCast(COLOR_YELLOW, string, 1);
    SendClientMessage(playerid, COLOR_YELLOW,"Schreib nun mit dem Spieler per Chat du bist Automatisch Verbunden.");
    SendClientMessage(playerid, COLOR_YELLOW,"Du kannst den Report mit '/cr [SpielerID/SpielerName]' schließen");
    format(string, sizeof(string), "** Adminstrator [ID:%d]%s hat dein Report Angenommen, er wird dich nun Supporten.", playerid, sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTGREEN, string);
    SendClientMessage(giveplayerid, COLOR_LIGHTGREEN,"Du kannst nun per Chat mit dem Admin Schreiben.");
    SendClientMessage(playerid, COLOR_LIGHTGREEN,"Du kannst nun per Chat mit dem Spieler Schreiben.");
    ReportCall[giveplayerid] = playerid;
    ReportCall[playerid] = giveplayerid; //Verbinde zum Reporter
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler hat keine Report anfrage !");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Administrator ! ");
    return 1;
    }
    }
    return 1;
    }


    if(strcmp(cmd, "/tr", true) == 0) // By Ellis
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst Eingeloggt sein !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "HINT: /tr [SpielerID/SpielerName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerNeedsHelp[giveplayerid] == 1)
    {
    PlayerNeedsHelp[giveplayerid] = 0;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "AdmWarning: %s hat die /report Anfrage von [ID:%d]%s gelöscht.", sendername, giveplayerid, giveplayer);
    ABroadCast(COLOR_YELLOW, string, 1);
    format(string, sizeof(string), "** Administrator [ID:%d]%s hat deine /report Anfrage verweigert !", playerid, sendername);
    SendClientMessage(giveplayerid, 0xB35959AA, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler hat keine Report anfrage !");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Administrator ! ");
    return 1;
    }
    }
    return 1;
    }

    ocmd:tickets(playerid, params[])
    {
    #pragma unused params
    if(Spieler[playerid][Admin] >= 1 )
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Die angezeigten Tickets können mit /taketicket angenommen werden");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SupportTicket[i] == 1)
    {
    if(TicketAngenommen[i] == 0)
    {
    new string[128], DerSpieler[MAX_PLAYER_NAME];
    GetPlayerName(i, DerSpieler, sizeof(DerSpieler));
    format(string, sizeof(string), "ID: %d Name: %s", i, DerSpieler);
    SendClientMessage(playerid, COLOR_GREY, string);


    }
    }
    }
    }
    return 1;
    }


    ocmd:sup(playerid,params[])
    {
    new text[256];
    if(sscanf(params,"s",text))
    {
    SendClientMessage(playerid, COLOR_GREY,"[Benutzung]: /sup [text]");
    }
    else
    {
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYERS],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0)
    {
    new adminmeldung[128];
    format(adminmeldung, sizeof(adminmeldung), "%s hat ein Support-Ticket geschrieben", pname);
    SendAdminMessage(COLOR_YELLOW, adminmeldung);
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast ein Ticket mit folgendem Text geöffnet:");
    format(string, sizeof(string), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT]Warte bis es ein Supporter annimmt!");
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT]Du kannst noch mit /sup 2 weitere Zeilen anhängen");
    return 1;
    }
    else if(TicketZeile[playerid] == 1)
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast folgendes an dein Ticket anhängt:");
    format(string2, sizeof(string2), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string2);
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2)
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Du hast folgendes an dein Ticket anhängt:");
    format(string3, sizeof(string3), "%s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string3);
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "[SUPPORT] Dein Ticket ist bereits randgefüllt!");
    return 1;
    }
    }
    if(TicketAngenommen[playerid] == 1)
    {
    new pID = DeinSupport[playerid];
    new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerFragende, sizeof (DerFragende));
    GetPlayerName(pID, DerSup, sizeof (DerSup));
    format(antwort, sizeof (antwort),"--> %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, antwort);
    format(antwort2, sizeof (antwort2), "%s schrieb: %s", DerFragende, text);
    SendClientMessage(pID, COLOR_YELLOW, antwort2);
    }


    }
    return 1;
    }


    ocmd:giveticket(playerid, params[])
    {
    new pID, adminid;
    if(sscanf(params,"uu",pID,adminid)){
    return SendClientMessage(playerid, COLOR_GREY,"[Benutzung]: /giveticket [ticketid] [adminid]");
    }
    if(!IsPlayerConnected(adminid))
    {
    return SendClientMessage(playerid, COLOR_GREY,"Admin nicht online");
    }
    if(Spieler[playerid][Admin] >= 1 )
    {
    return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist kein Admin");
    }
    new pname[MAX_PLAYERS],save[512];
    GetPlayerName(pID,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save))
    {
    return SendClientMessage(playerid, COLOR_GREY,"Die ID hat kein offenes Ticket");
    }
    new NeuerAdmin[MAX_PLAYER_NAME], AlterAdmin[MAX_PLAYER_NAME], Fragender[MAX_PLAYER_NAME];
    GetPlayerName(playerid, AlterAdmin , sizeof(AlterAdmin));
    GetPlayerName(adminid, NeuerAdmin, sizeof(NeuerAdmin));
    GetPlayerName(pID, Fragender , sizeof(Fragender));
    DeinSupport[pID] = adminid;
    new string2[128], string3[128], string4[256], string5[256], string6[256];
    format(string2, sizeof(string2), "[SUPPORT] %s hat dein Ticket an %s weitergegeben.", AlterAdmin, NeuerAdmin);
    SendClientMessage(pID, COLOR_YELLOW, string2);
    SendClientMessage(playerid, COLOR_YELLOW, "Erfolgreich weitergeleitet");
    format(string3, sizeof(string3), "[SUPPORT] %s hat dir %s´s Ticket gegeben. Er schrieb folgendes:", AlterAdmin, Fragender);
    string4 = dini_Get(save, "Suptext");
    string5 = dini_Get(save, "Suptext2");
    string6 = dini_Get(save, "Suptext3");
    SendClientMessage(adminid, COLOR_YELLOW, string3);
    SendClientMessage(adminid, COLOR_YELLOW, string4);
    SendClientMessage(adminid, COLOR_YELLOW, string5);
    SendClientMessage(adminid, COLOR_YELLOW, string6);
    return 1;
    }


    ocmd:deleteticket(playerid, params[])
    {
    new pID;
    if(sscanf(params,"u",pID)){
    return SendClientMessage(playerid, COLOR_GREY,"[Benutzung]: /deleteticket [id]");
    }
    new pname[MAX_PLAYERS],save[512];
    GetPlayerName(pID,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(dini_Exists(save))
    {
    if(Spieler[playerid][Admin] >= 1 )
    {
    new string[128], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerSup, sizeof(DerSup));
    dini_Remove(save);
    format(string, sizeof(string), "%s hat dein Ticket gelöscht", DerSup);
    SendClientMessage(pID, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, "Erfolgreich gelöscht");
    TicketZeile[pID] = 0;
    TicketAngenommen[pID] = 0;
    DeinSupport[pID] = 0;
    SupportTicket[pID] = 0;
    }
    }
    return 1;
    }


    ocmd:taketicket(playerid,params[])
    {
    new pID;
    new string2[256], string[256], string3[256], string4[256],mitteilung[128] , DerPlayer[MAX_PLAYER_NAME], DerAdmin[MAX_PLAYER_NAME];
    if(sscanf(params,"u",pID)){
    return SendClientMessage(playerid, COLOR_GREY,"[Benutzung]: /taketicket [id]");
    }
    new pname[MAX_PLAYERS],save[512];
    GetPlayerName(pID,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(dini_Exists(save))
    {
    if(Spieler[playerid][Admin] >= 1 )
    {
    string2 = dini_Get(save,"Suptext");
    string3 = dini_Get(save,"Suptext2");
    string4 = dini_Get(save,"Suptext3");
    GetPlayerName(pID, DerPlayer, sizeof(DerPlayer));
    GetPlayerName(playerid, DerAdmin, sizeof(DerAdmin));
    format(string, sizeof(string), "%s schrieb folgende Supportnachricht:", pname);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_YELLOW, string2);
    SendClientMessage(playerid, COLOR_YELLOW, string3);
    SendClientMessage(playerid, COLOR_YELLOW, string4);
    SendClientMessage(playerid, COLOR_YELLOW, "Du kannst per /aw [ID] antworten");
    format(mitteilung, sizeof(mitteilung), "[SUPPORT] %s hat dein Support Ticket geöffnet. Du kannst nun per /sup direkt mit ihm schreiben!",DerAdmin);
    /*new string5[128];
    format(string5, sizeof (string5), "[SUPPORT] %s hat das Ticket von %s geöffnet");
    SendAdminMessage(COLOR_YELLOW, string5);*/
    SendClientMessage(pID, COLOR_YELLOW, mitteilung);
    DeinSupport[pID] = playerid;
    TicketAngenommen[pID] = 1;
    }
    }
    return 1;
    }


    Musst halt an dein Script anpassen