Beiträge von Pille

    Du setzt eine Spielervariable auf true und fragst dann bei OnPlayerSpawn ab
    ob diese Variable true ist und dann setzt du den Spieler dahin.



    Konkret heißt das:



    // ganz oben im Script:
    new bool:istspielerimkrankenhaus[MAX_PLAYERS];


    //OnPlayerDeath
    SendClientMessage(playerid, COLOR_BLAU ," * Du bist im Krankenhaus!");
    SetTimerEx("KrankenhausTimer",KRANKENHAUS_ZEIT*1000,0,"i",playerid);
    istspielerimkrankenhaus=true;


    //OnPlayerSpawn
    if(istspielerimkrankenhaus[playerid]==true)
    {
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    }


    public KrankenhausTimer(playerid)//Erstellt ein Public für den Timer
    {
    SetPlayerPos(playerid,1173.0061,-1323.7950,15.3977);
    SendClientMessage(playerid, COLOR_BLAU, " * Entlassen!");
    istspielerimkrankenhaus[playerid]=false;
    return 1;
    }

    Du kannst kein SetPlayerPos bei OnPlayerDeath verwenden.


    Grund:
    Nach OnPlayerDeath wird das public OnPlayerSpawn aufgerufen.
    Also du setzt den Spieler wenn er stirbt wohin, dann respawnt er
    aber wie gehabt.


    Die Lösung:
    Du setzt eine Spielervariable auf true und fragst dann bei OnPlayerSpawn ab
    ob diese Variable true ist und dann setzt du den Spieler dahin.

    heißt das nicht:



    OCMD:makeleader(playerid, params[]){ if(!strlen(strget(cmdtext,1))) //hier return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [ID] [FraktionsID]"); new id3 = strval(strget(cmdtext,1)); //hier new admin3[MAX_PLAYER_NAME]; new gang = strval(strget(cmdtext,2)); //und hier format(string,sizeof(string), "*** Du wurdest vom Admin %s zum Leader der Fraktionsnummer %d gemacht!", admin3, gang); SendClientMessage(id3, COLOR_LIGHTRED, string); format(string, sizeof(string), "*** Du hast %s zum Leader der Fraktionsnummer %d gemacht!", aid3, gang); SendClientMessage(playerid, COLOR_LIGHTRED, string); if(gang==1) { SetPlayerSkin(id3,280); Spieler[playerid][leader] = 1; } Spieler[id3][leader] = gang; Spieler[id3][team] = gang; return 1;}


    ?(

    Ich habe immernoch ein großes Problem mit return.


    Ich weiß nie genau wann ich return 1;, return 0; oder return wasweißich; benutzen soll,
    besonders bei stocks und Befehlen, wäre nett wenn mir das jemand verständlich erklärt ?(


    Und das Verb "returnen" versteh ich ebensowenig :D


    --------------------------------------------------------------
    Danny Ocean:


    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(vehicleid,x,y,z,);
    SetPlayerPos(playerid,x,y,z);
    PutPlayerInVehicle(vehicleid);
    LinkVehicleToInterior(vehicleid,INTERIOR);
    }
    else
    {
    SetPlayerPos(playerid,x,y,z);
    }

    Das Problem ist:


    Du entfernst das Object für den Spieler, wäre doch ein Versuch
    wert es wieder zu erstellen.
    Und dann kannst du den Code herauslöschen, obs was bringt weiß ich nicht.


    Alternativ einfach mal alles erneuern.
    Samp, Server, Script, amx usw..


    Vorschlag:
    Nutze den SA-MP-Map-Editor und such dir das Objekt heraus,
    welches verschwunden ist.
    Dann nutzt du CreateObject(ID,x,y,z,rot,rot,rot);.


    Und wenn du Glück hast, dann funktioniiert es, dann kannst
    du vlt. auch CreateObject herausnehmen ^^

    Ersetz mal den Code der Farbe ROT durch einen anderen,
    vielleicht hast du einen falschen angegeben.


    if(strcmp(cmdtext,"/lspdduty",true)==0)
    {
    new Float:X,Float:Y,Float:Z,Float:Angle;
    new autovar;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,Angle);
    SetPlayerCheckpoint(playerid,1580.5037,-1634.5542,13.5616,5);
    SendClientMessage(playerid,BLAU,"Fahre zum Checkpoint, hier ein Car vom Staat. Pass drauf auf!");
    autovar=AddStaticVehicleEx(421,X,Y,Z,Angle,-1,-1,-1);
    PutPlayerInVehicle(playerid,autovar,0);
    }

    Ich bräuchte eine Erklärung wann man return 1; und return 0; benutzt.
    Ich verstehe das einfach nicht..


    Wäre noch hilfreich wenn ihr mir das Wort "returnen" definiert oder erklärt


    Zitat

    ich hätte mal eine kleine Frage: Welchen Wertebereich umfasst ein Integer?


    Ein Integer enthält eine Nummer, wenn ich da richtig liege.
    Und zwar eine ganze, also keine "3892.29", das wäre eine Float-Variable


    Nachzulesen hier:
    http://wiki.sa-mp.com/wiki/Scr…_Basics_DE#Variablentypen


    .

    1.



    ShowPlayerDialog(playerid, KAU, DIALOG_STYLE_LIST, "Befehle", "Allgemeine Befehle\nNavigationen\nHandy", "OK", "Zurück");


    2.

    if (dialogid == KAU)
    {
    if (response==0)
    {

    }
    else
    {
    if(listitem==0)
    {
    new string[400];
    format(string,sizeof(string),"Akzeptierungen:\n\n/acceptrepair: Reperaturkosten akzeptieren\n/acceptticket: Polizei Ticket akzeptieren\n\nChat:\n\n/t: normaler Chat\n/u: Umgebungschat\n\nFalls du in einen Nebenjob hast, findest du dazu\nweitere Befehle unter /Jobhelp.");
    ShowPlayerDialog(playerid, KAU1, DIALOG_STYLE_MSGBOX, "Befehle", string, "Zurück", "Schließen");
    }
    else if(listitem == 1) ///Allgemeine Befehle
    {
    new string[400];
    format(string,sizeof(string),"Navigationen:\n\n/arbeitsamt: Navigation zum Arbeitsamt\n/fs: Navigation zur Fahrschule\n\nAkzeptierungen:\n\n/acceptrepair: Reperaturkosten akzeptieren\n/acceptticket: Polizei Ticket akzeptieren\n\nChat:\n\n/t: normaler Chat\n/u: Umgebungschat\n\nFalls du in einen Nebenjob hast, findest du dazu\nweitere Befehle unter /Jobhelp.");
    ShowPlayerDialog(playerid, KAU2, DIALOG_STYLE_MSGBOX, "Befehle", string, "Zurück", "Schließen");
    }
    else if(listitem == 2) ///Handybefehle
    {
    new string[400];
    format(string,sizeof(string),"/call (ID) - Jemanden anrufen\n/pickup - Einen Anruf entgegennehmen\n/auflegen - Auflegen\n/sms (ID) (Nachricht) - Eine SMS schreiben\n/toghandy - Handy ein/ausschalten");
    ShowPlayerDialog(playerid, KAU3, DIALOG_STYLE_MSGBOX, "Handy", string, "Zurück", "Schließen");
    }
    }
    }

    Ich habe folgendes Problem:


    Ich habe 3 Textdraws, die alle mit einem Befehl aktiviert werden:

    new Text:exitanzeige;
    new Text:rundenanzeige;
    new Text:currentrounds[MAX_PLAYERS];



    rundenanzeige=TextDrawCreate(410.000000,351.000000,"Runden:");
    TextDrawBackgroundColor(rundenanzeige,255);
    TextDrawFont(rundenanzeige,0);
    TextDrawLetterSize(rundenanzeige,0.609999,2.599999);
    TextDrawColor(rundenanzeige,-33554177);
    TextDrawSetOutline(rundenanzeige,0);
    TextDrawSetProportional(rundenanzeige,1);
    TextDrawSetShadow(rundenanzeige,1);

    exitanzeige=TextDrawCreate(410,422,"Zum Verlassen des Events: /exitevent");
    TextDrawAlignment(exitanzeige,3);
    TextDrawBackgroundColor(exitanzeige,255);
    TextDrawFont(exitanzeige,1);
    TextDrawLetterSize(exitanzeige,0.32,2.099999);
    TextDrawColor(exitanzeige,255);
    TextDrawSetOutline(exitanzeige,0);
    TextDrawSetProportional(exitanzeige,1);
    TextDrawSetShadow(exitanzeige,0);

    for(new i=0;i>MAX_PLAYERS;i++)
    {
    currentrounds[i]=TextDrawCreate(424.000000,379.000000," ");
    TextDrawBackgroundColor(currentrounds[i],255);
    TextDrawFont(currentrounds[i],3);
    TextDrawLetterSize(currentrounds[i],0.539999,1.800000);
    TextDrawColor(currentrounds[i],-6946561);
    TextDrawSetOutline(currentrounds[i],0);
    TextDrawSetProportional(currentrounds[i],1);
    TextDrawSetShadow(currentrounds[i],1);
    TextDrawUseBox(currentrounds[i],1);
    TextDrawBoxColor(currentrounds[i],255);
    TextDrawTextSize(currentrounds[i],453.000000,0.000000);
    }



    if(strcmp(cmdtext,"/befehl",true)==0)
    {
    new var[56];
    format(var,sizeof(var),"0/%d",runden);
    TextDrawSetString(currentrounds[playerid],var);
    TextDrawShowForPlayer(playerid,currentrounds[playerid]);
    TextDrawShowForPlayer(playerid,exitanzeige);
    TextDrawShowForPlayer(playerid,rundenanzeige);
    }


    Der Textdraw "exitanzeige" funktioniert problemlos.
    Der Textdraw "currentrounds" nimmt die komplette formatierung von dem Textdraw "rundenanzeige" an
    und der Textdraw "rundenanzeige" taucht garnicht auf.


    Bitte um Hilfe.


    LG
    Pille


    //Edit: Mittlerweile hab ich es geschafft, indem ich alles neu gemacht habe.

    Xtreme Vehicle Plotter ?(



    Du kannst mit GangZoneCreate eine GangZone erstellen.
    Die kannst du dann färben, sodass sie die Farbe des normalen
    Kartendesigns hat. Dann wird das auf der Map & Minimap angezeigt.


    Möchtest du noch wissen wie genau man das macht?

    Du willst doch wissen, wie man zusätzlich zu der GTA San Andreas Map etwas
    selbst gemapptes ergänzt, sodass man es auf der Mini-Map und auf der GRoßen Map sieht?


    Oder irre ich mich?

    Dass das manchen Usern nicht klar ist, was so ein Bild bewirken kann, ist traurig.


    Meiner Meinung nach ist es echt frauenverachtend.
    Eine Frau ist nicht dazu da, um sie, entschulidigt die Ausdrucksweise, zu ficken,
    eine Frau ist nicht da damit man ein hübsches Ding neben einen stehen hat,
    mit euren Profilbildern tut ihr so, als ob Frauen nur zu eins gut sind: Sex.


    Und das sind sie nicht.


    Würdet ihr es gut finden, wenn alle halbnackte Männer als Avatar haben?
    Also ich fände das diskriminierend...