Beiträge von cinema

    Okay, danke.


    Also ich hab nun alle Skins (20) mit gTeam definiert. (Jeweils 10, 10).


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 43.6146,-2220.2466,21.8542);
    SetPlayerCameraPos(playerid, 41.6146,-2220.2466,21.8542);
    SetPlayerCameraLookAt(playerid, 43.6146,-2220.2466,21.8542);
    SetPlayerFacingAngle( playerid, 90 );

    // Team 1
    if(classid == 102)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 103)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 104)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 105)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 106)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 107)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 108)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 110)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 114)
    {
    gTeam[playerid] = TEAM_1;
    }
    if(classid == 115)
    {
    gTeam[playerid] = TEAM_1;
    }

    // Team 2

    if(classid == 111)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 131)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 109)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 92)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 90)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 93)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 75)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 64)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 63)
    {
    gTeam[playerid] = TEAM_2;
    }
    if(classid == 56)
    {
    gTeam[playerid] = TEAM_2;
    }


    return 1;
    }


    So, nun möchte ich 2 Variablen: player_t1 und player_t2 (also Player pro Team 1 und Team 2)


    Wie mach ich es nun, dass die Variablen den richtigen Wert erhalten? Also bei OnPlayerSpawn.... Fragen welches Team er ist, und dann die Entsprechende Variable + 1 ?

    So, erstmals danke an kleinerOpa und BlackFoX_UD_.


    Folgendes funktioniert:


    public OnPlayerUpdate(playerid)
    {
    GameStreamer_OnPlayerUpdate();
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    if(pos[3]<10.1945)
    {
    SetPlayerPos(playerid, 91.4494,-2236.6765,13.0705);
    }
    return 1;
    }


    @ Zu den mit einer bestimmten Zone:


    Eigentlich wollte ich es ja in einer bestimmten Zone haben, aber da ja alle Player auf den Schiff sein MÜSSEN!!!! und sonst niergendst hinsollen / dürfen reicht das von kleinerOpa. Danke noch mal an beide.


    So, nun hab ich immernoch das Problem mit dem Textdraw:


    Ich habe erfolgreich einen Textdraw erstellt, doch er wird mir nicht ganz angezeigt. Es ist einfach dort wo er sein sollte, eine Graue Leiste, durh die man durchschauen kann.


    Nun möchte ich, dass der Textdraw im Hintergrund schwarz ist. Zurzeit ist er so grau. Was muss ich ändern? Und wie mach ich das, dass bei "Team A" dahinter eine Variable ausgegeben wird? Also zum Beispiel die Variable: Team_a?


    ForumsAdresse = TextDrawCreate(3,435,"Team A: ");
    TextDrawLetterSize(ForumsAdresse,0.5,1.3);
    TextDrawColor(ForumsAdresse,COLOR_YELLOW);
    TextDrawBackgroundColor(ForumsAdresse,COLOR_RED);
    TextDrawSetShadow(ForumsAdresse,1);
    TextDrawUseBox(ForumsAdresse,1);

    public OnPlayerUpdate(playerid)
    {
    GameStreamer_OnPlayerUpdate();
    /*IsPlayer3DZone(playerid,92.0053,-2219.0132,10.1945,92.0053,-2219.0132,72.3358)
    {*/
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    if(pos[0] > 92.0053 && pos[0] < 92.0053 && pos[1] > -2219.0132 && pos[2] < -2219.0132 && pos[3] > 10.1945 && pos[3] < 72.3358)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist in der richtigen Zone");
    }
    else
    {
    SetPlayerPos(playerid, 91.4494,-2236.6765,13.0705);
    }
    return true;
    //return false;
    }
    return 1;
    }


    So jetzt? Also es soll überprüft werden, ob der Player unterhalb der Minz ist. (10.1945), wenn Ja, soll er weggeportet werden (SetPlayerPos)

    Was soll ich gemacht haben?


    Also:



    public OnPlayerUpdate(playerid)
    {
    IsPlayer3DZone(playerid,92.0053,-2219.0132,10.1945,92.0053,-2219.0132,72.3358) // Hier ein Error
    {
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    if(pos[0] > 92.0053 && pos[0] < 92.0053 && pos[1] > -2219.0132 && pos[2] < -2219.0132 && pos[3] > 10.1945 && pos[3] < 72.3358)return true; // Der nächste Error
    return false;
    }
    return 1; // Der Warning
    }


    So schaut es jetzt aus, und wie mach ich es, wenn der Spieler unterhalb / oberhalb Z ist, dass er weggeportet wird (SetPlayerPos) ? Also wohin kommt das SetPlayerPos? Und was ist mit dem TextDraw?


    PS.: Bekomme da aber 3 Errors:


    Code
    C:\Users\Patrick\Desktop\Samp server\gamemodes\gungame.pwn(610) : error 017: undefined symbol "IsPlayer3DZone"
    C:\Users\Patrick\Desktop\Samp server\gamemodes\gungame.pwn(614) : error 032: array index out of bounds (variable "pos")
    C:\Users\Patrick\Desktop\Samp server\gamemodes\gungame.pwn(617) : warning 225: unreachable code
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.

    Okay. Bis jetzt sieht es so aus:



    IsPlayer3DZone(playerid,92.0053,-2219.0132,10.1945,92.0053,-2219.0132,72.3358)
    {
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    if(pos[0] > 92.0053 && pos[0] < 92.0053 && pos[1] > -2219.0132 && pos[2] < -2219.0132 && pos[3] > 10.1945 && pos[3] < 72.3358)return true;
    return false;
    }


    Wo gehört nun hin, falls der Player unterhalb Z ist (also im Wasser) dass er weggeportet wird (SetPlayerPos) ?


    Und wie ist das mit den Textdraw?



    Hat jemand eine Lösung?

    Also so:


    IsPlayer3DZone(playerid,92.0053,-2219.0132,10.1945,92.0053,-2219.0132,72.3358)
    {
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    if(pos[0] > 92.0053 && pos[0] < 92.0053 && pos[1] > -2219.0132 && pos[2] < -2219.0132 && pos[3] > 10.1945 && pos[3] < 72.3358)return true;
    return false;
    }


    Wo gehört nun der Teil hin? Unter onPlayerUpdate? Und wo schreibe ich hin, dass wenn er unter dem Min oder über den Max ist, dass er wieder am Spawn ist? (SetPlayerPos)

    Hmm... Iergendwie verstehe ich den Code nicht....


    Also was gehört wo hin? Und wie mache ich es, wenn er unter dieser Höhenkontrolle ist, dass er wieder am Spawn ist? Also SetPlayerPos, blablabla...


    Und wo soll ich /save machen? Denn dann habe ich nur einen Punkt, und nicht ein Rechteck... Oder ist die Höhe gleich, egal wie ich bei X und Y bin?

    Okay, wie mache ich diese Höhenüberprüfung? (Pls Link zu einen Tut)


    Und noch eine Frage:


    Ich habe erfolgreich einen Textdraw erstellt, also wird mir auch richtig angezeigt.


    Nun möchte ich, dass der Textdraw im Hintergrund schwarz ist. Zurzeit ist er so grau. Was muss ich ändern? Und wie mach ich das, dass bei "Team A" dahinter eine Variable ausgegeben wird? Also zum Beispiel die Variable: Team_a?



    ForumsAdresse = TextDrawCreate(3,435,"Team A: ");
    TextDrawLetterSize(ForumsAdresse,0.5,1.3);
    TextDrawColor(ForumsAdresse,COLOR_YELLOW);
    TextDrawBackgroundColor(ForumsAdresse,COLOR_RED);
    TextDrawSetShadow(ForumsAdresse,1);
    TextDrawUseBox(ForumsAdresse,1);

    Ich hab aber auf einen Server schonmal sowas gesehen:


    Es war ein Derby, und wer von der Strecke (die war in der Luft) runtergefallen ist, und das Wasser berührt hat, wurde er ausgeschieden.


    Wie kann ich sonst überprüfen, ob der Player noch am Schiff ist, und wenn er vom SChiff runterfällt wieder Spawnt?