Beiträge von KING136

    Hab ich genau so,



    ocmd:enter(playerid,params[])
    {
    for(new haus = 0; haus <MAX_HAUS; haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,hInfo[haus][PosX],hInfo[haus][PosY],hInfo[haus][PosZ]))
    {
    ....
    }
    else SendClientMessage(playerid,ROT,"Du bist nicht in der Nähe von einem Haus.");
    }
    return 1;
    }


    Aber ich werde zugespamt.


    Mit der Nachricht ich bin nicht in der Nähe.


    Edit: Hab jetzt statt else return, jetzt gehe ich in ein Haus Icon und es steht du bist nicht in der Nähe.

    Also ich habe die in einer Datei gespeichert und ich dachte man kann das einwenig ressourcen freundlicher machen. Gibt es da keinen anderen weg als du ganzezeit if(IsPlayerInRangeOfPoint(playerid,5,Haus1X,Haus1Y,Haus1Z)) ???


    MFG

    Hallo zusammen,
    ich wollte fragen, wie man das machen kann z.B. wenn er nicht in der Nähe von einem Haus ist das dann neh nachricht kommt.


    Ich nehme die for Schleife damit ich alle Häuser durchgehe, nur wenn ich dann z.B. bei IsPlayerInRangeOfPoint dann else mache werde ich zugespamt.


    Kann mir das bitte einer erklären, wäre schön wenn noch ein Beispiel dabei wäre.


    MFG

    Du machst oben ein new name[MAX_PALYERS];


    Dann gehst du hin machst bei OnPlayerDeath


    name[playerid] = 1; für z.B. wenn er in DM arena 1 ist und zwei wenn er in 2 ist.


    Dann bei OnPlayerSpawn


    Das dann mit SetPlayerPos usw hin machen.


    MFG


    EDIT:

    new name[MAX_PLAYERS]; //ganz oben


    //Unter OnPlayerDeath
    if(GetPVarInt(playerid,"DM1") == 1)
    {
    name[playerid] = 1;
    }
    if(GetPVarInt(playerid,"DM2") == 1)
    {
    name[playerid] = 2;
    }


    //Unter OnPlayerSpawn
    if(name[playerid] == 1)
    {
    SetPlayerPos(playerid,2169.3865,1589.8315,999.9716);
    SetCameraBehindPlayer(playerid);
    SetPlayerFacingAngle(playerid,271.2439);
    SetPlayerInterior(playerid,1);
    SetPlayerVirtualWorld(playerid,2);
    GivePlayerWeapon(playerid,24,100000);
    GivePlayerWeapon(playerid,31,100000);
    GivePlayerWeapon(playerid,25,100000);
    GivePlayerWeapon(playerid,29,100000);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    }
    if(name[playerid] == 2)
    {
    SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,2);
    GivePlayerWeapon(playerid,33,100000);
    GivePlayerWeapon(playerid,34,100000);
    SetPlayerHealth(playerid,100);
    SetPVarInt(playerid,"DM2",1);
    }

    TextDrawLetterSize(Harndrang,0.4,2.8);
    TextDrawColor(Harndrang,ROT);
    TextDrawSetOutline(Harndrang,0);
    TextDrawSetProportional(Harndrang,1);
    TextDrawSetShadow(Harndrang,1);


    Beim public Hungerr musst du Harndrang durch Hunger erstezen^^


    MFG


    ocmd:enter(playerid,params[])
    {
    for(new haus = 1; haus < MAX_HAUS; haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,hInfo[haus][PosX],hInfo[haus][PosY],hInfo[haus][PosZ]))
    {
    new string[128];
    format(string,128,"Du hast das Haus von %s betreten!",hInfo[haus][Besitzer]);
    SendClientMessage(playerid,WEISS,string);
    new Innenraum = hInfo[haus][Interior];
    SetPlayerPos(playerid,hInt[Innenraum][SpawnX],hInt[Innenraum][SpawnY],hInt[Innenraum][SpawnZ]);
    SetPlayerInterior(playerid,hInt[Innenraum][Int]);
    SetPlayerVirtualWorld(playerid,hInfo[haus][World]);
    inHaus[playerid] = haus;
    }
    }
    return 1;
    }


    Das ist der Command.


    MFG

    Hallo zusammen,
    und zwar habe ich folgendes Problem:
    Wenn ich bei enter (für Haus)
    IsPlayerInRangeOfPoint(playerid,5,hInfo[i][PosX] usw))
    Mache und nur } lass ohne Meldung die kommt, wenn er nicht in der Nähe vom Punkt ist. Dann klappt das.


    Aber mache ich

    }
    else SendClientMessage(playerid,ROT,"TEST");


    Werde ich zugespammt und nichts mehr geht.


    Weiss eienr Warum?


    PS: return SendClientMessage(playerid,ROT,"TEST"); habe ich auch schon benutz, das einziegste was kommt bzw besse ist, ist das man nciht zugespammt wird.


    Wenn jemand meine Schleife braucht:

    for(new I = 1; i <MAX_HAUS; i++)
    {
    ...
    }


    MFG

    Hi,


    Könnte so vll gehen musst du ausprobieren.



    dcmd_createhouse(playerid, params[])
    {
    new preis, string[255], interior;
    if(IsPlayerAdmin(playerid,5))
    {
    format(string,255,"Bitte benutze /Createhouse [Geld] [HausID].");
    if(sscanf(params,"dd",preis,interior))return SendClientMessage(playerid,FARBE,string);
    if(interior <= sizeof hEnter - 1 )
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    new first = -1;
    for (new i=1;i<=MAX_HOUSE;i++) {
    format(file,sizeof file, "House/House%d.cfg", i);
    if(!dini_Exists(file) && first == -1 )
    {
    first = i;
    }
    }
    format(file,sizeof file, "House/House%d.cfg", first);
    format(string,255,"Staat");
    dini_Create(file);
    dini_Set(file, "Owner", string);
    dini_IntSet(file, "Preis", preis);
    dini_IntSet(file, "Int", interior);
    dini_IntSet(file, "Locked", 1);
    dini_IntSet(file, "VW", lastVirtualWorld + 1);
    dini_FloatSet(file, "hX", pX);
    dini_FloatSet(file, "hY", pY);
    dini_FloatSet(file, "hZ", pZ);


    hInfo[first][hOwner] = string;
    hInfo[first][hPreis] = preis;
    hInfo[first][hEnterID] = interior;
    hInfo[first][hVirtualWorld] = lastVirtualWorld + 1;
    hInfo[first][hX] = pX,hInfo[first][hY] = pY,hInfo[first][hZ] = pZ;
    loadHouse(first);
    lastVirtualWorld ++;
    }
    else SendClientMessage(playerid,FARBE,"Falsche Interior Zahl.");
    }
    }
    return SendClientMessage(playerid, error, "Du bist kein Admin.");
    }


    PS: Musst halt richtig einreihen.


    MFG

    So ist des richtig:



    stock isPlayerAtAnyATM(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 1945.1362,-1126.6675,25.6128) || IsPlayerInRangeOfPoint(playerid, 3.0, 1210.9521,-915.4805,43.0258))
    {
    }
    return 1;
    }


    und nicht new playerid! Wie kommt man auf new playerid :D


    MFG

    Hallo zusammen,
    Habe ein Problem und zwar, wenn ich das hier bei OnPlayerEnterVehicle rein mache:

    for(new ii = 0; ii < 5; ii++)
    {
    if(Autos[playerid][ii][Abgeschlossen] == 0)
    {
    new string[128];
    format(string,sizeof(string),"Sie fahren das Auto von %s.",Autos[playerid][ii][Besitzer]);
    SendClientMessage(playerid,BLAU,string);
    return 1;
    }
    if(Autos[playerid][ii][Abgeschlossen] == 1)
    {
    SendClientMessage(playerid,ROT,"Das Auto ist abgeschlosen!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }

    Kommt nur Sie fahren das Auto von .
    Aber wenn ich das alles aus der Datei auslese und Spielercar[playerid][ii] mache kommt mein Name und alles scheint zu klappen, doch andere kriegen diese Meldung nicht, wenn sie irgendwo einsteigen z.B. in ihr Auto.


    Hoffe einer von euch kann mir helfen.


    MFG