[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
  • Okay, dann versuch ich mal mein Glück. Danke


    for(new i=0;i<300;i++) {
    AddPlayerClass(i,X,Y,Z,Angle,0,0,0,0,0,0);
    }
    Erstellt in der Skinauswahl alle Skins von 0 bis 299, also 300 IDs.
    300 IDs ist eh das maximum was per AddPlayerClass geht.
    Die Position bei der Skinauswahl musst du selber noch dazufügen, und auch die Koordinaten ersetzen.
    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Danke es funktioniert perfekt.


    Nun noch eine Frage: Kann ich in der Schleife auch einbinden, das zwei Skins nur für Admins sind (IDs: 217 + 211)?


    MfG


    Das musst du unter dem Callback OnPlayerRequestClass abfragen. (mitgelieferter Parameter "classid")


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • 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 ()

  • 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?