Beiträge von [MR]Chicko aka. Eazyline

    Hey Community,


    ich habe mir ins Script ein Motorsystem eingebaut. Es funktioniert auch fast, aber nicht so wie es soll.
    Und zwar ist mein Wunsch. Das das Auto beim einsteigen aus ist und man erst den motor starten muss. Weil im echten Leben kann man ja auch nicht einfach so einsteigen und drauf losfahren. ;)


    Habe hier mal alles zusammen gesucht um euch hier das ganze System zu posten.


    new motor[MAX_VEHICLES] = 0;


    public OnVehicleSpawn(vehicleid)
    {
    motor[vehicleid] = 0;
    return 1;
    }


    public OnPlayerEnterVehicle(playerid,vehicleid)
    {
    if(motor[vehicleid] == 1)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(strcmp(cmdtext,"/motor",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(motor[veh] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFF0000FF,"Du hast den Motor angeschalten.");
    motor[veh] = 1;
    return 1;
    }
    else
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFF0000FF,"Du hast den Motor ausgeschalten.");
    motor[veh] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht der Fahrer.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist in keinem Fahrzeug.");
    return 1;
    }
    }
    return 0;
    }


    public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
    {
    if(newkeys == KEY_SUBMISSION)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(motor[veh] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    motor[veh] = 1;
    }
    else
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    motor[veh] = 0;
    }
    }
    }
    }
    return 1;
    }


    Wie mache ich das jetzt, sodass der Motor beim einsteigen aus ist?!


    //Edit: Einen Rechtschreibfehler verbessert ;p Wer welsche findet darf sie behalten ;D

    Danke aber ich bekomme 1 Error mit Warnings. ;s
    C:\Users\Marc\Desktop\Projekt-Sunset.de Roleplay Skript\gamemodes\projekt_sunset.pwn(20832) : warning 217: loose indentation
    C:\Users\Marc\Desktop\Projekt-Sunset.de Roleplay Skript\gamemodes\projekt_sunset.pwn(20839) : error 035: argument type mismatch (argument 2)
    C:\Users\Marc\Desktop\Projekt-Sunset.de Roleplay Skript\gamemodes\projekt_sunset.pwn(20846) : warning 217: loose indentation



    Errorzeile:
    PutPlayerInVehicle(playerid,spawncar,0);

    Dasn GF Edit was ich jetzt bearbeiten will.
    Ich poste einfach mal. Vllt hilft es dir was.


    forward GetVehicleTankInhalt(vehicleid);
    new tank = GetPlayerVehicleTypeForFill(GetPlayerVehicleID(playerid));

    if(tank == 1)
    {
    new Float: tankfuel;
    tankfuel = spawncar_maxgas[GetPlayerVehicleID(playerid)]-spawncar_gas[GetPlayerVehicleID(playerid)];
    if(SBizzInfo[gas_station][sbEntranceCost]*tankfuel < PlayerMoney[playerid])
    {
    GettingFuel[playerid] = tankfuel;
    GettingType[playerid] = 1;
    Refueling[playerid] = 1;
    price = floatround(tankfuel, floatround_ceil);
    GettingPrice[playerid] = SBizzInfo[gas_station][sbEntranceCost]*price;
    GameTextForPlayer(playerid, "~y~Tanken!", 5000, 1);
    filling[playerid] = SetTimerEx("FuelCar", price*1000, false, "i", playerid);
    return 1;
    }


    Vllt. hilft das ja was. Sry bin ein Anfänger und grad am Scripten lernen. ;S

    HeyHo Community,


    ja ich wieder ;S
    Und zwar habe ich jetzt folgendes Problem, ich spawne mir ein Roller mit /roller und dann sitzte ich drauf. Nur der Tank vom Roller ist leer wieso? Ich kann ca. 20 Sek fahren, dann funktioniert nichts mehr der Roller bleibt stehen?
    Was muss ich tun um das zubeheben?
    Hier der Befehl:


    if(strcmp(cmdtext,"/roller",true)==0)
    {
    new Float:x,Float:y,Float:z,spawncar;
    if(!IsPlayerInRangeOfPoint(playerid,5.0,1217.0277,-1418.3167,13.2588)) return SendClientMessage(playerid,COLOR_GREEN,"Du bist nicht am Noobspawn!");
    GetPlayerPos(playerid,x,y,z);
    spawncar=CreateVehicle(462,x+2,y+2,z,0,0,131,131);
    PutPlayerInVehicle(playerid,spawncar,0);
    SendClientMessage(playerid,COLOR_GREEN,"[______________________ Roller Vermietung ______________________]");
    SendClientMessage(playerid,COLOR_WHITE," Herzlichen Glückwunsch! ");
    SendClientMessage(playerid,COLOR_WHITE,"Damit du nicht laufen musst, hast du dir einen Roller gespawnt!");
    SendClientMessage(playerid,COLOR_WHITE,"Wir das Team von Magical Reallife wünschen dir viel Spaß. ");
    return 1;
    }

    if(IsPlayerInRangeOfPoint(playerid, 10, 1217.0277,-1418.3167,13.2588)==0) return SendClientMessage(playerid,Grün,"Du bist nicht am Noobspawn.");

    Hat funktioniert. ;) Danke.
    Aber trzd. kackt mein Server ab. Filterscript wohl leider verbuggt -.-


    // Oben das vergessen.



    Und zwar habe ich jetzt folgendes Problem, ich spawne mir ein Roller mit /roller und dann sitzte ich drauf. Nur der Tank vom Roller ist leer wieso?
    Hier der Befehl:


    if(strcmp(cmdtext,"/roller",true)==0)
    {
    new Float:x,Float:y,Float:z,spawncar;
    if(!IsPlayerInRangeOfPoint(playerid,5.0,1217.0277,-1418.3167,13.2588)) return SendClientMessage(playerid,COLOR_GREEN,"Du bist nicht am Noobspawn!");
    GetPlayerPos(playerid,x,y,z);
    spawncar=CreateVehicle(462,x+2,y+2,z,0,0,131,131);
    PutPlayerInVehicle(playerid,spawncar,0);
    SendClientMessage(playerid,COLOR_GREEN,"[______________________ Roller Vermietung ______________________]");
    SendClientMessage(playerid,COLOR_WHITE," Herzlichen Glückwunsch! ");
    SendClientMessage(playerid,COLOR_WHITE,"Damit du nicht laufen musst, hast du dir einen Roller gespawnt!");
    SendClientMessage(playerid,COLOR_WHITE,"Wir das Team von Magical Reallife wünschen dir viel Spaß. ");
    return 1;
    }


    /EDIT: Was verbessert ;S

    eigentlich ganz Easy,
    Benutze
    if(IsPlayerInRangeOfPoint(playerid, 10, X, Y, Z)) return SendClientMessage(playerid,DEINE FARBE,"Du bist nicht am Noobspawn");
    Oder sende mal deinen Ganzencode dann kann ich es dir machen,dann musst auch die Position mit /save Speicher, und die Coord's geben

    Also ich habe das jetzt so gemacht:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/noobcar", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10, 1217.0277,-1418.3167,13.2588)) return SendClientMessage(playerid,Grün,"Du bist nicht am Noobspawn.");
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Noobcar Spawner:","Fahrräder\nRoller","Wählen","Abbrechen");
    return 1;
    }
    return 0;
    }


    Trozdem kann man das im ganzen Spiel machen ;(
    Wenn ich dann auf abbrechen klicke. -> Server closed the Connection

    HeyHo Community,


    ich habe folgenden Scriptwunsch, da ich noch nicht so lange Scripte und ich nicht weiß wie ich das absolvieren soll.
    Mein Wunsch ist, das man /spawncar nicht im ganzen Spiel machen kann, sondern z.B nur an einer bestimmten stelle z.B Noobspawn!


    Hier der Befehl:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/spawncar", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Auto Spawner:","Autos\nBikes\nHelis\nBoote","Wählen","Abbrechen");
    return 1;
    }
    return 0;
    }

    Bekomme durch diese Warnung keine .amx Datei?
    Wäre da jemand so nett und würde mir einer bei diesem Warning helfen, ich verzweifele solangsam ;s



    C:\Users\Marc\Desktop\Samp-Server\gamemodes\reallife.pwn(16255) : warning 235: public function lacks forward declaration (symbol "Audio_OnSetPack")Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    Header size: 11740 bytesCode size: 1681348 bytesData size: 27961836 bytesStack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursionTotal requirements:29671308 bytes
    1 Warning.


    //Edit: Erledigt.


    Am besten nicht releasen, es hat zwar schon jeder 3te, aber es müssen nicht noch mehr Server mit dem Script eröffnet werden -.-'

    geh ingame und mach /biz 2
    dann sollteste davor stehen kauf dir des biz und geb dann im icon /bizfee 1 ein dein tankpreis ein dann kostet der liter nurnoch einen dollar
    oder nehm halt ne andere Zahl#
    // edit deine gas company ist ja net verkauft also machs ingame.
    ode rdu änderst es in der cfg machst den server aus lädst die cfg hoch und startest den server neu

    Welche cfg hochladen? 8| /biz 2 ist ingame das biz am PD da. REstaurant oder was auch immer das sein soll.



    Black habe ich getan, nur der Bug hat sich imnmer noch nicht behoben -.-

    haste Los Angeles RL ?
    oben steht define SPRIPREIS .... (.... ist der Preis)
    und im notfall such dochmal 3000 im script
    strg +f drücken und 3000 eingeben und enter drücken ;D


    //EDIT du hast doch ein Tankbiz
    gehen einfach zum biz mit der ID2 und änder den eintrittspreis

    Jop da steht:
    #define SPRITPREIS 2 ;O



    Die sBizz.cfg beinhaltet:


    1|Zu Verkaufen|Jack´s Carren|Niemand|-1661.969604|1217.775146|7.250000|5|50000|500|3378500|1|0|100|100|10|Zu Verkaufen|WANG CARS|Niemand|-1968.559814|296.269592|35.171901|1|50000|500|370|1|0|100|100|999991|Enduron|Endurons Biz|Niemand|-2016.381469|-37.667701|35.295700|5|50000|5|2830|1|0|100|100|10|Zu Verkaufen|~w~Gas Company|Niemand|-1722.235595|-118.215698|3.548897|5|5000000|1|81715|1|0|100|100|1000|Zu Verkaufen|Olli's Strom - Company|Niemand|-2521.005859|-623.331176|132.768997|1|1000000|300|118500|1|0|100|100|1000|Zu Verkaufen|~w~Car Delivery|Niemand|1702.400024|-1471.300048|13.546895|5|5000000|0|91000|1|0|81|100|1000|Zu Verkaufen|Papas House Upgrade Biz|Niemand|2350.000000|-1411.800048|23.992300|1|50000|0|25809|1|0|95|100|11|Icon|]]]San Andreas News]]]|[YSF]Ingo|844.656005|-1045.555664|25.430099|1|50000|2|0|0|0|100|100|1000|Zu Verkaufen|~w~Tow Car Service|Niemand|2510.600097|-1468.199951|24.023899|5|50000|0|0|1|0|100|100|100



    Und wo soll ich dort jetzt den Preis ändern?

    Function Fillup()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    new FillUp;
    new string[256];
    VID = GetPlayerVehicleID(i);
    FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    if(Refueling[i])
    {
    if(GetPlayerMoney(i) >= FillUp+4)
    {
    Gas[VID] += FillUp;
    FillUp = SBizzInfo[2][sbEntranceCost] * FillUp;
    format(string,sizeof(string),"* Fahrzeug für $%d aufgetankt. (Preis pro Liter: $%d)",FillUp,SBizzInfo[2][sbEntranceCost]);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    GivePlayerMoney(i, - FillUp);
    SBizzInfo[2][sbTill] += FillUp/4;
    ExtortionSBiz(2, FillUp);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    else
    {
    Gas[VID] += FillUp;
    FillUp = SBizzInfo[2][sbEntranceCost] * FillUp;
    format(string,sizeof(string),"* Fahrzeug aufgetankt.");
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    GivePlayerMoney(i, - FillUp);
    SBizzInfo[2][sbTill] += FillUp/4;
    ExtortionSBiz(2, FillUp);
    Refueling[i] = 0;
    }
    }
    else
    {
    format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: $%d / Liter.",FillUp);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    }
    }
    }
    return 1;
    }