Beiträge von Stylernero

    Mein Blitzer funktioniert nicht, egal welche max. Geschwindigkeit ich eingebe und diese überschreitet, man wird nicht geblitzt. Eigentlich gibt es dafür folgende Funktionen. Irgendwelche Ideen?


    stock Blitzer_Timer()
    {
    new save, strafe, speeds;
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    save = GetPVarInt(playerid, "BlitzPause");
    if(save > 0)
    {
    save--;
    SetPVarInt(playerid, "BlitzPause", save);
    continue;
    }
    if(!IsPlayerInAnyVehicle(playerid) || IsPlayerNPC(playerid)) continue;
    for(new i = 0; i < sizeof(Blitzer); i++)
    {
    if(Blitzer[i][Erstellt] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid, Blitzer[i][Radius], Blitzer[i][BlitzerX], Blitzer[i][BlitzerY], Blitzer[i][BlitzerZ]))
    {
    new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
    new veh = GetPlayerVehicleID(playerid);
    GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
    final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*93.0; // 136.666667 = kmph // 85.4166672= mph
    final_speed_int = floatround(final_speed,floatround_round);
    speeds = final_speed_int;
    if(speeds > Blitzer[i][Geschwindigkeit] && !IsACop(playerid) && GetPlayerState(playerid) == 2)
    {
    new string[128];
    SetPVarInt(playerid, "BlitzPause", (BLITZER_TIMER_INTERVALL * BLITZER_PAUSE * 60) / 1000);
    strafe = Blitzer[i][Strafe] * (speeds-Blitzer[i][Geschwindigkeit]);
    Staatskassengeld += geld;
    GivePlayerMoney(playerid, -strafe);
    format(string,sizeof(string),"[BLITZER] * Du wurdest mit %d km/h geblitzt. Du musst $%d Bußgeld bezahlen. *",speeds,Blitzer[i][Geschwindigkeit],strafe);
    SendClientMessage(playerid,rot, string);
    }
    }
    }
    }
    }
    return 1;


    stock ErmittleGeschwindigkeit(playerid,bool:kmhb)
    {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmhb?floatround(rtn * 55 * 1.61):floatround(rtn * 100);
    }

    Ich weiß echt nicht woran es liegt. Jetzt kommt es zwar nicht mehr vor dem einloggen, aber nachdem ich mich eingeloggt habe. Ich habe auch nochmal in meine Datei geschaut und alle Werte (Tot & Totzeit) stehen auf 0. Daher kann die Nachricht "ENTLASSEN" doch gar nicht angezeigt werden.

    Ich habe folgendes Problem, ich habe mir ein Krankenhaus System gebastelt. Funktioniert auch ganz ordentlich bis auf die die Tatsache, dass wenn man on kommt, dort ständig "ENTLASSEN" im Chat wiederholt wird. Ich habe das gleiche System in etwa fürn Knast verwendet und da wird die Entlassnachricht nicht ständig angezeigt. Dies beginnt beim Krankenhaus schon beim connecten. Kann mir jemand helfen? Ich lass es mit einem Timer abfragen, der sich jede Sekunde wiederholt.


    stock SetPlayerUnDeath()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Tot] == 1)
    {
    SpielerInfo[i][TotZeit]--;
    }
    if(SpielerInfo[i][TotZeit] <= 0)
    {
    SpielerInfo[i][TotZeit] = 0;
    SpielerInfo[i][Tot] = 0;
    SendClientMessage(i,weiß,"ENTLASSEN");
    }
    }
    }
    return 1;
    }

    Hallo,
    ich habe eine Frage bezüglich Timern. Ist es möglich die verbliebene Zeit eines bereits laufenden Timers in einem Befehl anzeigen zu lassen, oder funktioniert das nicht so einfach?
    Wenn ja, könnte mir vielleicht einer ein Bespiel hierzu geben:


    Mein Timer:
    SetTimerEx("PersoWarten",1000*60*5,false,"i",playerid);


    und diese Zeile hinter der string Nachricht mit der passenden Bezeichnung vervollständigen? Falls es möglich ist?
    format(string,sizeof string,"* Verbliebende Wartezeit: %d", //// HIER ////);


    Danke im Voraus :)

    Hallo, ich habe mir ein stink normales Gefängnis System erstellt. Bei einem Punkt komme ich allerdings nicht weiter. Ich möchte das wenn der Spieler für 40 Minuten gebannt wird, wirklich auch 40 Minuten auf dem Server bleibt damit die Zeit runter geht. Daher geht das natürlich nicht mit einem Timer und einem dazugehörenden public. Eine andere möglichkeit ist mir momentan aber nicht wirklich bekannt. Wie muss ich vorgehen damit die Zeit nur runterrechnet wenn der Spieler auf dem Server ist und wodrunter erstelle ich dann die Funktion was passiert wenn die Zeit abgelaufen ist?


    MFG :)

    Hallo, ich würde gerne die Lebensenergie für meine playerid um z.b 20 erhöhen. Natürlich geht dies nicht so einfach mit SetPlayerHealth und dann ..,+20 ..
    Könnte mir vielleicht einer zeigen wie ich meiner Energie 20% hinzufügen könnte?


    Danke:)

    Hallo, ich bin mittlerweile zu dem Punkt angekommen, dass ich ab jetzt Tötungsdelikte von Spielern gegen andere Spieler als Verbrechen zählen muss. Leider habe ich mich noch nie richtig mit "OnPlayerDeath" befasst und weiß daher nicht wie ich das anstellen soll. Kann mir das vielleicht einer mithilfe eines Beispieles erklären? Würde mir echt weiterhelfen,


    MFG :)

    Hallo :) , ich habe mal eine Frage. Undzwar habe ich mir ein Bankraubsystem gemacht und würde gerne mal zum abschluss des systemes fragen, ob es möglich ist den Polizisten den namen des Bankräubers zu übermitteln. heißt das es halt per zufall gewählt wird ob sie einen genauen Namen bekommen oder nicht? Hier mal die pawn dateien:


    public ReuberTimer(playerid)
    {
    if(GetPlayerInterior(playerid) == 0)
    {
    new randmoney = 40000+ random(20000);
    GivePlayerMoney(playerid,randmoney);
    SpielerInfo[playerid][Wanteds] += 40;
    if(SpielerInfo[playerid][Wanteds] < 10) { SetPlayerWantedLevel(playerid,0); }
    else if(SpielerInfo[playerid][Wanteds] < 20) { SetPlayerWantedLevel(playerid,1); }
    else if(SpielerInfo[playerid][Wanteds] < 30) { SetPlayerWantedLevel(playerid,2); }
    else if(SpielerInfo[playerid][Wanteds] < 40) { SetPlayerWantedLevel(playerid,3); }
    else if(SpielerInfo[playerid][Wanteds] < 50) { SetPlayerWantedLevel(playerid,4); }
    else if(SpielerInfo[playerid][Wanteds] < 60) { SetPlayerWantedLevel(playerid,5); }
    else if(SpielerInfo[playerid][Wanteds] > 60) { SetPlayerWantedLevel(playerid,6); }
    new string[128];
    format(string,sizeof(string),"Geld erhalten. Du solltest nun flüchten. Beute: $%d. (Du wurdest erkannt.)",randmoney);
    SendClientMessage(playerid,weiß,string);
    }
    else
    {
    SpielerInfo[playerid][Wanteds] += 40;
    if(SpielerInfo[playerid][Wanteds] < 10) { SetPlayerWantedLevel(playerid,0); }
    else if(SpielerInfo[playerid][Wanteds] < 20) { SetPlayerWantedLevel(playerid,1); }
    else if(SpielerInfo[playerid][Wanteds] < 30) { SetPlayerWantedLevel(playerid,2); }
    else if(SpielerInfo[playerid][Wanteds] < 40) { SetPlayerWantedLevel(playerid,3); }
    else if(SpielerInfo[playerid][Wanteds] < 50) { SetPlayerWantedLevel(playerid,4); }
    else if(SpielerInfo[playerid][Wanteds] < 60) { SetPlayerWantedLevel(playerid,5); }
    else if(SpielerInfo[playerid][Wanteds] > 60) { SetPlayerWantedLevel(playerid,6); }
    SendClientMessage(playerid,weiß,"* Du hast das Gebäude verlassen bevor du das Geld bekommen hast. *");
    SendClientMessage(playerid,weiß,"* Da der Bankangestellte eine genau Beschreibung des Täters abgeben konnte, *");
    SendClientMessage(playerid,weiß,"* wirst du jetzt von der Polizei gesucht. Verstecke dich, damit sie dich nicht finden.");
    }
    return 1;
    }

    Folgendes, das Problem liegt darin, dass die string nachricht richtig angezeigt wird und auch gesndet wird, aber die SpielerInfo[..] nicht gesetzt wird. Somit bekommt der spieler dann eine nachricht ingame aber wird nicht zur fraktion hinzugefügt. Woran liegt das?


    if(response == 1)
    {
    new spieler[MAX_PLAYER_NAME],string[128];
    GetPlayerName(InviteBekommer[playerid],spieler,sizeof spieler);
    format(string,sizeof string,"* %s hat deine Einladung akzeptiert.",spieler);
    SendClientMessage(playerid,gelb,string);
    SendClientMessage(InviteBekommer[playerid],hellblau,"* Einladung akzeptiert. Tippe (/help) für Informationen.");
    SendClientMessage(InviteBekommer[playerid],hellblau,"* Außerdem solltest du deinen Co-/Leader nach einer Einführung fragen.");
    SpielerInfo[InviteBekommer[playerid]][Fraktion] = SpielerInfo[InviteGeber[playerid]][Fraktion];
    SpielerInfo[InviteBekommer[playerid]][Rank] = 1;
    SpawnPlayer(InviteBekommer[playerid]);
    return 1;
    }

    Es funktioniert jetzt einwandfrei! Danke! :)


    aber um mich noch einmal schlau zu machen, - es bringt ja nichts wenn ich es einfach einfüge, aber den eigentlichen Sinn immer noch nicht verstanden habe. Heißt es bei SpielerInfo[playerid][Wanteds] >= 10" nicht, dass wenn der Spieler ab 10 Wantedpunkte einen Wantedstern gekommt?

    new mVeh = GetPlayerVehicleID(playerid);
    if((mVeh != pFahrschulCar[playerid] || mVeh != pCar[playerid]) && pMakeTutorial[playerid])
    {
    FreezePlayer(playerid);
    SendClientMessage(playerid, COLOR_GREY, "Da du im Tutorial bist, kannst du nur mit dem gemieteten Fahrzeug oder dem Fahrschul-Auto fahren!");
    RemovePlayerFromVehicle(playerid);
    UnfreezePlayer(playerid);
    return 1;
    }