Beiträge von M4rciii

    Seit wann denn das? Also bei mir hat schon immer mit AddStaticPickup funktioniert.


    Jedenfalls kann man CreatePickup überall verwenden und AddStaticPickup nur in OnGameModeInit


    new Float:X[MAX_PLAYERS], Float:Y[MAX_PLAYERS], Float:Z[MAX_PLAYERS];
    if(strcmp(cmdtext,"/mark",true)==0)
    {
    SendClientMessage(playerid,grün,"Position gespeichert! Benutze /backtomark");
    GetPlayerPos(playerid,X[playerid],Y[playerid],Z[playerid]);
    return 1;
    }
    if(strcmp(cmdtext,"/backtomark",true)==0)
    {
    SetPlayerPos(playerid,X[playerid],Y[playerid],Z[playerid]);
    SendClientMessage(playerid,grün,"Du wurdest zum gespeicherten Ort teleportiert!");
    return 1;
    }


    So könnts funktionieren

    Dazu gehört auch das:


    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);


    Das könntest du dann zu OnPlayerSPawn machen.


    DU brauchst nur new Float:gRandomPlayerSpawns[23][3] und die Koords drunter

    public OnGameModeInit()
    {
    CreateObject(8040, 636.067749, -3006.586670, 574.925354, 0.0000, 0.0000, 33.7500);
    CreateObject(18450, 699.334351, -2965.007324, 558.439331, 0.0000, 337.6546, 213.7500);
    CreateObject(18450, 757.055420, -2926.437256, 530.384949, 0.0000, 338.5141, 213.7500);
    CreateObject(18450, 807.761597, -2892.463623, 506.421814, 0.0000, 338.5141, 213.7500);
    CreateObject(18450, 858.524597, -2858.641357, 482.840973, 0.0000, 339.3735, 213.7500);
    CreateObject(18450, 912.105774, -2823.051270, 458.507050, 0.0000, 339.3735, 213.7500);
    CreateObject(18450, 972.966614, -2782.171631, 431.572083, 0.0000, 340.2330, 213.7500);
    CreateObject(18450, 1030.600586, -2743.317139, 406.416138, 0.0000, 340.2330, 213.7500);
    CreateObject(18450, 1083.276855, -2708.212891, 383.546570, 0.0000, 340.2330, 213.7500);
    CreateObject(18450, 1128.532349, -2678.067383, 365.308685, 0.0000, 341.9518, 213.7501);
    CreateObject(18450, 1187.530762, -2638.274658, 342.193207, 0.0000, 341.9518, 213.7500);
    CreateObject(18450, 1247.234009, -2597.927979, 319.219910, 0.0000, 342.8113, 213.7500);
    CreateObject(1633, 1273.775635, -2577.848633, 310.602631, 355.7028, 0.0000, 303.7500);
    CreateObject(1633, 1276.137817, -2581.075195, 310.549591, 354.8434, 0.0000, 303.7500);
    CreateObject(1633, 1275.939941, -2576.327881, 312.742676, 17.1887, 0.0000, 303.7500);
    CreateObject(1633, 1278.335571, -2579.589355, 312.649139, 17.1887, 0.0000, 303.7500);
    return 1;
    }


    Falls du schon ein OnGameModeINit hast, musst du das dartein verschieben

    DU scheinst nicht zu kapieren wie man SendClientMessageToAll benutzt....


    if(strcmp("/score", cmdtext, true, 10) == 0)
    {
    SetPlayerScore(playerid, 10);
    SendClientMessageToAll(0x3300CCFF,"Hat einen neuen Score!"); //einfach den Text in "" setzen
    return 1; //1 oder true ist egal
    }

    Guten Tag allerseits!
    Ihr habt bestimmt schon viele von diesen "i" zeichen gesehn oder auch Häuser oder Herz-Symbole und hier erfahrt ihr, wie das funktioniert!


    Als erstes gebt ihr den gewünschten Pickups Namen:


    new pickup1;
    new pickup2;
    new pickup3;


    Das kommt unter die includes hin!


    Dann müsst ihr den Pickup erstellen. Dazu solltest ihr den Syntax von CreatePickup kennen.

    Zitat

    pickupname = CreatePickup(model, type, Float:X, Float:Y, Float:Z, Virtualworld);

    X,Y und Z sind die Koordinaten, das ist klar. model ist die ID von Aussehen des Pickups und type ist der Typ des Pickups, das heisst wie lange er angezeigt wird. Hier ein Link zu Models & Typen
    VirtualWorld ist die virtuelle Welt, in der das Pickup angezeigt werden soll. Nur im freien Raum, also auf einer Straße o.ä. wäre VirtualWorld 0. Wenn der Pickup in jeder VirtualWorld sein soll, benutzt -1.


    Nun kommt, was passieren soll wenn man den Pickup aufnimmt. Das passiert in OnPlayerPickUpPickup.


    Hier ein Beispiel:


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == pickup1)//wenn der Spieler pickup1 aufnimmt
    {
    GameTextForPlayer(playerid,"Du stehst in Pickup1",5000,6);
    }
    if(pickupid == pickup2)
    {
    GameTextForPlayer(playerid,"Du stehst in Pickup2",5000,6);
    }
    if(pickupid == pickup3)
    {
    GameTextForPlayer(playerid,"Du stehst in Pickup3",5000,6);
    }
    return 1;
    }


    Hier gibt es ein Scriptbeispiel noch dazu: breadfish.de/wcf/attachment/1470/


    Ich hoffe ich hab euch damit weitergeholfen und wünsche euch viel Spass beim Scripten!!! :thumbup:


    MfG Maercell :)


    Update: 20.12.2009