Beiträge von Simon

    kla... aber wie? wie wissen nicht wo das tor hinsoll, wir wissen nicht was für ein tor...


    das ist kinderleicht ich mach oder erkläre es dir.. aber wir müssen schon wissen wo da ein tor hin soll..

    verscheinlich haste nach jeden befehl return 0; oder so.. das heißt, OnCommandText wird irgentwie abgestellt.


    du musst das haben:


    OnPlayerCommandText(...)
    {
    //hier command
    {
    //was passieren soll
    }
    //hier andere commands
    {
    }
    //und so weiter
    {
    }
    return 1;
    }

    wenn du sofort losfährst, kann das gut sein. mann kanns auch anderes machen, man lässt ihn erst garnet einsteigen, wie genau nun dafür der befehl ist, weiß ich nicht.

    new gsauto[1];//die zahl in klammern entspricht der anzahl der gangautos


    OnGameModeInit()
    {
    gsauto[0] = AddStaticVehicle(...);//
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new j = 0;j<sizeof gsauto;j++)
    {
    if(vehicleid == gsauto[j])
    {
    if(gTeam[playerid] == Team_Gs)
    {
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du besitzt keinen Schlüssel für dieses Auto!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    return 1;
    }


    hoffe das ist das was du wolltest..

    also einiges kannste selber machen...
    das ist nicht ganz so schwer. du speicherst einfach beim disconnecten die wanteds bsp. mit dini, und wenn er connected .dann giebst du ihm die wieder.


    bei OnPlayerDeath fragst du ab, ob die killerid cop ist, und wenn ja ob sie onduty ist. wenn nicht, kriegt er wanteds:


    GetPlayerWantedLevel(killerid + WANTEDS); //wanteds durch anzahl von wanteds ersetzen


    ebenfalls bei OnPlayerDeath fragst du ab ob playerid in der nähe eines cops ist. wenn ja portest du ihn in dahin wo er hin soll und startest ein timer und ziehst ihn das tentsprechende geld ab. wenn der timer vorbei ist, dann portest du ihn wieder zurück.


    mit dem reloggen musst du mal gucken, aber einiges kannste selber machen und da wo du hilfe brauchst kannste nochmal nachfragen.

    Guten Tag


    Ich wollte gerade ein Tutorial scripten. Ich habe dazu unter anderem als Vorlage ein Tutorial dazu benutzt.


    Das Problem: ich werde zwar nach dem registrieren und spawnen an die richtige stelle geportet und gefreezed, aber es geschieht danach nichts weiter.


    hier mein pawno-Ausschnitt:


    new bool:pFirstLog[MAX_PLAYERS],TutTimer[MAX_PLAYERS],TutTime[MAX_PLAYERS];
    forward Tutorial(playerid);


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    SpielerInfo[playerid][Banned] = dini_Int(Spielerdatei,"Banned");

    if(SpielerInfo[playerid][Banned] == 1)
    {
    new Gesperrt[256], Grund[256];
    format(Gesperrt,sizeof(Gesperrt),"Der Account %s ist hier gesperrt!", SpielerName);
    format(Grund,sizeof(Grund),"Grund: %s!", SpielerInfo[playerid][Reason]);
    SendClientMessageToAll(Rot, Gesperrt);
    SendClientMessageToAll(Rot, Grund);
    Ban(playerid);
    }
    else
    {
    if(slock == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Server ist abgeschlossen, probiere es später nochmal!");
    Kick(playerid);
    }
    else
    {
    if(dini_Exists(Spielerdatei))
    {
    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    if(strcmp(dini_Get(Spielerdatei,"IP"),plrIP,false) == 0)
    {
    Anmelden(playerid);
    SendClientMessage(playerid,0xFFFFFFFF, "Deine IP wurde wiedererkannt, du wurdest erfolgreich eingeloggt!");
    }
    else
    {
    ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich mit deinem Passwort ein!", " ", "Login!", "Abbrechen!");
    }
    }
    else if(!dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Registriere dich mit einem Passwort!", " ", "Registrieren!", "Abbrechen!");
    }
    if(join[playerid] == 0)
    {
    }
    else
    {
    new Connect[256];
    format(Connect,sizeof(Connect),"%s (%d) hat sich eingeloggt!",SpielerName,playerid);
    SendClientMessageToAll(0xFFFFFFFF, Connect);
    }
    }
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == regis)
    {
    if(response == 1)
    {
    new Spielerdatei[64];
    new SpielerName[MAX_PLAYER_NAME];
    SpielerInfo[playerid][alvl] = 0;
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    dini_Create(Spielerdatei);
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Registriere dich!", " ", "Registrieren!", "Abbrechen!");
    dini_Set(Spielerdatei,"Passwort",inputtext);
    dini_IntSet(Spielerdatei,"Wanteds",GetPlayerWantedLevel(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"AdminLevel",SpielerInfo[playerid][alvl]);
    dini_IntSet(Spielerdatei,"PayDay",SpielerInfo[playerid][PayDay]);
    new GlueckWunschText[128];
    format(GlueckWunschText,sizeof(GlueckWunschText),"Du hast dich erfolgreich mit den Name : %s und dem Passwort : %s registriert",SpielerName,inputtext);
    SendClientMessage(playerid,Rot,GlueckWunschText);
    SetPlayerWantedLevel(playerid,1);
    Anmelden(playerid);
    pFirstLog[playerid] = true;
    SendClientMessage(playerid,Rot,"Du wurdest automatisch eingloggt!");



    }
    }
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(pFirstLog[playerid] == true)
    {
    SetPlayerPos(playerid,0.0,0.0,0.0); // Tutorial Position
    TogglePlayerControllable(playerid,false);
    TutTime[playerid] = 1;
    TutTimer[playerid] = SetTimerEx("Tutorial",17000,1,"i",playerid);
    }
    return 1;
    }


    public Tutorial(playerid)
    {
    #define msg 0x00FF00FF
    if(TutTime[playerid] >= 1) // wenn die Zeit auf 1 gesetzt worden war, gehts los. Wenn während des Tutorials die zeit wieder auf 0 gesetzt wird, passiert in dem Timer garnichts.
    {
    if(TutTime[playerid] == 5)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
    {
    SendClientMessage(playerid,0x0000FFFF,"*~'__(Tutorial: Willkommen!)__'~*");
    SendClientMessage(playerid,msg,"Es folgt nun ein kleines Tutorial, passe bitte gut auf.");
    SendClientMessage(playerid,msg,"In Arbeit");
    }
    else if(TutTime[playerid] == 10)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
    {
    SendClientMessage(playerid,0x0000FFFF,"*~'__(Tutorial: In Arbeit!)__'~*");
    SendClientMessage(playerid,msg,"Dieses Tutorial befindest sich zur zeit in Arbeit");
    SendClientMessage(playerid,msg,"Die folgenden zeilen dienen zum Test");
    SendClientMessage(playerid,msg,"Test");
    SendClientMessage(playerid,msg,"TEST");
    }
    else if(TutTime[playerid] == 15) // hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
    {
    KillTimer(TutTimer[playerid]); // der Tutorial Timer wird beendigt
    TutTime[playerid] = -1; // die Tutorial Zeit auf INVALID gsetzt
    SpawnPlayer(playerid); // Spieler wird gespawn
    TogglePlayerControllable(playerid,true); // hier wird die Fähigkeit sich zu bewegen wieder auf "wahr" gesetzt


    }
    TutTime[playerid]++; // hier wird die Zeit jede Sekunde erhöht
    }
    return 1;
    }


    //edit: habs nochma überarbeitet, klappt trotzdem nicht.

    if(strcmp("/deathmatch", cmdtext, true) == 0)
    {
    SendClientMessage(playerid, COLOR_YELLOW,"Du bist jetzt beim Deathmatch Platz !");
    SetPlayerPos(playerid, -383.8187,2235.6748,42.0938,195.9328);
    GivePlayerWeapon(playerid,WAFFENID,WAFFENMUNITION); //die waffen id ist glaube ich 30, die waffenmuni musst du selber festlegen.
    //hier createtextdraw und all diesen kram
    return 1;
    }

    Guten Tag


    Ich wollte mal fragen wie man die Koordinaten von Textdraws herausbekommt.
    ich habe bisher immer nur durch ausprobieren sie an die richtige stelle bekommen.


    giebt es da irgintein programm oder ähnliches?


    mfg

    was für ein carspawnscript?


    da kann ich mir jetzt vieles drunter vorstellen:


    carspawnen per cmd, per pckup/menu, ein autokauf system, wo dann ein neues auto gespawnt wird...


    was genau willst du haben und es giebt auch noch die SuFu(Suchfunktion)

    OnGameModeInit()
    {
    UsePlayerPedAnims(); // Damit er nit mehr so Schwul läuft ;D
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {

    SetPlayerPos(playerid, 2536.4468,-1677.1610,19.9302);
    SetPlayerFacingAngle(playerid, 89.4983);
    SetPlayerCameraPos(playerid, 2530.0239,-1677.8695,19.9302);
    SetPlayerCameraLookAt(playerid, 2536.4468,-1677.1610,19.9302);
    //damit man die skins sieht, kannst du beliebig editieren
    return 1;
    }