Wantedstern-System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi,


    hab das vor ein paar Tagen zwar schon geposted, aber dann wieder gelöscht weil ich gedacht hab es funkt...
    Es soll wenn jemand Wanted bekommt und kein Behördler ist in seiner unmittelbaren Nähe, immer ein Stern nach 3 Minuten verschwinden...


    forward wantedzeitabfrage(playerid);
    public wantedzeitabfrage(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(GetPlayerWantedLevel(i)>=1)
    {
    for(new b=0; b<MAX_PLAYERS; b++)
    {
    if(GetPVarInt(b,"Fraktion")==3 || GetPVarInt(b,"Fraktion")==5 || GetPVarInt(b,"Fraktion")==13)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(i,x,y,z);
    if(!IsPlayerInRangeOfPoint(b,10.0,x,y,z))
    {
    SetPlayerWantedLevel(i,GetPlayerWantedLevel(i)-1);
    new string[128];
    format(string,sizeof(string),"Das Fahndungslevel von %s reduziert sich um 1 und ist nun auf %d.",SpielerName(i),GetPlayerWantedLevel(i));
    SendClientMessage(b,COLOR_YELLOW,string);
    SetPVarInt(i,"Wanted",GetPVarInt(i,"Wanted")-1);
    SpielerSpeichern(i);
    KillTimer(wantedsterntimer);
    wantedsterntimer = SetTimerEx("wantedzeitabfrage",1000*60*3,0,"i",playerid);
    if(GetPlayerWantedLevel(i)==0)
    {
    SetPVarInt(i,"Wanted",0);
    KillTimer(wantedsterntimer);
    SpielerSpeichern(i);
    SendClientMessage(i,COLOR_YELLOW,"Die Behörden haben die Fahndung nach dir aufgegeben.");
    new string1[128];
    format(string1,sizeof(string1),"%s wurde automatisch gecleart.",SpielerName(i));
    SendClientMessage(b,COLOR_YELLOW,string1);
    switch(GetPVarInt(i,"Fraktion"))
    {
    case 0:{SetPlayerColor(i,ZIVI_WHITE);}
    case 1:{SetPlayerColor(i,GROVE_GRÜN);}
    case 2:{SetPlayerColor(i,BALLAS_LILA);}
    case 3:{SetPlayerColor(i,LSPD_BLAU);}
    case 4:{SetPlayerColor(i,MEDIC_ROT);}
    case 5:{SetPlayerColor(i,ARMY_GRÜN);}
    case 6:{SetPlayerColor(i,FAHRSCHUL_GELB);}
    case 7:{SetPlayerColor(i,TERROR_BLAU);}
    case 8:{SetPlayerColor(i,LIEFERSERVICE_ROSA);}
    case 9:{SetPlayerColor(i,CAMORRA_TÜRKIS);}
    case 10:{SetPlayerColor(i,HITMAN_GOLD);}
    case 11:{SetPlayerColor(i,LCN_HELLGRÜN);}
    case 12:{SetPlayerColor(i,VAGOS_GELB);}
    case 13:{SetPlayerColor(i,SPECIAL_SCHWARZ);}
    }
    }
    }
    }
    }
    }
    }
    return 1;
    }

  • new wantedsterntimer[MAX_PLAYERS];


    forward wantedzeitabfrage(playerid);
    public wantedzeitabfrage(playerid)
    {
    for(new i=0;i!=MAX_PLAYERS;i++)
    {
    new string[128];
    if(GetPlayerWantedLevel(playerid)>=1)
    {
    if(GetPVarInt(i,"Fraktion")!=3 || GetPVarInt(i,"Fraktion")!=5 || GetPVarInt(i,"Fraktion")!=13)continue;
    new Float:x,Float:y,Float:z;GetPlayerPos(playerid,x,y,z);
    if(!IsPlayerInRangeOfPoint(i,10.0,x,y,z))
    {
    SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)-1);
    format(string,128,"Das Fahndungslevel von %s reduziert sich um 1 und ist nun auf %d.",SpielerName(playerid),GetPlayerWantedLevel(playerid));
    SendClientMessage(i,COLOR_YELLOW,string);
    SetPVarInt(playerid,"Wanted",GetPVarInt(playerid,"Wanted")-1);SpielerSpeichern(playerid);
    }
    }
    else
    {
    KillTimer(wantedsterntimer[playerid]);
    SetPVarInt(playerid,"Wanted",0);SpielerSpeichern(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Die Behörden haben die Fahndung nach dir aufgegeben.");
    format(string,128,"%s wurde automatisch gecleart.",SpielerName(playerid));
    SendClientMessage(i,COLOR_YELLOW,string);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0: SetPlayerColor(playerid,ZIVI_WHITE);
    case 1: SetPlayerColor(playerid,GROVE_GRÜN);
    case 2: SetPlayerColor(playerid,BALLAS_LILA);
    case 3: SetPlayerColor(playerid,LSPD_BLAU);
    case 4: SetPlayerColor(playerid,MEDIC_ROT);
    case 5: SetPlayerColor(playerid,ARMY_GRÜN);
    case 6: SetPlayerColor(playerid,FAHRSCHUL_GELB);
    case 7: SetPlayerColor(playerid,TERROR_BLAU);
    case 8: SetPlayerColor(playerid,LIEFERSERVICE_ROSA);
    case 9: SetPlayerColor(playerid,CAMORRA_TÜRKIS);
    case 10: SetPlayerColor(playerid,HITMAN_GOLD);
    case 11: SetPlayerColor(playerid,LCN_HELLGRÜN);}
    case 12: SetPlayerColor(playerid,VAGOS_GELB);
    case 13: SetPlayerColor(playerid,SPECIAL_SCHWARZ);
    }
    }
    }
    return 1;
    }


    //edit: Verbessert, sollte nun funktionieren, allerdings würde ich das komplett anders lösen, naja... :)
    //edit2: Einrücken kannst du ja selber :D

    Einmal editiert, zuletzt von k4biX ()