Beiträge von Key

    Hey..
    kann mir jemand sagen, wieso folgender Text zweimal gesendet wird und wie ich es beheben kann?



    if (IsACopCar(vehicleid) && !ispassenger)
    {
    if(IsACop(playerid) || IsPlayerInFrac(playerid,23)) {}
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }

    Hallo..
    Ich bin gerade dabei, dass LoH Script einwenig zu bearbeiten, jedoch habe ich ein Problem.
    Wenn ich auf ein Motorrad ohne Schein steigen möchte, werde ich vom Motorrad geschmissen und bekomm nichtmal
    die Nachricht "Du hast kein Motorradschein!". Wenn ich mir aber den Schein gebe, werde ich auch nur runtergeschmissen.
    pwn:

    // Unter OnPlayerStateChange
    else if(IsABike(newcar))
    {
    if(PlayerInfo[playerid][pMotoLic] == 1 || TakingLesson[playerid] == 1)
    {
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast keinen Motorradschein!");


    }
    }


    // /givelicense Befehl
    if(strcmp(cmd, "/givelicense", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsAnInstructor(playerid))
    {
    if(PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, " Nur mit Rang 2 oder höher kann man Lizenzen ausstellen !");
    return 1;
    }
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr)) {
    SendClientMessage(playerid, COLOR_WHITE, "BENUTZUNG: /givelicense driving [playerid/Name]");
    SendClientMessage(playerid, COLOR_WHITE, "Scheine: Auto, Flug, Boot, Angel, Waffe, LKW, Motorrad.");
    return 1;
    }
    if(strcmp(x_nr,"Auto",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Auto [playerid]");
    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), "* Du hast %s eine Fahrlicense gegeben..",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine Fahrlicense gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pCarLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Flug",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Flug [playerid/PartOfName]");
    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), "* Du hast %s eine Fluglicense gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "*Lehrer %s hat dir eine Fluglicense gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Boot",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Boot [playerid");
    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), "* Du hast %s eine BootsLicense gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine BootsLicense gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Angel",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Angel [playerid");
    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), "* Du hast %s eine AngelLicense gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine Angel License gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pFishLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"LKW",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense LKW [playerid");
    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), "* Du hast %s ein LKW schein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir ein LKW Schein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pLKWLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Motorrad",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Motorrad [playerid]");
    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), "* Du hast %s ein Motorrad Schein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir ein Motorrad Schein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pMotoLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Waffe",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense weaponlicense [playerid/PartOfName]");
    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), "* Du hast %s eine Waffen License gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine Waffenlicense gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pGunLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Fahrlehrer !");
    return 1;
    }
    }
    return 1;
    }

    Ah, dankeschön :D


    //: Ich hab das jetzt so eingefügt:

    if(strcmp(cmdtext,"/arm",true)==0)
    {
    SetPlayerAttachedObject(playerid, 1, 18637, 4);
    return 1;
    }
    if(strcmp(cmdtext,"/back",true)==0)
    {
    SetPlayerAttachedObject(playerid, 2, 18637, 1);
    return 1;
    }


    Und seitdem das drin ist, kommt immer, wenn ich den Server starte, "runtime error 19 "File or function is not found!""
    Was kann ich tun?

    Hallo..
    ich wollte gerade ein paar Sachen mit AttachObjectToPlayer an den Spieler heften,
    jedoch weiß ich nicht, wie ich die richtigen Positionen herausfinden kann.


    Stehen vielleicht irgendwo alle, also für Kopf, rechte / linke Hand, Rücken, rechter / linker Arm etc.?


    Dank im Voraus! ;)


    mfg.
    Key

    Bei dem Satz "Ich setze Cloud-Computing in meinem Network sehr stable ein." hatte ich irgendwie ein Lachflash :'D
    Aber ansonsten geiler Grundkurs, sicher für viele hilfreich :D

    Schreib mal nach oben ins Script: new pID;
    und nach gaaanz unten:


    // strget
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }

    pID=strval(strget(cmdtext, 1));
    if(!strcmp(strget(cmdtext,0),"/gethere"))
    {
    if(IsPlayerAdmin(playerid))
    {
    new Float:hereX,Float:hereY,Float:hereZ;
    if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /gethere [ID]"); return 1; }
    GetPlayerPos(playerid, hereX, hereY, hereZ);
    SetPlayerPos(pID, hereX, hereY, hereZ);
    SendClientMessage(pID,COLOR_GREY,"Du wurdest teleportiert!");
    return 1;


    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    return 1;
    }
    }


    Das ist aus meinem GM, sollte funktionieren.

    Da wo X,Y,Z steht, musst du gar nichts eingeben, einfach so lassen.
    Der /gethere - Befehl portet jemanden zu dir, um ein /goto bzw. /teleport - Befehl zu machen,
    musst du einfach wo pID steht, playerid hin machen, und wo playerid steht, pID.
    Und aus "Du hast %s zu dir teleportiert" machst du "Du hast dich zu %s teleportiert".


    Skype & ICQ steht auf meinem Profil.


    if(strcmp(cmdtext,"/port lspd",true)==0)
    {
    if(IsPlayerAdmin(playerid)) {
    SetPlayerPos(playerid,X,Y,Z);
    SendClientMessage(playerid,0xFFFA00FF,"Du wurdest Teleportiert!"); } else { SendClientMessage(playerid,0xFFFFFF,"Du bist kein Admin!"); }
    return 1;
    }
    So musst du als RCON-Admin eingeloggt sein. ( /rcon login PW )


    Zum Porten:

    if(!strcmp(strget(cmdtext, 0), "/gethere")) {
    if(IsPlayerAdmin(playerid)) {
    new pID = strval(strget(cmdtext, 1));
    if(IsPlayerConnected(pID)) {
    new Float:x, Float:y, Float:z, name[MAX_PLAYER_NAME], string[256];
    GetPlayerPos(playerid,x,y,z);
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast %s zu dir teleportiert",name);
    SendClientMessage(playerid,0x33FF33AA,string);
    if(IsPlayerInAnyVehicle(pID)) {
    new autoid = GetPlayerVehicleID(pID);
    SetPlayerPos(pID,x+1,y,z); SetVehiclePos(autoid,x+1,y,z);
    SetPlayerInterior(pID,GetPlayerInterior(playerid));
    LinkVehicleToInterior(autoid,GetPlayerInterior(playerid)); PutPlayerInVehicle(pID,autoid,0); } else {
    SetPlayerPos(pID,x+1,y,z);
    SetPlayerInterior(pID,GetPlayerInterior(playerid)); }}
    else { SendClientMessage(playerid,0xFF0000AA,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,0xFF0000AA,"Du bist kein Admin!"); }
    return 1;
    }