Schnee, wo ist der Fehler?

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
  • Hallo liebe Community,


    ich habe einen Schnee Befehl erstellt, der dafür sorgen soll das es auf dem ganzen Server schneit, aber er funktioniert nicht?



    Mein Code:
    if(strcmp(cmd, "/schnee", true) == 0)
    {
    if(!isAdmin(playerid,5))return SendClientMessage(playerid,Rot,"Du hast nicht das nötige Adminlevel dafür!");
    new Float:x, Float:y, Float:z;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Snow[i]==0)
    {
    new Float:Pos[3];
    SnowObject[i]=CreatePlayerObject(i,18864,x,y,z,0.0,0.0,0.0);
    GetPlayerObjectRot(i,SnowObject[i],Pos[0],Pos[1],Pos[2]);
    MovePlayerObject(i,SnowObject[i],x,y,z,100.0,Pos[0]+(random(5)),Pos[1]+(random(5)),Pos[2]+(random(5)));
    SetPlayerWeather(i,9);
    Snow[i]=1;
    return 1;
    }
    if(Snow[i]==1)
    {
    Snow[i]=0;
    StopPlayerObject(i,SnowObject[i]);
    DestroyPlayerObject(i,SnowObject[i]);
    return 1;
    }
    }
    return 1;
    }


    Es wird nicht mal das Wetter geändert!




    Mit freundlichen Grüßen,
    DexterA1

  • Klappt immer noch nicht. :(



    if(strcmp(cmd, "/schnee", true) == 0)
    {
    if(!isAdmin(playerid,5))return SendClientMessage(playerid,Rot,"Du hast nicht das nötige Adminlevel dafür!");
    new Float:x, Float:y, Float:z;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Snow[i]==0)
    {
    new Float:Pos[3];
    GetPlayerPos(i,x,y,z);
    SnowObject[i]=CreatePlayerObject(i,18864,x,y,z,0.0,0.0,0.0);
    GetPlayerObjectRot(i,SnowObject[i],Pos[0],Pos[1],Pos[2]);
    MovePlayerObject(i,SnowObject[i],x,y,z,100.0,Pos[0]+(random(5)),Pos[1]+(random(5)),Pos[2]+(random(5)));
    SetPlayerWeather(i,9);
    Snow[i]=1;
    return 1;
    }
    if(Snow[i]==1)
    {
    Snow[i]=0;
    StopPlayerObject(i,SnowObject[i]);
    DestroyPlayerObject(i,SnowObject[i]);
    return 1;
    }
    }
    return 1;
    }

  • Ach, grade erst aufgefallen bei dem Durcheinander im Code.
    return 1 gehört nicht in die Schleife, das tut ja dann nur für ID 0.


    if(strcmp(cmd, "/schnee", true) == 0)
    {
    if(!isAdmin(playerid,5))return SendClientMessage(playerid,Rot,"Du hast nicht das nötige Adminlevel dafür!");
    new Float:x, Float:y, Float:z;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(Snow[i]==0)
    {
    new Float:Pos[3];
    GetPlayerPos(i,x,y,z);
    SnowObject[i]=CreatePlayerObject(i,18864,x,y,z,0.0,0.0,0.0);
    GetPlayerObjectRot(i,SnowObject[i],Pos[0],Pos[1],Pos[2]);
    MovePlayerObject(i,SnowObject[i],x,y,z,100.0,Pos[0]+(random(5)),Pos[1]+(random(5)),Pos[2]+(random(5)));
    SetPlayerWeather(i,9);
    Snow[i]=1;
    }
    else if(Snow[i]==1)
    {
    Snow[i]=0;
    StopPlayerObject(i,SnowObject[i]);
    DestroyPlayerObject(i,SnowObject[i]);
    }
    }
    return 1;
    }