[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Der befehl soll "/list" heißen.


    Hier:


    if(!strcmp(cmdtext,"/list",true)) {
    new i,buffer[64],name[MAX_PLAYER_NAME+1];
    SendClientMessage(playerid,0xFF0000,"Alle Spieler die Wanteds haben:");
    for(; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !GetPlayerWantedLevel(i)) continue;
    GetPlayerName(i,name,MAX_PLAYER_NAME+1);
    format(buffer,64,"Spieler %s (ID: %d) besitzt %d Wanteds.",name,i,GetPlayerWantedLevel(i));
    SendClientMessage(playerid,0xFF4800FF,buffer);
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Schwabbel ()

  • Hat einer von euch eine Idee wie ich den Timer etwas schonender machen kann?
    Wenn kein User auf den Server ist brauch der zwischen 10 und 20 Millisekunden und das ist mir etwas zu hoch
    Ich habe schon einiges geändert aber die Zeit will nicht runtergehen

    Spoiler anzeigen
    DT_Public OnSecond()
    {
    new minute,sec,hour,query[128], Kosten[2];
    gettime(hour,minute,sec);
    new t1 = GetTickCount();
    if(minute%15==0&&sec==0)
    {
    Wetter[0] = WetterRandomLS[random(sizeof(WetterRandomLS))];
    Wetter[1] = WetterRandomSF[random(sizeof(WetterRandomSF))];
    Wetter[2] = WetterRandomLV[random(sizeof(WetterRandomLV))];
    for(new i; i < MAX_PLAYERS; i++){
    if(!IsPlayerConnected(i))continue;
    SetPlayerWetter(i);}
    if(Werbung==0)
    {
    SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]====================");
    SendClientMessageToAll(cWhite,"Schon gewusst?");
    SendClientMessageToAll(cWhite,"Bei uns gibt es die DT-Sterne.");
    SendClientMessageToAll(cWhite,"Mit diesen Sternen, kannst du dir einige schöne Dinge holen.");
    SendClientMessageToAll(cWhite,"Gebe dafür /shop ein.");
    SendClientMessageToAll(cGrey,"====================["ForenURL"]====================");
    Werbung=1;
    }
    else if(Werbung==1)
    {
    SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]====================");
    SendClientMessageToAll(cWhite,"Du hast nichts zu tun?");
    SendClientMessageToAll(cWhite,"Dann such dir einen Job.");
    SendClientMessageToAll(cWhite,"Es gibt verschiedene Jobs, die einen Spaß machen können");
    SendClientMessageToAll(cWhite,"und mit den man schnelles Geld machen kann.");
    SendClientMessageToAll(cWhite,"Jobs findest du in unseren Arbeitsamt.");
    SendClientMessageToAll(cGrey,"====================["ForenURL"]====================");
    Werbung=2;
    }
    else if(Werbung==2)
    {
    SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]====================");
    SendClientMessageToAll(cWhite,"Schon gewusst?");
    SendClientMessageToAll(cWhite,"Um Gebäude zu betreten,");
    SendClientMessageToAll(cWhite,"musst du nicht immer Commands eingeben.");
    SendClientMessageToAll(cWhite,"Drücke einfach die Enter Taste.");
    SendClientMessageToAll(cGrey,"====================["ForenURL"]====================");
    Werbung=0;
    }
    }
    if(minute == 0 && sec == 0)
    {
    for(new i = 0; i < MAX_HAUS; i++)
    {
    if(strcmp(Haus[i][HOwner],"Niemand",true))
    {
    if(Biz[WasserBiz][bProds]>4)
    {
    Kosten[0] = Biz[WasserBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[0])
    {
    Biz[WasserBiz][bProds] -= 5;
    Biz[WasserBiz][bKasse] += Kosten[0];
    Haus[i][HKasse] -= Kosten[0];
    UpdateHaus(i);
    UpdateBiz(WasserBiz);
    }
    }
    else
    {
    SendClientMessageToAll(cYellow,">> Das Wasserwerk benötigt dringed Waren!");
    SendClientMessageToAll(cYellow,">> Es steht ein Wassermangel bevor!");
    }
    if(Biz[StromBiz][bProds]>4)
    {
    Kosten[1] = Biz[StromBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[1])
    {
    Biz[StromBiz][bProds] -= 5;
    Biz[StromBiz][bKasse] += Kosten[1];
    Haus[i][HKasse] -= Kosten[1];
    UpdateHaus(i);
    UpdateBiz(StromBiz);
    }
    }
    else
    {
    SendClientMessageToAll(cYellow,">> Das Stromwerk benötigt dringed Waren!");
    SendClientMessageToAll(cYellow,">> Es steht ein Stromausfall bevor!");
    }
    }
    }
    SaveGame();
    }
    if(hour > 7 && hour < 23)
    {
    if(minute==0&&sec==0)
    {
    Server[ServerLotto]+=random(5000);
    format(query,128,">> In 3 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]);
    SendClientMessageToAll(cGrey,query);
    format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS);
    SendClientMessageToAll(cGrey,query);
    }
    else if(minute==1&&sec==0)
    {
    format(query,128,">> In 2 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]);
    SendClientMessageToAll(cGrey,query);
    format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS);
    SendClientMessageToAll(cGrey,query);
    }
    else if(minute==2&&sec==0)
    {
    format(query,128,">> In 1 Minute beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]);
    SendClientMessageToAll(cGrey,query);
    format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS);
    SendClientMessageToAll(cGrey,query);
    }
    else if(minute==3&&sec==0)
    {
    new Number = 1+random(MAX_PLAYERS);
    format(query,128,">> Die heutige Zahl im Lottospiel lautet %d!",Number);
    SendClientMessageToAll(cGrey,query);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerInfo[i][Logged]==0) continue;
    if(Number==PlayerInfo[i][Lotto])
    {
    format(query,128,">> %s hat den Jackpot geknackt und bekam %d$!",PlayerInfo[i][Name],Server[ServerLotto]);
    SendClientMessageToAll(cGrey,query);
    Server[ServerKasse]-=Server[ServerLotto];
    GivePlayerMoney(i,Server[ServerLotto]);
    Server[ServerLotto]=0;
    Server[ServerLotto]+=random(5000);
    }
    PlayerInfo[i][Lotto]=0;
    }
    }
    }
    switch(TimeUhr)
    {
    case 0:{format(query,20,"%02d %02d",hour,minute),TimeUhr=0;}
    case 1:{format(query,20,"%02d:%02d",hour,minute),TimeUhr=1;}
    }
    TextDrawSetString(Clock,query);
    TextDrawShowForAll(Clock);
    SetWorldTime(hour);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerInfo[i][Logged]==1)
    {
    if(GetPlayerMoney(i) > PlayerInfo[i][Geld])
    {
    SetPlayerMoney(i,PlayerInfo[i][Geld]);
    }
    if(GetTickCount()-PlayerInfo[i][AFK] > 1999)
    {
    format(query,sizeof query,"AFK seit %d Sekunden",((GetTickCount()-PlayerInfo[i][AFK])/1000));
    SetPlayerChatBubble(i,query,cRed,15.0,1500);
    continue;
    }
    else
    {
    if(PlayerInfo[i][PayDay]!=0)
    PlayerInfo[i][PayDay]--;
    else if(PlayerInfo[i][PayDay]==0)
    PlayerPayDay(i);
    if(PlayerInfo[i][Jailtime] > 0)
    PlayerInfo[i][Jailtime]--;
    else if(PlayerInfo[i][Jailtime]==0)
    PlayerInfo[i][Jailtime]=-2,SpawnPlayer(i);
    if(PlayerInfo[i][FuckBlitzer]> 0)
    PlayerInfo[i][FuckBlitzer]--;
    else if(PlayerInfo[i][FuckBlitzer]==0)
    PlayerInfo[i][FuckBlitzer] = -1;
    if(PlayerInfo[i][Gemutet]!=0)
    PlayerInfo[i][Gemutet]--;
    else if(PlayerInfo[i][Gemutet]==0)
    PlayerInfo[i][Gemutet]=0;
    if(IsUserInFillStation(i))
    GameTextForPlayer(i,"Willkommen an der~n~Tankstelle~n~/tanken",1200,6);
    if(GetNearATM(i))
    GameTextForPlayer(i,"~y~Willkommen am ATM~n~~w~Druecke Enter",1200,6);
    UpdateAdminTicket(i);
    if(PlayerInfo[i][MedicTot]>0)
    {
    PlayerInfo[i][MedicTot]--;
    if(PlayerInfo[i][MedicTot]<11)
    PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
    format(query,128,"~w~Noch ~r~%d ~w~Sekunden",PlayerInfo[i][MedicTot]);
    GameTextForPlayer(i,query,1200,6);
    ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 1000*60*3);
    format(query,128,"Überlebt noch %d Sekunden",PlayerInfo[i][MedicTot]);
    SetPlayerChatBubble(i, query, cGrey, 10.0, 1500);
    }
    else if(PlayerInfo[i][MedicTot]==0)
    {
    PlayerInfo[i][MedicTot]=-1;
    if(PlayerInfo[i][Mediccall]!=0)
    {
    PlayerInfo[i][Tot]=1;
    PlayerInfo[i][Mediccall]=0;
    DestroyPickup(PlayerInfo[i][TotPickup]);
    PlayerInfo[i][TotPickup]=-1;
    PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
    format(query,128,">> %s ist an seinen Verletzungen verstorben!",PlayerInfo[i][Name]);
    SendTeamMessage(tMedic,query);
    GameTextForPlayer(i,"Du bist an deinen Verletzungen gestorben",1200,6);
    SpawnPlayer(i);
    }
    else
    {
    PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
    PlayerInfo[i][Tot]=3;
    SpawnPlayer(i);
    }
    }
    format(query,100,"~g~%d ] "ForenURL"",PlayerInfo[i][Star]);
    TextDrawSetString(PlayerInfo[i][StarInfo],query);
    TextDrawShowForPlayer(i,PlayerInfo[i][StarInfo]);
    //FuckBlitzer
    for(new Blitz=0; Blitz<sizeof(ServerBlitzer); Blitz++)
    {
    if(IsPlayerInRangeOfPoint(i, 40.0, ServerBlitzer[Blitz][SBx], ServerBlitzer[Blitz][SBy], ServerBlitzer[Blitz][SBz]))
    {
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER)
    {
    new speed = sm_GetVehicleSpeed(GetPlayerVehicleID(i));
    if(speed > ServerBlitzer[Blitz][SBSpeed])
    {
    if(PlayerInfo[i][FuckBlitzer] == -1)
    {
    PlayerInfo[i][FuckBlitzer] = 10;
    new strafe = (speed*3)-ServerBlitzer[Blitz][SBSpeed];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0);
    GivePlayerMoney(i, -strafe);
    Server[ServerKasse]+=strafe;
    format(query,sizeof(query), "[BLITZER] Du bist %d km/h zu schnell gefahren!", speed - ServerBlitzer[Blitz][SBSpeed]);
    SendClientMessage(i, cYellow, query);
    format(query,sizeof(query), "[BLITZER] Erlaubte Geschwindigkeit: %d km/h. Du musst %d$ Strafe bezahlen.", ServerBlitzer[Blitz][SBSpeed], strafe);
    SendClientMessage(i, cYellow, query);
    TextDrawShowForPlayer(i,PlayerInfo[i][LadeACC][0]);
    SetTimerEx("HideBlitzer",1000,0,"d",i);
    }
    }
    }
    }
    }
    if(GetPlayerState(i)==PLAYER_STATE_SPECTATING)
    {
    new Float:OpferHealth, Float:OpferVehHealth;
    GetPlayerHealth(PlayerInfo[i][Opfer],OpferHealth);
    GetVehicleHealth(GetPlayerVehicleID(PlayerInfo[i][Opfer]),OpferVehHealth);
    new sh=floatround(OpferHealth,floatround_round);
    new vh=floatround(OpferVehHealth,floatround_round);
    format(query,sizeof(query),"~n~~n~~n~~n~~n~~n~~n~~r~HP: %d~n~~r~Vehicle-HP: %d~n~~r~",sh,vh);
    GameTextForPlayer(i,query,1500,4);
    }
    new weg = sm_GetVehicleSpeed(GetPlayerVehicleID(i)),tachostring[128];
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER)
    {
    new vid=GetPlayerVehicleID(i);
    format(tachostring,sizeof tachostring,"Tank: %d/%d~n~~w~~n~Km: %.2f",Car[vid][Tank]/10,((Car[vid][Tank]/10 > 100)?(1000):(100)),((Car[vid][Kilometers] > 0)?(Car[vid][Kilometers]):(0.0)));
    TextDrawSetString(PlayerInfo[i][Tacho][1],tachostring);
    if(Car[vid][Kilometers] > 0)Car[vid][Kilometers]+=floatdiv(float(weg),3600);
    format(tachostring,sizeof tachostring,"%d Km/h",weg);
    TextDrawSetString(PlayerInfo[i][Tacho][0],tachostring);
    TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][0]);
    TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][1]);
    if(weg > 350)
    {
    format(query, sizeof(query), "%d kmh (%s)",weg,CarName[GetVehicleModel(vid)-400]);
    CartmanMelder(i,query,"~y~");
    shit_Cartman(i,"Speedhack");
    }
    //Motorzeug etc
    new Float:vHP,Float:x,Float:y,Float:z,Float:a,engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleHealth(vid,vHP);
    if(vHP >= 300.0) continue;
    if(vHP <= 250.0)
    {
    SetVehicleHealth(vid,260.0);
    GetVehiclePos(vid,x,y,z);
    GetVehicleZAngle(vid,a);
    SetVehiclePos(vid,x,y,z);
    SetVehicleZAngle(vid,a);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    if(Car[vid][PuttPutt]==0)
    {
    Car[vid][Motor]=0;
    Car[vid][PuttPutt]=1;
    SendDriverMessage(vid,"[Motorschaden] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0)
    {
    format(query, sizeof(query),"[Fraktions-Info] Das Fahrzeug mit den Kennzeichen %s hat einen Totalschaden", Car[vid][Numplate]);
    SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    }
    if(CheckUserFromTeam(tFeuer) >= 2)
    {
    for(new pID; pID < MAX_PLAYERS; pID++)
    {
    if(!IsPlayerConnected(pID)) continue;
    if(GetPlayerVehicleID(pID) == vid)
    {
    TogglePlayerControllable(pID, 0);
    SendClientMessage(pID, cRed, "Durch den Unfall bist du eingeklemmt! Rufe mit /feuerwehr die Feuerwehr");
    SendClientMessage(pID, cRed, "--- Bitte einigt euch, wer von euch die Feuerwehr ruft! (wenn mehrere in einem Auto sitzen!) ---");
    SetPlayerHealth(pID, 1);
    }
    }
    }
    }
    }
    }
    else
    {
    TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][0]);
    TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][1]);
    }
    }
    }
    }
    for(new i = 0; i < sizeof(Geschenk); i++)
    {
    if(Geschenk[i][G_Erstellt]==0) continue;
    if(Geschenk[i][G_Erstellt]==1)
    {
    if(Geschenk[i][G_Timeout]!=0)Geschenk[i][G_Timeout]--;
    else if(Geschenk[i][G_Timeout]==0)Geschenk[i][G_Timeout]=0;
    }
    }
    for(new vid; vid < MAX_VEHICLES; vid++)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsAFly(vid) || IsAHeli(vid) || IsABoot(vid)) continue;
    if(Car[vid][Motor]!=1) continue;
    if(Car[vid][Motor]==1)
    {
    switch(Car[vid][Tank])
    {
    case 0:
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Car[vid][Motor]=0;
    Car[vid][Tank]=0;
    SendDriverMessage(vid,"[Tank leer] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0)
    {
    format(query,128,"[Fraktions-Info] Der Tank von den Wagen mit dem Kennzeichen %s ist leer",Car[vid][Numplate]);
    SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    }
    }
    default:
    {
    Car[vid][Tank]--;
    }
    }
    }
    }
    new t2 = GetTickCount();
    printf("%d ms",t2-t1);
    return 1;
    }

    All in all it's just another brick in the wall

  • Was man dazu sagen muss ist, dass dein Code nicht wirklich "gut" geschrieben ist ^^


    Warte ich schreibe den mal neu...:


    //Edit:


    So hier, probiere mal wie gut das geht:


    Spoiler anzeigen
    DT_Public OnSecond()
    {
    new minute,sec,hour,query[128], Kosten[2];
    gettime(hour,minute,sec);
    new t1 = GetTickCount();
    if(minute%15==0&&sec==0) {
    Wetter[0] = WetterRandomLS[random(sizeof(WetterRandomLS))],Wetter[1] = WetterRandomSF[random(sizeof(WetterRandomSF))],Wetter[2] = WetterRandomLV[random(sizeof(WetterRandomLV))];
    for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerWetter(i);
    switch(Werbung) {
    case 0: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Bei uns gibt es die DT-Sterne."),SendClientMessageToAll(cWhite,"Mit diesen Sternen, kannst du dir einige schöne Dinge holen."),SendClientMessageToAll(cWhite,"Gebe dafür /shop ein."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=1;
    case 1: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Du hast nichts zu tun?"),SendClientMessageToAll(cWhite,"Dann such dir einen Job."),SendClientMessageToAll(cWhite,"Es gibt verschiedene Jobs, die einen Spaß machen können"),SendClientMessageToAll(cWhite,"und mit den man schnelles Geld machen kann."),SendClientMessageToAll(cWhite,"Jobs findest du in unseren Arbeitsamt."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=2;
    case 2: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Um Gebäude zu betreten,"),SendClientMessageToAll(cWhite,"musst du nicht immer Commands eingeben."),SendClientMessageToAll(cWhite,"Drücke einfach die Enter Taste."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=0;
    }
    }
    if(minute == 0 && sec == 0) {
    for(new i; i<MAX_HAUS; i++) {
    if(strcmp(Haus[i][HOwner],"Niemand",true)) {
    if(Biz[WasserBiz][bProds]>4) {
    Kosten[0] = Biz[WasserBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[0]) Biz[WasserBiz][bProds] -= 5,Biz[WasserBiz][bKasse] += Kosten[0],Haus[i][HKasse] -= Kosten[0],UpdateHaus(i),UpdateBiz(WasserBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Wasserwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Wassermangel bevor!");
    if(Biz[StromBiz][bProds]>4) {
    Kosten[1] = Biz[StromBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[1]) Biz[StromBiz][bProds] -= 5,Biz[StromBiz][bKasse] += Kosten[1],Haus[i][HKasse] -= Kosten[1],UpdateHaus(i),UpdateBiz(StromBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Stromwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Stromausfall bevor!");
    }
    }
    SaveGame();
    }
    if(hour > 7 && hour < 23) {
    if(minute==0&&sec==0) Server[ServerLotto]+=random(5000),format(query,128,">> In 3 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==1&&sec==0) format(query,128,">> In 2 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==2&&sec==0) format(query,128,">> In 1 Minute beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==3&&sec==0) {
    new Number = 1+random(MAX_PLAYERS);
    format(query,128,">> Die heutige Zahl im Lottospiel lautet %d!",Number),SendClientMessageToAll(cGrey,query);
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || PlayerInfo[i][Logged]==0 || Number!=PlayerInfo[i][Lotto]) continue;
    if(Number==PlayerInfo[i][Lotto]) format(query,128,">> %s hat den Jackpot geknackt und bekam %d$!",PlayerInfo[i][Name],Server[ServerLotto]),SendClientMessageToAll(cGrey,query),Server[ServerKasse]-=Server[ServerLotto],GivePlayerMoney(i,Server[ServerLotto]),Server[ServerLotto]=0,Server[ServerLotto]+=random(5000);
    PlayerInfo[i][Lotto]=0;
    }
    }
    }
    switch(TimeUhr) {
    case 0: format(query,20,"%02d %02d",hour,minute),TimeUhr=0;
    case 1: format(query,20,"%02d:%02d",hour,minute),TimeUhr=1;
    }
    TextDrawSetString(Clock,query),TextDrawShowForAll(Clock),SetWorldTime(hour);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !PlayerInfo[i][Logged]) continue;
    if(GetPlayerMoney(i) > PlayerInfo[i][Geld]) SetPlayerMoney(i,PlayerInfo[i][Geld]);
    if(GetTickCount()-PlayerInfo[i][AFK] > 1999) {
    format(query,sizeof query,"AFK seit %d Sekunden",((GetTickCount()-PlayerInfo[i][AFK])/1000)),SetPlayerChatBubble(i,query,cRed,15.0,1500);
    continue;
    }
    if(PlayerInfo[i][PayDay]!=0) PlayerInfo[i][PayDay]--;
    if(PlayerInfo[i][PayDay]==0) PlayerPayDay(i);
    if(PlayerInfo[i][Jailtime] > 0) PlayerInfo[i][Jailtime]--;
    if(PlayerInfo[i][Jailtime]==0) PlayerInfo[i][Jailtime]=-2,SpawnPlayer(i);
    if(PlayerInfo[i][FuckBlitzer]> 0) PlayerInfo[i][FuckBlitzer]--;
    if(PlayerInfo[i][FuckBlitzer]==0) PlayerInfo[i][FuckBlitzer] = -1;
    if(PlayerInfo[i][Gemutet]!=0) PlayerInfo[i][Gemutet]--;
    if(PlayerInfo[i][Gemutet]==0) PlayerInfo[i][Gemutet]=0;
    if(IsUserInFillStation(i)) GameTextForPlayer(i,"Willkommen an der~n~Tankstelle~n~/tanken",1200,6);
    if(GetNearATM(i)) GameTextForPlayer(i,"~y~Willkommen am ATM~n~~w~Druecke Enter",1200,6);
    UpdateAdminTicket(i);
    if(PlayerInfo[i][MedicTot]>0) {
    PlayerInfo[i][MedicTot]--;
    if(PlayerInfo[i][MedicTot]<11) PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
    format(query,128,"~w~Noch ~r~%d ~w~Sekunden",PlayerInfo[i][MedicTot]),GameTextForPlayer(i,query,1200,6),ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 1000*60*3),format(query,128,"Überlebt noch %d Sekunden",PlayerInfo[i][MedicTot]),SetPlayerChatBubble(i, query, cGrey, 10.0, 1500);
    }
    if(!PlayerInfo[i][MedicTot]) {
    PlayerInfo[i][MedicTot]=-1;
    if(PlayerInfo[i][Mediccall]!=0) PlayerInfo[i][Tot]=1,PlayerInfo[i][Mediccall]=0,DestroyPickup(PlayerInfo[i][TotPickup]),PlayerInfo[i][TotPickup]=-1,PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),format(query,128,">> %s ist an seinen Verletzungen verstorben!",PlayerInfo[i][Name]),SendTeamMessage(tMedic,query),GameTextForPlayer(i,"Du bist an deinen Verletzungen gestorben",1200,6),SpawnPlayer(i);
    else PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),PlayerInfo[i][Tot]=3,SpawnPlayer(i);
    format(query,100,"~g~%d ] "ForenURL"",PlayerInfo[i][Star]),TextDrawSetString(PlayerInfo[i][StarInfo],query),TextDrawShowForPlayer(i,PlayerInfo[i][StarInfo]);
    //FuckBlitzer
    for(new Blitz=0; Blitz<sizeof(ServerBlitzer); Blitz++)
    {
    if(GetPlayerState(i)!=PLAYER_STATE_DRIVER && !IsPlayerInRangeOfPoint(i, 40.0, ServerBlitzer[Blitz][SBx], ServerBlitzer[Blitz][SBy], ServerBlitzer[Blitz][SBz])) continue;
    new speed = sm_GetVehicleSpeed(GetPlayerVehicleID(i));
    if(speed > ServerBlitzer[Blitz][SBSpeed]) {
    if(PlayerInfo[i][FuckBlitzer] == -1) {
    PlayerInfo[i][FuckBlitzer] = 10;
    new strafe = (speed*3)-ServerBlitzer[Blitz][SBSpeed];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0),GivePlayerMoney(i, -strafe),Server[ServerKasse]+=strafe;
    format(query,sizeof(query), "[BLITZER] Du bist %d km/h zu schnell gefahren!", speed - ServerBlitzer[Blitz][SBSpeed]);
    SendClientMessage(i, cYellow, query);
    format(query,sizeof(query), "[BLITZER] Erlaubte Geschwindigkeit: %d km/h. Du musst %d$ Strafe bezahlen.", ServerBlitzer[Blitz][SBSpeed], strafe);
    SendClientMessage(i, cYellow, query),TextDrawShowForPlayer(i,PlayerInfo[i][LadeACC][0]),SetTimerEx("HideBlitzer",1000,0,"d",i);
    }
    }
    }
    if(GetPlayerState(i)==PLAYER_STATE_SPECTATING)
    {
    new Float:OpferHealth, Float:OpferVehHealth;
    GetPlayerHealth(PlayerInfo[i][Opfer],OpferHealth),GetVehicleHealth(GetPlayerVehicleID(PlayerInfo[i][Opfer]),OpferVehHealth);
    new sh=floatround(OpferHealth,floatround_round),vh=floatround(OpferVehHealth,floatround_round);
    format(query,sizeof(query),"~n~~n~~n~~n~~n~~n~~n~~r~HP: %d~n~~r~Vehicle-HP: %d~n~~r~",sh,vh);
    GameTextForPlayer(i,query,1500,4);
    }
    new weg = sm_GetVehicleSpeed(GetPlayerVehicleID(i)),tachostring[128];
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER) {
    new vid=GetPlayerVehicleID(i);
    format(tachostring,sizeof tachostring,"Tank: %d/%d~n~~w~~n~Km: %.2f",Car[vid][Tank]/10,((Car[vid][Tank]/10 > 100)?(1000):(100)),((Car[vid][Kilometers] > 0)?(Car[vid][Kilometers]):(0.0)));
    TextDrawSetString(PlayerInfo[i][Tacho][1],tachostring);
    if(Car[vid][Kilometers] > 0)Car[vid][Kilometers]+=floatdiv(float(weg),3600);
    format(tachostring,sizeof tachostring,"%d Km/h",weg),TextDrawSetString(PlayerInfo[i][Tacho][0],tachostring),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][1]);
    if(weg > 350) format(query, sizeof(query), "%d kmh (%s)",weg,CarName[GetVehicleModel(vid)-400]),CartmanMelder(i,query,"~y~"),shit_Cartman(i,"Speedhack");
    //Motorzeug etc
    new Float:vHP,Float:x,Float:y,Float:z,Float:a,engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleHealth(vid,vHP);
    if(vHP >= 300.0) continue;
    if(vHP <= 250.0)
    {
    SetVehicleHealth(vid,260.0),GetVehiclePos(vid,x,y,z),GetVehicleZAngle(vid,a),SetVehiclePos(vid,x,y,z),SetVehicleZAngle(vid,a);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    if(Car[vid][PuttPutt]==0)
    {
    Car[vid][Motor]=0,Car[vid][PuttPutt]=1,SendDriverMessage(vid,"[Motorschaden] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query, sizeof(query),"[Fraktions-Info] Das Fahrzeug mit den Kennzeichen %s hat einen Totalschaden", Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    if(CheckUserFromTeam(tFeuer) >= 2)
    {
    for(new pID; pID < MAX_PLAYERS; pID++)
    {
    if(!IsPlayerConnected(pID) || GetPlayerVehicleID(pID) != vid) continue;
    TogglePlayerControllable(pID, 0),SendClientMessage(pID, cRed, "Durch den Unfall bist du eingeklemmt! Rufe mit /feuerwehr die Feuerwehr");
    SendClientMessage(pID, cRed, "--- Bitte einigt euch, wer von euch die Feuerwehr ruft! (wenn mehrere in einem Auto sitzen!) ---"),SetPlayerHealth(pID, 1);
    }
    }
    }
    }
    else TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][1]);
    }
    }
    }
    for(new i = 0; i < sizeof(Geschenk); i++)
    {
    if(Geschenk[i][G_Erstellt]==0) continue;
    if(Geschenk[i][G_Timeout]!=0)Geschenk[i][G_Timeout]--;
    if(Geschenk[i][G_Timeout]==0)Geschenk[i][G_Timeout]=0;
    }
    for(new vid; vid < MAX_VEHICLES; vid++)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsAFly(vid) || IsAHeli(vid) || IsABoot(vid) || Car[vid][Motor]!=1) continue;
    switch(Car[vid][Tank]) {
    case 0: {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Car[vid][Motor]=0,Car[vid][Tank]=0,SendDriverMessage(vid,"[Tank leer] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query,128,"[Fraktions-Info] Der Tank von den Wagen mit dem Kennzeichen %s ist leer",Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    }
    default: Car[vid][Tank]--;
    }
    }
    new t2 = GetTickCount();
    printf("%d ms",t2-t1);
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Schwabbel ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Habe ein Problem mit den cmd
    wenn ich Präsident bin sendet er mir den Text richtig
    Bin ich aber in einer Fraktion, dann sendet er mir den Teamrnk nicht und den namen auch nicht nur den Text
    bcmd:d(playerid,params[])
    {
    if(PlayerInfo[playerid][Logged]!=1)
    return SendClientMessage(playerid,cRed,"Du bist nicht eingeloggt!");
    if(PlayerInfo[playerid][Gemutet]!=0)
    return SendClientMessage(playerid,cWarn,"Du bist gemutet!");
    if(!IsADepartmentMember(playerid) && PlayerInfo[playerid][President] !=1 )
    return SendClientMessage(playerid,cWarn,"Du bist kein staatlicher Mitarbeiter!");
    new msg[128];
    if(sscanf(params,"s[128]",msg))
    return SendClientMessage(playerid,cRed,"/d(epartment) [Nachricht]");
    if(PlayerInfo[playerid][President]==1)format(msg,sizeof msg,">> Präsident %s: %s",PlayerInfo[playerid][Name],msg);goto BieneMaja;
    if(PlayerInfo[playerid][Team] == tFahrschule && PlayerInfo[playerid][Rank] < 2)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
    else if(PlayerInfo[playerid][Team] == tCop && PlayerInfo[playerid][Rank] < 1)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 1!");
    else if(PlayerInfo[playerid][Team] == tOa && PlayerInfo[playerid][Rank] < 1)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 1!");
    else if(PlayerInfo[playerid][Team] == tFeuer && PlayerInfo[playerid][Rank] < 2)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
    else if(PlayerInfo[playerid][Team] == tMedic && PlayerInfo[playerid][Rank] < 2)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 2!");
    else if(PlayerInfo[playerid][Team] == tNews && PlayerInfo[playerid][Rank] < 5)
    return SendClientMessage(playerid,cWarn,"Du benötigst mindestens Rank 5!");
    format(msg,sizeof msg,">> %s %s: %s",TeamRank[PlayerInfo[playerid][Team]][PlayerInfo[playerid][Rank]],PlayerInfo[playerid][Name],msg);
    BieneMaja:
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsADepartmentMember(i)!=0)
    {
    SendClientMessage(i,cRed,msg);
    }
    }
    return 1;
    }
    Hat jemand ne idee wiso das ist?

    All in all it's just another brick in the wall

  • So.
    ich hab nun was gemappt. In dem benannten Ordner von mir, sind
    nun 2 Datein. 1. Wie ich sie genannt habe, und dann noch ein etwas
    namens "meta.xml"
    Ich hab erfahren, das ich die Map Datei oder was
    auch immer unter ongamemodinit einfügen muss, oder so. Ich checks
    irgendwie nicht.
    Kann mir da jemand helfen?

  • Das ist es ja
    wenn ich dann in einer Fraktion bin wo ich Rank 0 bin, kann ich den Chat nicht nutzen
    Daher hab ich ja das got genommen damit er direkt runterspringt


    Mach es doch einfach so:


    if(PlayerInfo[playerid][President]==1)format(msg,sizeof msg,">> Präsident %s: %s",PlayerInfo[playerid][Name],msg);
    else if ((PlayerInfo[playerid][Team] == tNews && PlayerInfo[playerid][Rank] > 5) ||
    (PlayerInfo[playerid][Team] == tMedic && PlayerInfo[playerid][Rank] > 2) ||
    (PlayerInfo[playerid][Team] == tFeuer && PlayerInfo[playerid][Rank] > 2) ||
    (PlayerInfo[playerid][Team] == tOa && PlayerInfo[playerid][Rank] > 1) ||
    (PlayerInfo[playerid][Team] == tCop && PlayerInfo[playerid][Rank] > 1) ||
    (PlayerInfo[playerid][Team] == tFahrschule && PlayerInfo[playerid][Rank] > 2)) format(msg,sizeof msg,">> %s %s: %s",TeamRank[PlayerInfo[playerid][Team]][PlayerInfo[playerid][Rank]],PlayerInfo[playerid][Name],msg);

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Sry für die dumme frage, aber Map Editor? Muss ich das noch extra runterladen? :D


    /e ach jetzt gecheckt :D


    Map Editor haste zwar schon :D


    Und dann halt den Code bei OnGameModeInit einfügen.


    Jo, habs im nachhinein gecheckt, habs ja editiert :D


    Ich bekomm folgende Warnings, die ich nicht ganz checke :D


    C:\Dokumente und Einstellungen\xxx\Desktop\Pawno\gamemodes\Selfmade.pwn(140) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\xxx\Desktop\Pawno\gamemodes\Selfmade.pwn(157) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.