Beiträge von Kaliber

    Ich hoffe ihr könnt mir auf die Sprünge helfen, wäre echt sehr Dankbar dafür


    Du musst ein Array verwenden (oder eine Datenbank) und dann jeder Modelid, die Werte zuweisen:


    stock const VehData[][2] = {
    {0, 50},
    {1, 43},
    {0, 50}
    };


    #define GetVehicleTankArt(%0) VehData[(%0)-400][0]
    #define GetVehicleMaxTank(%0) VehData[(%0)-400][1]


    new veh = GetPlayerVehicleID(playerid);
    new m = GetVehicleModel(veh); //Angenommen modelid == 400
    switch(GetVehicleTankArt(m)) {
    case 0: print("Dieses Auto tankt Diesel!"); //<< das wird geprintet
    case 1: print("Dieses Auto tankt Benzin!");
    //usw..
    }


    printf("Max Tank: %dL",GetVehicleMaxTank(m)); //Output: Max Tank: 50


    switch(GetVehicleTankArt(m)) {
    case 0: Tank[veh] -= 20; //da Diesel -= 20
    case 1: Tank[veh] -= 15; //Da Benzin -= 15
    //usw
    }


    mfg. :thumbup:

    ...es gibt weitaus bessere und einfachere Wege Geld zu verdienen...(such dir einen Nebenjob).


    Die Wahrscheinlichkeit, dass du da gut Geld verdienst (so wie in der Werbung), ist genauso hoch, wie als wenn du die Traumfrau fürs Leben auf Elite-Partner kennen lernst ;)

    Schreib das mal so:


    ocmd:stats(playerid)
    {
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,sizeof string,"= Stats von %s =",name);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof string,"Kills: %d",GetPVarInt(playerid,"Kills"));
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof string,"Aminlevel: %d",GetPVarInt(playerid,"Adminlevel"));
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,COLOR_WHITE,"================");
    return 1;
    }


    mfg. :thumbup:

    Dann fange sie ab, ich glaube das sind alle gültigen Zeichen...könnt sie ja editieren, wenn ihr mehr wisst:


    ocmd:umbenennen(playerid, params[]) return (IsValidName(params)) ? SetPlayerName(playerid,params) : SendClientMessage(playerid,-1,"In dem Namen sind ungültige Zeichen enthalten!");


    stock IsValidName(const tmp[]) {
    for(new i,l=strlen(tmp); i<l; i++) {
    switch(tmp[i]) {
    case '0'..'9','a'..'z','A'..'Z','@','[',']','_','.','$','-','=','(',')': continue;
    default: return 0;
    }
    }
    return 1;
    }


    mfg. :thumbup:

    "insufficient stack size" als Fehlermeldung bekommen.


    Bestimmt nicht durch solche Includes, sondern viel eher durch lokale Variablen, die einen Array von > 5012 haben xD


    Im Grunde ist es Verschwendung von Speicherplatz. Da kann ich mir lieber YSF schnappen und das direkt aus der Servermemory laden lassen oder man geht das ganze geschickt an, wie Tion und ich mit der Datenbank oder man nutzt die core Funktion property.


    Neiin YSF nutzt zum Glück keinen Speicherplatz :D Bläht die .amx nur auf über 20MB auf...


    property Funktion ist langsam...aber klar kann man nutzen und ok...das mit der Datenbank ist natürlich noch eine Alternative... :D

    Bei mir erstellt er nur 1 Explosion nach 50 Sekunden, dann kommt nichts mehr. Ist da was Falsch? Oder wie mache ich dass, das sich der Timer immer wiederholt?


    50 Sekunden? :huh:


    //z.B. unter OnPlayerSpawn
    SetTimerEx("explode",1000,0,"i",playerid);


    forward explode(playerid);
    public explode(playerid)
    {
    if(!IsPlayerConnected(playerid)) return 0;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD
    return SetTimerEx("explode",1000,0,"i",playerid);
    }


    Dann erstellt er jede Sekunde eine Explosion :)

    Schreib es so:


    CMD:motor(playerid)
    {
    if(!IsLoggedIn(playerid))return 1;
    new string[128];
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Fahrzeug.");
    new vehicleid = GetPlayerVehicleID(playerid);
    if(pRefillVehicle[playerid] == 1)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst den Motor nicht anschalten während du das Fahrzeug tankst!");
    if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "** Dieses Fahrrad hat keinen Motor!");
    if(Vehicle[vehicleid][vehFuel] <= 0.0)return SendClientMessage(playerid, COLOR_GREY, "** Das Fahrzeug hat kein Benzin mehr!");
    if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
    {
    if(IsValidVehicle(vehicleid))
    {
    new fV = IsAFraktionsVeh(vehicleid);
    if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
    {
    if(Vehicle[fVehicle[fV][vehID]][vehMotor] == false)
    {
    Vehicle[fVehicle[fV][vehID]][vehMotor] = true;
    GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[fVehicle[fV][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", fVehicle[fV][vehID]);
    return 1;
    }
    else if(Vehicle[fVehicle[fV][vehID]][vehMotor] == true)
    {
    Vehicle[fVehicle[fV][vehID]][vehMotor] = false;
    GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Vehicle[fVehicle[fV][vehID]][VehicleTimer]);
    return 1;
    }
    }
    return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
    }
    }
    for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
    {
    if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
    GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
    if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
    {
    Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
    SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
    return 1;
    }
    Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
    SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
    return 1;
    }
    if(vehicleid == Spieler[playerid][pBusID])
    {
    if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == false)
    {
    Vehicle[Spieler[playerid][pBusID]][vehMotor] = true;
    GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[Spieler[playerid][pBusID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBusID]);
    return 1;
    }
    else if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == true)
    {
    Vehicle[Spieler[playerid][pBusID]][vehMotor] = false;
    GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Vehicle[Spieler[playerid][pBusID]][VehicleTimer]);
    return 1;
    }
    }
    if(vehicleid == Spieler[playerid][pBike])
    {
    if(Vehicle[Spieler[playerid][pBike]][vehMotor] == false)
    {
    Vehicle[Spieler[playerid][pBike]][vehMotor] = true;
    GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[Spieler[playerid][pBike]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBike]);
    return 1;
    }
    else if(Vehicle[Spieler[playerid][pBike]][vehMotor] == true)
    {
    Vehicle[Spieler[playerid][pBike]][vehMotor] = false;
    GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Vehicle[Spieler[playerid][pBike]][VehicleTimer]);
    return 1;
    }
    }
    if(vehicleid == Spieler[playerid][pFSVehicle])
    {
    if(IsValidVehicle(Spieler[playerid][pFSVehicle])){
    if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == false)
    {
    Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = true;
    GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[Spieler[playerid][pFSVehicle]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pFSVehicle]);
    return 1;
    }
    else if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == true)
    {
    Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = false;
    GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Spieler[playerid][pFSVehicle]);
    return 1;
    }
    }
    }
    return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
    }

    Ist der return falsch gesetzt?


    Ja...schon, das macht so keinen Sinn..schreib das mal so:


    for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
    {
    if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
    GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
    if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
    {
    Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
    SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
    SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
    Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
    return 1;
    }
    Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
    SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
    KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
    return 1;
    }
    return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");


    Schreibe es mal so ;)


    mfg. :thumbup: