Beiträge von ErikSon

    Hey, habe Errors, wenn ich das Haussystem in mein Script packen will. Habe es zurzeit als Filterscript, wills aber in mein richtiges haben...


    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(!GetPVarInt(playerid,"HUHNFISCH_InHaus"))
    {
    new ID=GetNearestHaus(playerid,4);
    if(ID == -1) return true; // Hier
    if(Haus[ID][Abgeschlossen]) return true;
    SetPlayerInterior(playerid,Haus[ID][Int]);
    SetPlayerPos(playerid,Haus[ID][Pos][3],Haus[ID][Pos][4],Haus[ID][Pos][5]);
    SetPlayerVirtualWorld(playerid,Haus[ID][VirtualWorld]);
    SetPVarInt(playerid,"HUHNFISCH_InHaus",true);
    return true;
    }
    new ID=GetNearestHausExit(playerid,3);
    if(ID == -1) return true; // Hier
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    SetPlayerVirtualWorld(playerid,0);
    DeletePVar(playerid,"HUHNFISCH_InHaus");
    return true;
    }


    local variable "ID" shadows a variable at a preceding level
    error 022: must be lvalue (non-constant)
    warning 215: expression has no effect


    Wie kann man das entfernen?


    Kann man das nicht genau wie CreatePickup machen?


    Habe nämlich alles eig genau so, funzt aber nicht:


    new restaurantlv2enter;
    new restaurantlv2exit;


    restaurantlv2enter=CreateDynamicPickup(1318,1,-2524.5066,1216.0653,37.6721,0,-1,-1,50);
    restaurantlv2exit=CreateDynamicPickup(1318,1,460.5563,-88.5829,999.5547,4,-1,-1,50);


    if(pickupid==restaurantlv2enter)
    {
    SetPlayerVirtualWorld(playerid,4);
    SetPlayerPos(playerid,457.304748,-88.428497,999.554687);
    SetPlayerInterior(playerid,4);
    }
    if(pickupid==restaurantlv2exit)
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,-2520.7576,1216.4044,37.4283);
    SetPlayerInterior(playerid,0);
    }


    Oder muss mans so machen wie du es gemacht hast?


    Aber schonmal Danke!

    Es gibt auch ein anderes Callback, welches OnPlayerPickUpDynamicPickup heißt und aufgerufen wird wenn der spieler ein pickup betritt welches über den streamer läuft also
    mit CreateDynamicPickup erstellt wurde


    Habs jez so gemacht:


    public OnPlayerPickupDynamicPickup(playerid,pickupid)
    {
    if(pickupid == vuzsenter)
    {
    SetPlayerPos(playerid,-25.884498,-185.868988,1003.546875);
    SetPlayerInterior(playerid,17);
    SetPlayerVirtualWorld(playerid,2222);
    }
    if(pickupid == vuzsexit)
    {
    SetPlayerPos(playerid,1351.7335,-1750.6332,13.3600);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    return 1;
    }


    Funzt leider immer noch nicht :/

    Hey, wie kann man machen, dass wenn jemand als Beifahrer in einem Taxi einsteigt, ein Timer losgeht, der das Geld zählt?


    Habs so, aber es funzt nicht...


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(taxi); i++)
    {
    if(GetPlayerVehicleID(playerid)==taxi[i])
    {
    if(GetPVarInt(playerid,"Job")!=8)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Grau,"Du bist kein Taxifahrer!");
    }
    if(Taxi[playerid][Fare] == 1)
    {
    if(newstate == PLAYER_STATE_PASSENGER)
    {
    new string[256];
    if(PlayerJob(playerid,8))continue;
    format(string,sizeof(string),"TAXI: %i$",Taxi[playerid][Preis]);
    GameTextForPlayer(playerid,string,10,5);
    SetTimer("taxitimer",1000,true);
    }
    }
    }
    }
    }




    Brauche noch Hilfe:


    Enum ~ error 032: array index out of bounds


    CreatePickup ~ CreateDynamicPickup


    Danke im voraus!

    Also ich habe verstanden, ich solls so machen:


    enum ZonenE
    {
    Zonenid,
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY
    }
    new GangZone[10] = {
    {0,1043.0660,-1578.0433,1144.6038,-1667.3330},
    {1,2374.8625,-2466.3684,2525.2268,-2695.0623},
    {2,925.8375,-1581.3282,1028.6044,-1785.1646},
    {3,2028.0192,-1844.0703,1892.0100,-1835.5641},
    {4,-1928.2968,-720.9028,-2153.4749,-998.5490},
    {5,-2148.1277,117.0566,-2013.5671,314.2286},
    {6,-2852.6777,509.1550,-2998.5610,420.5452},
    {7,-2701.0811,34.4757,-2613.2813,-60.6114},
    {8,1067.2451,1962.5822,1047.7484,2042.5941},
    {9,2238.1353,2822.3604,2352.8965,2724.0667}
    };


    Aber das geht ja nicht...


    Er zeigt dann Errors an, weil er nicht weiß was dort jez überhaupt stteht...

    format(astring,sizeof(astring),"[ADMCMD]Projektleiter %s hat dir Administrator-Rank %d zugewiesen.",SpielerName,Level);
    format(astring2,sizeof(astring2),"[ADMCMD]Du hast %s Administrator-Rank %d zugewiesen.",SpielerName,Level);


    zu


    format(astring,sizeof(astring),"[ADMCMD]Projektleiter %s hat dir Administrator-Rank %d zugewiesen.",SpielerName(playerid),Level);
    format(astring2,sizeof(astring2),"[ADMCMD]Du hast %s Administrator-Rank %d zugewiesen.",SpielerName(pID),Level);

    Was ist welche Zeile?


    EDIT


    schonmal falsch:


    if(IsPlayerConnected(playerid))return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht Online.");


    zu


    if(IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht Online.");


    Und die Zeile unter if(sscanf... packen


    Geht leider trotzdem nicht...

    Hey, habe gemacht, dass die Fahrzeuge und Spieler schneller sein sollten, was sie nicht sind.


    Code:


    public OnPlayerUpdate(playerid)
    {
    new Keys,up,down;
    GetPlayerKeys(playerid,Keys,up,down);
    new Float:x,Float:y,Float:z;
    if(Keys &= 8)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {


    GetPlayerVelocity(playerid,x,y,z);
    SetPlayerVelocity(playerid,x*1.2,y*1.2,z*1.2);
    }
    }
    else if(Keys &= 128 || (Keys &= -128))
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
    SetVehicleVelocity(GetPlayerVehicleID(playerid),x*1.2,y*1.2,z*1.2);
    }
    }
    return 1;
    }


    beträgt immer noch die gleiche Geschwindigkeit!


    Hab ich irgendwas falsch gemacht?


    EDIT//
    Man kann weiter+höher springen, aber nicht schneller laufen


    Danke im voraus!


    Brauche noch Hilfe bei:


    Enum ~ error 032: array index out of bounds


    Wär schön wenn ihr mir dort helfen könntet!

    Ohh fail...
    Sry


    :


    enum ZonenE
    {
    Zonenid,
    Float:minX,
    Float:minY,
    Float:maxX,
    Float:maxY
    }
    new GangZone[10][ZonenE] = {
    {0,1043.0660,-1578.0433,1144.6038,-1667.3330},
    {1,2374.8625,-2466.3684,2525.2268,-2695.0623},
    {2,925.8375,-1581.3282,1028.6044,-1785.1646},
    {3,2028.0192,-1844.0703,1892.0100,-1835.5641},
    {4,-1928.2968,-720.9028,-2153.4749,-998.5490},
    {5,-2148.1277,117.0566,-2013.5671,314.2286},
    {6,-2852.6777,509.1550,-2998.5610,420.5452},
    {7,-2701.0811,34.4757,-2613.2813,-60.6114},
    {8,1067.2451,1962.5822,1047.7484,2042.5941},
    {9,2238.1353,2822.3604,2352.8965,2724.0667}
    };


    enum GangFightE
    {
    Gang[64],
    Eroberer[64],
    OnGangfight,
    Punkte1,
    Punkte2
    }
    new GF[ZonenE][GangFightE];