Wie erstelle ich einen /accept medic?

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
  • Jetzt sieht mein Befehl so aus:


    if(!strcmp(ops, "medic", true))
    {
    if(pInfo[playerid][pFrak] == FRAK_MEDIC)
    {
    if(BereitsNotruf[playerid] == 0)
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(zID[playerid] == -1)return SendClientMessage(playerid, COLOR_GRAU, "Niemand benötigt Hilfe.");
    if(zID[i] != -1)
    {
    break;
    }
    SetPlayerCheckpoint(playerid, Float:zX[zID[playerid]], Float:zY[zID[playerid]], Float:zZ[zID[playerid]], 5);//Das kann nicht stimmen und bestimmt ist playerid falsch -.-
    new zName[MAX_PLAYER_NAME],
    zstr[125];
    GetPlayerName(zID[playerid], zName, sizeof(zName));//Playerid Falsch-.-
    format(str, sizeof(str), "Du hast den Notruf von %s angenommen", zName);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
    GetPlayerName(playerid, name, sizeof(name));
    format(zstr, sizeof(zstr), "%s hat deinen Notruf angenommen. Warte an deiner jetzigen Position bis er eintrift.", name);
    SendClientMessage(zID[playerid], COLOR_LIGHTBLUE, zstr);
    BereitsNotruf[playerid] = 1;
    zID[playerid] = -1;//playerid falsch -.-
    }
    }
    }
    }
    Meine Fragen habe ich mal mit // kommentiert. Ich steig da nicht mehr durch.

  • Ja, das ist noch nicht korrekt :D


    So muss das ausschauen:


    if(!strcmp(ops, "medic", true))
    {
    if(pInfo[playerid][pFrak] == FRAK_MEDIC)
    {
    if(BereitsNotruf[playerid] == 0)
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(zID[i] != -1)
    {
    SetPlayerCheckpoint(playerid, zX[zID[i]], zY[zID[i]], zZ[zID[i]], 5.0);
    new zName[24],
    zstr[125];
    GetPlayerName(zID[i], zName, 24);
    format(str, sizeof(str), "Du hast den Notruf von %s angenommen", zName);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
    GetPlayerName(playerid, name, sizeof(name));
    format(zstr, sizeof(zstr), "%s hat deinen Notruf angenommen. Warte an deiner jetzigen Position bis er eintrift.", name);
    SendClientMessage(zID[i], COLOR_LIGHTBLUE, zstr);
    BereitsNotruf[i] = 1;
    zID[i] = -1;
    break;
    }
    }
    }
    }
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ok. Danke :) Hatte ich ja fast richtig. Aber muss das hier:


    SetPlayerCheckpoint(playerid, zX[zID[i]], zY[zID[i]], zZ[zID[i]], 5.0);
    nicht so?


    SetPlayerCheckpoint(playerid, Float:zX[zID[i]], Float:zY[zID[i]], Float:zZ[zID[i]], 5.0);


    Und das hier ist von einem anderen Befehl aber da muss auch ein Aray hinter. Aber welches? Playerid?


    zID = playerid;

  • SetPlayerCheckpoint(playerid, Float:zX[zID], Float:zY[zID[i]], Float:zZ[zID[i]], 5.0);


    Nein, nicht so !!!


    So wie ich es gemacht habe, der Compiler weiß doch bereits, dass zX ein Float ist, da wir es so deklariert haben ;)


    zID = playerid;


    So:


    zID[playerid] = playerid;//sieht zwar etwas komisch aus, ist aber richtig


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hast du auch alle news oben im Script angepasst, die müssten jetzt so aussehen:


    new Float:zX[MAX_PLAYERS], Float:zY[MAX_PLAYERS], Float:zZ[MAX_PLAYERS], zID[MAX_PLAYERS];


    //achso und bei OnPlayerConnect
    zID[playerid] = -1;


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Den Warning habe ich kassiert, weil ich die Admins getrollt habe, bereue aber nichts :D


    und zu dem Code, mache es so wie ich es gemacht habe ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen