Beiträge von xXganzereuroXx

    bitte sehr:


    new cmd[256];
    new tmp[256];
    new Message[256];
    new gMessage[256];
    new pName[MAX_PLAYER_NAME+1];
    new iName[MAX_PLAYER_NAME+1];
    new idx;


    cmd = strtok(cmdtext, idx);


    // PM Command
    if(strcmp("/pm", cmd, true) == 0)
    {
    tmp = strtok(cmdtext,idx);


    if(!strlen(tmp) || strlen(tmp) > 5) {
    SendClientMessage(playerid,0xFF444499,"Benutze: /pm (id) (nachricht)");
    return 1;
    }


    new id = strval(tmp);
    gMessage = strrest(cmdtext,idx);


    if(!strlen(gMessage)) {
    SendClientMessage(playerid,0xFF444499,"Benutze: /pm (id) (nachricht)");
    return 1;
    }


    if(!IsPlayerConnected(id)) {
    SendClientMessage(playerid,0xFF444499,"/pm : Diese ID ist nicht aktiv!");
    return 1;
    }


    if(playerid != id) {
    GetPlayerName(id,iName,sizeof(iName));
    GetPlayerName(playerid,pName,sizeof(pName));
    format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
    SendClientMessage(playerid,0xFFCC2299,Message);
    format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
    SendClientMessage(id,0xFFFF22AA,Message);
    PlayerPlaySound(id,1085,0.0,0.0,0.0);


    printf("PM: %s",Message);


    }
    else {
    SendClientMessage(playerid,0xFF444499,"Du kanst dir selber keine Nachricht schreiben!");
    }
    return 1;
    }


    mfg xXganzereuroXx

    ok in die restlichen autos kann als leader und als nichtleader wieder betreten.


    weiteres problem:


    wenn ich nichtleader bin, kann ich in die autos, die eigentlich für nichtleader unzugänglich sind
    wenn ich leader bin, werde ich aus dem auto geworfen und er sagt, ich wäre nicht bei der US army


    //EDIT: hat sich erledigt, ich hatte lediglich ein ! vergessen, danke allen für die hilfe
    mfg xXganzereuroXx

    lol, wenn ich jetzt in ein auto gehe, werde ich herrausgeschmissen und er sagt, das ich nicht bei der us army bin. Wenn ich aber in das auto gehe, in das man ohne us army nicht rein kann, kann ich einfach reingehen ohne rausgeschmissen zu werden.

    heyho leute;


    ich habe eine frage, undzwar, wenn man in das und das auto geht, dass man danach rausgeworfen wird, esseiden, man ist leader.


    soweit bin ich schon:

    public IsAArmyCar(playerid)
    {
    if(IsAArmy(playerid))
    {
    new modelid = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(modelid == 520)
    {
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht Angehöriger der US-Army!");
    RemovePlayerFromVehicle(playerid);
    }
    return 0;
    }


    und bei OnPlayerEnterVehicle:


    if(IsAArmyCar(playerid))


    aber wenn ich in irgentein auto gehe, steht oben, du bist kein angehöriger der US-Army!


    was habe ich falsch gemacht?


    mfg xXganzereuroXx

    @multivan wenn ich deine variante benutze, hängt sich mein PAWN compiler auf....-.-
    ich habe es einwenig umgeschrieben, und so:


    if (strcmp(cmdtext, "/savepos", true)==0)
    {
    GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
    GetPlayerFacingAngle(playerid, PosA[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, ".:SERVER:. Position gespeichert! Du kannst sie mit /loadpos Laden.");
    PosI[playerid] = (GetPlayerInterior(playerid));
    PlayerPlaySound(playerid, 1137 , 0.0, 0.0, 0.0);
    return 1;
    }
    if (strcmp(cmdtext, "/loadpos", true)==0)
    {
    if (!floatsqroot(PosX[playerid]+PosY[playerid]+PosZ[playerid]))
    {
    return SendClientMessage(playerid, COLOR_RED, "[ERROR:] Benutze /savep Als erstes!");
    }
    else
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), PosX[playerid], PosY[playerid], PosZ[playerid]);
    SetVehicleZAngle(GetPlayerVehicleID(playerid), PosA[playerid]);
    SetCameraBehindPlayer(playerid);
    LinkVehicleToInterior(GetPlayerVehicleID(playerid), PosI[playerid]);
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    SetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]);
    SetPlayerFacingAngle(playerid, PosA[playerid]);
    SetCameraBehindPlayer(playerid);
    }
    PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
    SetPlayerInterior(playerid, PosI[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, ".:SERVER:. Gespeicherte Position Geladen!");
    return 1;
    }
    }


    funktioniert es, nochmals danke für die hilfe
    mfg xXganzereuroXx

    eig nur für einem moment, die datei soll nach dem /loadpos wieder gelöscht ewrden, wenn das geht.


    so mein cih dass:


    max musterman gibt /savepos ein
    daraufhin werden seine position gespeichert
    max mustermann bibt /loadpos ein
    daraufhin kehrt er zu der position zurück, die er gespeichert hat
    die datei mit den gespeicherten cords von ihm wird nun gelöscht.

    ganz einfach:


    um ein object zu bewegen, musst du erst mal eins machen, mit CreateObject(objectid, X, Y, Z, rX, rY, rZ);
    danach musst du einen command dafür erstellen:


    bei OnGameModeInit():


    new tor1 = CreateObject(objectid, X, Y, Z, rX, rY, rZ);


    bei OnPlayerCommandText(playerid, cmdtext[])

    if(strcmp(cmdtext, "/auf", true) == 0)
    {
    MoveObject(tor1, X, Y, Z, geschwindigkeit(das ist die geschwindikeit, mit der sich das object bewegt z.B. 4.0)); //das sind die cords, die das tor hat, wenn es OFFEN ist!
    return 1;
    }


    if(strcmp(cmdtext, "/zu", true) == 0)
    {
    MoveObject(tor1, X, Y, Z, geschwindigkeit); //das sind die cords, die das tor hat, wenn es ZU ist!
    return 1;
    }


    mfg xXganzereuroXx

    nabend leute;


    wie kann ich aus einer .ini datei informationen wieder laden?
    d.h. ein spieler tippt /savepos ein. nun werden seine cords gespeichert, soweit bin ich auch schon:


    if(!strcmp(cmdtext,"/savepos"))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    new Float:xx, Float:yy, Float:zz, save[512];
    GetPlayerPos(playerid,xx,yy,zz);
    format(save,sizeof(save),"%s pos.txt",name);
    dini_IntSet(save, "-----------------------", 1);
    dini_FloatSet(save,"X: %d",xx);
    dini_FloatSet(save,"Y: %d",yy);
    dini_FloatSet(save,"Z: %d",zz);
    SendClientMessage(playerid, 0x00C600FF, "Deine Position wurde gespeichert! Benutze /loadpos, um sie wieder zu laden");
    return 1;
    {


    wie mache ich das, wenn ich /loadpos eintippe, das ich dann wieder an den gespeicherten cords lande?


    mfg xXganzereuroXx

    Soweit ich weiß, ist dies nicht möglich

    es ist glaube ich möglich mit MapEditor (ka why der so heist)


    wenn du da etwas speicherst, sieste es nur im singleplayer.


    hier ist der link zu einem youtube video, da wird erklärt, wie es funktioniert.
    der downloadlink steht in der beschreibung des videos
    (es kan sein, dann ma die objecte dan auch in einem multiplayerspiel sieht(aber nur für sich) also vorsicht)


    http://www.youtube.com/watch?v=HQNOtqwQMAk


    mfg xXganzereuroXx

    nabend leute;


    wie mache ich es, das wenn ma aus einer definierten area herrausgeht, das die hp wieder auf 100 geht?


    das ist mein skript



    forward Areacheck(playerid);


    SetTimer("Areacheck", 1000, 1);


    stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
    return 0;
    }


    public Areacheck(playerid)
    {
    for(new i = 0; i<GetMaxPlayers(); i++)
    {
    if( IsPlayerConnected(i) && IsPlayerInArea(playerid, 69.9446 , 1904.1500 , 97.6615 , 1937.5177 ) )
    {
    SetPlayerHealth(playerid,9999999);
    }
    }


    wie mach ich dass?


    mfg xXganzereuroXx