Beiträge von MichiEXE

    Hey ihr Brotfischies!


    Hab da ein kleines Problem.Hab bei OnPlayerEnterVehicle eine Abfrage für Fraktion's Autos gemacht.. trotzdem kann der Spieler als Yakuza z.B in die LSPD Autos einsteigen.
    Wie kann ich das beheben? Also man soll halt nicht in diese Autos einsteigen wenn dieser nicht in der Fraktion ist,oder die Erlaubnis bekommen hat.


    Spoiler anzeigen
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetPVarInt(playerid,"Autoschein")==0)
    {
    if(IsInFahrschule[playerid]==1)
    {
    FahrschulPoint[playerid] = 0;
    SetPlayerCheckpoint(playerid,1401.7064,-1649.2078,13.0089,4.0);
    }
    else
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du hast keinen Autoschein.");
    }
    }


    for(new i = 0; i < MAX_VEHICLES; i++)
    {

    Spoiler anzeigen
    if(GetPlayerVehicleID(playerid)==lspdcar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=1)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }





    if(GetPlayerVehicleID(playerid)==newscar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=2)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }





    if(GetPlayerVehicleID(playerid)==yakuzacar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=3)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }





    if(GetPlayerVehicleID(playerid)==buscar[i])
    {
    if(GetPVarInt(playerid,"Job")!=1)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }




    if(GetPlayerVehicleID(playerid)==fahrschulcar[i])
    {
    if(IsInFahrschule[playerid] == 0)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    else
    {
    FahrschulPoint[playerid] = 0;
    SetPlayerCheckpoint(playerid,1401.7064,-1649.2078,13.0089,4.0);
    }
    }
    }
    return 1;
    }

    Du hast 0 statt umzieh Dialog geschrieben also mach es so:


    ShowPlayerDialog(playerid,umziehdialog,DIALOG_STYLE_LIST,"lala","lala","Wählen","Abbrechen");


    Hmm ... die ID ist egal,ob er sie definiert ist nur zur Übersicht gut,aber wenn dort ne Zahl steht,ist ja alles gut,bin mir bei 0 nur nicht sicher,ob die auch als ID gelesen wird.. bei 1 bis wat weis ich
    geht es ja..


    Hast du bei
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"lala","lala","Wählen","Abbrechen");


    statt
    (playerid,0,DIALOG_STYLE_LIST,"lala","lala","Wählen","Abbrechen");


    (playerid,umziedialog,DIALOG_STYLE_LIST,"lala","lala","Wählen","Abbrechen");
    Stehen? Also 0 mit umziehdialog umtauschen.


    Ist zwar nicht so 100% wichtig aber wenn du den Dialog definiert hast,solltest du ihn ja auch nutzen.

    Hey ihr Brotfische!


    Habe nen Storedrugs Befehl erstellt,wo der User die Drogen die er sich gekauft hat,in sein Fraktions-Safe reinlegen kann.


    Aber als ich dem Spieler die Menge an Drogen abziehen wollte,die er reinlegen wollte,scheiterte ich,bzw. kamen nur Fehler.


    Das Gleiche als ich abfragen wollte,ob der Spieler mehr an Drogen einspeichern will,als er überhaupt besitzt.


    Es kommen fehler,wo ich kein Plan hab,wie diese weg gehen.


    2x Argument type mismatch (argument 3)
    Array must be indexed variable "(text")
    undefined symbol "name"


    ocmd:storedrugs(playerid,params[])
    {
    new text[128];
    if(GetPVarInt(playerid,"Fraktion")==3)
    {
    if(sscanf(params,"s",text))return SendClientMessage(playerid,blau,"Tippe: /storedrugs [Anzahl]");
    if(IsPlayerInRangeOfPoint(playerid,6.0,-2714.7249, -314.5928, 6.6404))
    {
    if(GetPVarInt(playerid,"Drogen") < text) return SendClientMessage(playerid,rot,"** Du hast nicht so viel Drogen bei dir.");
    {
    new FrakDatei[128];
    new fid[46];
    fid = GetPVarInt(playerid,"Fraktion")
    format(FrakDatei,sizeof(FrakDatei),"/Fraktionen/%s.txt",fid);
    dini_IntSet(FrakDatei,"Drogen",text);
    SetPVarInt(playerid,"Drogen",-text)
    }
    }
    }
    }



    Kann mir vielleicht ein Pro unter die Arme helfen?? :D


    Danke im Voraus.

    Hey ihr Brotfische!


    Hab da ne kleine Frage.Ich habe mir einen einfach gestalteten /arrest Befehle geschrieben:


    Spoiler anzeigen
    ocmd:arrest(playerid,params[])
    {
    new plid;
    if(GetPVarInt(playerid,"Fraktion")==1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 8.0, 1568.7850, -1690.9218, 5.8906))
    {
    if(IsPlayerInRangeOfPoint(plid,80, 1568.7850, -1690.9218, 5.8906))
    {
    switch(random(1))
    {
    case 0:
    {
    SetPlayerPos(plid,263.9228,86.5022,1001.0391);
    SetPlayerInterior(plid,6);
    TogglePlayerControllable(playerid,true);
    }
    case 1:
    {
    SetPlayerPos(plid,264.2061,81.3855,1001.0391);
    SetPlayerInterior(plid,6);
    TogglePlayerControllable(playerid,true);
    }
    }
    PlayerIsArrested[plid] = 1;
    SetTimerEx("KnastZeit",180000,0,"i",plid);
    }
    else
    {
    SendClientMessage(playerid,rot,"** Der Spieler ist nicht in der Nähe.");
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"** Du bist nicht am Arrest-Point.");
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"** Du bist nicht in der Fraktion.");
    }
    return 1;
    }


    Und nun wollte ich das wenn ein Spieler irgendein Befehl eingibt,der Befehl während er im Knast sitzt,nicht ausgeführt wird.Habe bereits eine IF-Abfrage mit der PlayerIsArrested Variable oder was das ist,bei OnPlayerCommandText durchführen lassen,hat aber nicht geklappt.Die Nachricht das dieser im Knast sei kam nämlich nur wenn ich einen Befehl eingegeben habe,der nicht existiert.Bei welchen die existierten,konnte ich sie normal ausführen.


    Wie kann ich das einfach und schnell machen,das der Spieler alle Befehle nicht während er im Knast sitzt ausführen kann? Ohne bei jeden Befehl eine IF-Abfrage mit der PlayerIsArrested Variable zu starten???


    Danke im Voraus.

    Hallo liebe Community!


    Ich bin der Michael,bin 14 Jahre alt und arbeite gerade an einem Freeroam-Roleplay (what ever) Skript.
    Ich habe mir damals vor einem Jahr mal ein Script heruntergeladen um zu sehen was das so ist.


    Denn fing ich an es zu editieren.Bis jetzt hab ich den Hauptteil + Funktionen komplett selbst geschrieben( vorher umgeschrieben dann nochmal neu).Abgesehen von einigen Systemen die ich mit Hilfe dieser Community geschafft hatte.


    Ich möchte nicht zu viel schreiben,weil es noch nicht fertig ist.


    Es hat eine unfertige Fraktion und eine geplante.. Ja,ich weiß Fraktionen in Freeroam Servern sind nicht gut,aber ich möchte was anderes als nur ein langweiliges Freeroam Skript mit Stunt/Dm/Drift..


    Getestet soll so gut wie alles,alles von Neulings-Funktionen / Games bis zur unfertigen Fraktion und so weiter.


    Ein Teamspeak 3 Server ist vorhanden,damit ich auch mit dem Tester alles besprechen kann. (Ist leider Pflicht,muss ja wissen was wo falsch ist.Schreiben ist da nicht gut.)


    Der Tester muss wie gesagt auch öfters erreichbar sein,nicht nur dies eine Mal.Deswegen soll der Tester auch mindestens 14 Jahre alt sein ^^


    Wer noch Infos will soll sich Privat melden oder so.. Ich danke im Voraus.


    PS:
    Ein Hamachifreier Server (SA:MP) ist bereits vorhanden,also keine extra Programme werden fürs Testen außer Ts3 benötigt.


    Lg, MichiEXE


    EDIT:
    //Flüchtigkeitsfehler.

    Hey Leute,ich weiß das in letzter Zeit oft neue Threads von mir erschienen sind,aber ich Scripte grad ununterbrochen..und kann mir manche Fehler nicht erklären.. (Lerne noch kleinere Dinge,bzw schwierigere).. und halt dazu.


    Also:


    Ich benutze jetzt um die Class Selection für bereits Registrierte Spieler zu überspringen das SetSpawnInfo und SpawnPlayer dingsta..


    Nur,wenn ich jetzt bei:


    public OnPlayerRequestClass(playerid, classid)
    {
    new PlayerDatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(PlayerDatei,sizeof(PlayerDatei),"/Spieler/%s.txt",name);
    if(GetPVarInt(playerid,"hatSkin")==1)
    {
    SetSpawnInfo(playerid, 0, GetPVarInt(playerid,"Skin"), 2459.6128,-1688.6350,13.5327, 0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    }
    else
    {
    Map[playerid] = 0;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, 1378.0111,-807.8740,85.0523);
    SetPlayerFacingAngle(playerid,166.8302);
    SetPlayerCameraPos(playerid, 1376.7706,-814.3770,84.6170);
    SetPlayerCameraLookAt(playerid, 1378.0111,-807.8740,85.0523);
    }
    return 1;
    }


    dem Spieler bei
    SetSpawnInfo(playerid, 0, GetPVarInt(playerid,"Skin"), 2459.6128,-1688.6350,13.5327, 0, 0, 0, 0, 0, 0, 0);


    die SkinID gebe bzw, aus der PlayerDatei entnehmen möchte,und ihm die SkinID geben will,setzt das Script den Spieler aber immer zur SkinID 1.


    Was soll ich machen damit er die SkinID richtig ausließt und verwendet?


    (SkinID wird vom Dini Login/Register System richtig abgespeichert.)