Beiträge von @FRi

    ihr liegt alle falsch!
    seit der 0.3c version muss man die DrawDistance der Funktion mit übergeben! Soweit ich sehe hast du dies nicht, einfach zum schluss deine gewünschte DrawDistance einfügen, am besten als Float wert!

    Komisch, ich hab bis jetzt noch immer CreateObject ohne Drawdistance in meinen Script stehen und es funktioniert wunderbar^^, also ist die Draw Distance unnötig...


    Falls du doch einen Streamer benützten willst, hier ist der von Incognito:
    http://forum.sa-mp.com/showthread.php?t=102865


    MFG
    @FRi

    Bei SAMP gehen auf den Server nur max 300/400 Objekte nach meinen Wissen? Hast du auch nicht mehr als die erlaubte maximale Anzahl? Falls doch würde ich dir empfehlen einen Streamer zu nutzten.


    MFG
    @FRi

    Ich würde es einfach so machen, Achtung! du brauchst dafür das include "time"!


    Ganz oben:

    forward RestartServer();
    new tmphour,tmpminute,tmpsecond;


    Bei OnGameModeInit:



    SetTimer("RestartServer",60000,1);// 1 = Wiederholenm 60000 = alle 1 minuten


    Unten den Public RestartServer:

    public RestartServer()
    {
    gettime(tmphour,tmpminute,tmpsecond);
    if(tmphour == 16 && tmpminute == 0)//tmphour = Stunde^^
    {
    SendRconCommand("gmx");
    SendClientMessageToAll(0xFFFFFFAA,"SERVER:Es ist 16 Uhr, der Server restartet!");
    //Vll noch public zum Account Saven aufrufen 8|
    }
    return 1;
    }


    MFG
    @FRi

    Ich würde das so machen
    Achtung! Ich Denke du hast ein GF und das sind die Standart-Variablen


    Ganz oben die Variable PlayerDeathTime erstellen



    new PlayerDeathTime[MAX_PLAYERS];


    OnPlayerConnect:



    PlayerDeathTime[playerid] = 0;


    OnPlayerDeath:



    if(PlayerDeathTime[playerid] == 0)
    {
    SetDeathSpawn(playerid);
    PlayerDeathTime[playerid] = 1;
    return 1;
    }
    else
    {
    SetPlayerPos(playerid, 0,0,0);//Koordianten von Friedhof einfügen :P
    return 1;
    }


    Ganz Unten einen Public Erstellen

    public SetDeathSpawn(playerid)
    {
    if(PlayerDeathTime[playerid] == 1)
    {
    SetPlayerWorldBounds(playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min);//y_min usw mit den Variablen ersetzten
    SetPlayerPos(playerid, 0,0,0);//Koordinaten einsetzten
    SendClientMessage(playerid, 0xFFFFFFAA,"Herzlich Willkommen auf dem Friedhof");
    SetPlayerSkin(playerid, 162);//Bei SetPlayerSpawn einfach dann einfach SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]); einfügen, damit der Spieler seinen "gewöhnlichen" skin wieder bekommt
    SetTimerEx("SetPlayerSpawn",180000,0,"i",playerid);//180000 = 180 Sekunden = 3 Minuten, SetPlayerSpawn Spawnt den Player in der Richten Fraktion-spawn
    SetTimerEx("PlayerDeathReset",170000,0,"i",playerid);//170000 = 170 Sekunden = 2Minuten 50Sekunden, Setzte Die PlayerDeathTime Variable nach 170 Sekunden auf 0 und Setzt SetPlayerWorldBounds wieder auf die Volle Map
    }
    }


    Noch einen Public erstellen, der die Variable PlayerDeathTime auf 0 setzt und SetPlayerWorldBounds wieder auf die ganze Map setzt



    public PlayerDeathReset(playerid)
    {
    if(PlayerDeathTime[playerid] == 1)
    {
    PlayerDeathTime[playerid] = 0;
    SetPlayerWorldBounds(playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min)//Koordiaten für deine Map einsetzten z.b. 2000
    }
    }


    Bei OnPlayerSpawn:

    if(PlayerDeathTime[playerid] == 1)
    {
    SetPlayerPos(playerid, 0,0,0);//Kooridnaten von Friedhof einfügen, das der nicht ausbrechen kann :P
    }



    müsste So Eigendlich Stimmen, ich hoffe ich konnte dir helfen


    MFG
    @FRi

    Tja ähm


    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    if(PlayerInfo[playerid][Leader] == 1 || PlayerInfo[playerid][Leader] == 4 || PlayerInfo[playerid][Leader] == 5)
    {
    SendClientMessage(i,COLOR_LIGHTRED,text);
    }
    }


    schon einmal genau angeschaut? Du machst eine For-Schleife mit der Variable i. so der Variable i hast du jetzt einen Wert zugewiesen, jedoch fragst du bei der if-Abfrage ab, ob der Spieler, der das Command gesendet hat, in der Fraktion, 1,4 oder 5 ist(playerid). Wenn dies übereinstimmt, sendest du an alle Spieler(For Schleife) die Message. folglich muss die if Abfrage, statt PlayerInfo[playerid][Leader] mit PlayerInfo[Leader] ersetzt werden.


    hier fertig:
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][Leader] == 1 || PlayerInfo[i][Leader] == 4 || PlayerInfo[i][Leader] == 5)
    {
    SendClientMessage(i,COLOR_LIGHTRED,text);
    }
    }


    MFG

    8| ich würde das


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    printf("/zivipark Command Geladen"); //ICh weiß ist etwas unsinnig ^^
    if(strcmp(cmdtext,"/zivipark",true)==0) //Der Command
    {
    if(PlayerToPoint(5.0,playerid,1105.42773438,-1742.55468750,13.25759220)) //WICHTIG!! : Ihr müsst den Forward: PlayerToPoint Haben sonst Geht das NICHT!!
    {
    MoveObject(ZiviTor,1105.42773438,-1742.55468750,11.25759220,2.0); //Das Objekt
    SetTimer("ZiviTorZu",5000,0); // SetTimer ist der Timer, "ZiviTorZu" ist unser Forward 5000 ist Die Zeit die das Tor Offen Belibt und 0 ist ob der Timer sich Wiederholen soll
    GivePlayerMoney(playerid,ParkGebuehr); //das was er Zahlen muss
    }
    }
    return 1;
    }


    mit dem


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/zivipark",true)==0) //Der Command
    {
    if(PlayerToPoint(5.0,playerid,1105.42773438,-1742.55468750,13.25759220)) //WICHTIG!! : Ihr müsst den Forward: PlayerToPoint Haben sonst Geht das NICHT!!
    {
    MoveObject(ZiviTor,1105.42773438,-1742.55468750,11.25759220,2.0); //Das Objekt
    SetTimer("ZiviTorZu",5000,0); // SetTimer ist der Timer, "ZiviTorZu" ist unser Forward 5000 ist Die Zeit die das Tor Offen Belibt und 0 ist ob der Timer sich Wiederholen soll
    GivePlayerMoney(playerid,ParkGebuehr); //das was er Zahlen muss
    }
    return 1;
    }
    return 0;
    }


    ersetzten. Den du hast vergessen ein return 0; vor der letzten Klammer zu setzten und somit gehen dann auch die ganzen Commands beim Main-Script nicht mehr


    MFG

    Bei Optionen ->Associate with *pwn files , falls ein Häcken vorne ist deaktivieren also einfach nochmal draufklicken damit das Häcken weg ist und fertig


    So habs ich immer bei mir gemacht und hat immer funktioniert. Kann aber nicht versprechen das es funktioniert


    MFG

    Hallo


    Also als erstes ist der Unterschied zwischen "CreateObject" und "CreateDynamicObject" der, das CreateDynamicObject wahrscheinlich von einen Streamer unterstützt wird.(Man kann ja das nativ createobject im a_samp include umschreiben xD)
    In deinen Include 'a_samp' ist CreateObject definiert. Von den CreateObject kannst du max 500. im Game einbauen
    CreateDynamicObject ist von einen Streamer unterstüzt und davon kannst du mehr als 4000 oder sogar mehr oO machen. Ich bin mir ziemlich sicher dass das der Streamer von Ignocnito http://forum.sa-mp.com/showthread.php?t=102865 ist.


    Dein Problem mit dem krankenhaus liegt wahrscheinlich daran, das du vieleicht die Objekte doppelt createn lässt.Dh das die Objekte 2 mal im Script drinnen stehen. Das kannst du nur beheben wenn du das Objekt raussuchst und dann löscht


    Ich hoffe ich konnte dir helfen
    MFG

    Ich würde es so machen:



    if(strcmp(cmdtext,"/kennzeichen",true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    SetVehicleNumberPlate(vid, "Irgendwas");
    }
    return 1;
    }


    Aber wenn du willst das es angefügt wird, wenn du den Befehl Nutzt, dann musst du das benutzen:



    if(strcmp(cmdtext,"/kennzeichen",true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vid = GetPlayerVehicleID(playerid);
    SetVehicleNumberPlate(vid,"Irgendwas");
    new Float:X,Float:Y,Float:Z;
    GetVehiclePos(vid, X,Y,Z);
    SetVehicleToRespawn(vid);
    SetVehiclePos(vid, X,Y,Z);
    PutPlayerInVehicle(playerid, vid, 0);//0 == Fahrer
    }
    return 1;
    }


    So das wars, müsste eigendlich gehen
    MFG(Klammern hats verschoben :( )

    Hier:


    Ganz oben bei deinen Script fügst du das ein:
    #define Spawndialog 5000


    Unter OnPlayerCommandText fügst du dann das ein

    if(strcmp(cmdtext,"/spawnchange",true) == 0)
    {
    if(PlayerInfo[playerid][pLevel] >= 5)//Abfrage ob Level mehr als 5 ist.
    {
    ShowPlayerDialog(playerid,Spawndialog,DIALOG_STYLE_MSGBOX,"Spawn","Hallo\nBitte wähle deinen Spawn aus","Los Santos","San Fierro");
    }
    return 1;
    }


    Unter OnDialogResponse fügst du das ein

    if(dialogid == Spawndialog)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, 0xFFFFFFAA,"Ok Du spawnst nun in San Fierro");
    PlayerInfo[playerid][pOrigin] = 1;//Standart für LoH, Spawn in San Fierro
    }
    if(response == 1)
    {
    SendClientMessage(playerid, 0xFFFFFFAA,"Ok Du spawnst nun in Los Santos");
    PlayerInfo[playerid][pOrigin] = 2;//Standart für LoH,Spawn in Los Santos
    }
    return 1;
    }


    So das wars, ich hoffe ich konnte dir helfen
    MFG(sry, klammern hats verschoben :D)

    Hier:
    if(strcmp(cmdtext,"/kaputt",true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 1337)//Standart bei LoH...
    new vid = GetPlayerVehicleID(playerid);
    {
    SetVehicleHealth(vid, 249.9);//ab 249.9 fängst zum brennen an
    SendClientMessage(playerid, 0xFFFFFFAA,"Auto erfolgreich angezündet");// 0xFFFFFFAA = Weiß
    }
    }
    return 1;
    }
    MFG (Klammern hats wieder verschoben -.-)

    Also Hier ist es:


    unter public OnPlayerStateChange(playerid, newstate, oldstate) :

    if(newstate == PLAYER_STATE_DRIVER)//Abfrage wenn spieler in einen Fahrzeug ist
    {
    SendClientMessage(playerid,0xFFFFFFFFF,"Um den Motor zu starten mach /engine");
    TogglePlayerControllable(playerid,0);// 0 == Gefreezt, 1==Entfreezt
    return 1;
    }

    unter OnPlayerCommandText(playerid, cmdtext[]):

    if(strcmp(cmdtext, "/engine", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))//Abfrage ob der Spieler in einen Auto ist(egal welches)
    {
    SendClientMessage(playerid, 0xFFFFFFAA,"Motor wird gestartet...");
    TogglePlayerControllable(playerid,1);//0 == Gefreezt, 1 == Entfreezt
    }
    return 1;
    }


    So das wars(klammern hats verschoben -.-)
    MFG

    Schau hier:


    Das fügst du am Anfang von deinen Script ein


    #define DIALOG_ZIVISKIN 300


    Dann fügst du unter OnDialogResponse ein;



    if(dialogid == DIALOG_ZIVISKIN)
    {
    if(response==0) { return 1; }
    if(response==1)
    {
    if(listitem==0)
    {
    SetPlayerSkin(playerid, 0);//SKIN ID 0
    }
    if(listitem==1)
    {
    SetPlayerSkin(playerid, 1);//SKIN ID 1
    }
    if(listitem==2)
    {
    SetPlayerSkin(playerid, 2);//SKIN ID 2
    }
    if(listitem==3)
    {
    SetPlayerSkin(playerid, 3);//SKIN ID 3
    }
    }


    Und zum Schluss unter OnPlayerCommandText:

    if(strcmp(cmdtext, "/Ziviskin",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 1000.0, 1000.0, 1000.0))//DU MUSST NOCH DIE KOORDINATEN ERSETZTEN: 1000.0,1000.0,1000.0 = x,y,z Koordinaten
    {
    ShowPlayerDialog(playerid,DIALOG_ZIVISKIN,DIALOG_STYLE_LIST,"Zivilisten Skins","Zivilistenskin 1\nZivilistenskin 2\nZivilistenskin 3\nZivilistenskin 4","Wählen","Abbrechen");
    }
    return 1;
    }


    Das war jetzt das System für die Verschönerung kannst du auch noch einen 3D und ein Pickupeinfügen(Unter OnGameModeInit())

    CreatePickup(1239, 23, 1000.0, 1000.0, 1000.0, -1);//DU MUSST NOCH DIE KOORDINATEN ERSETZTEN: 1000.0,1000.0,1000.0 = x,y,z Koordinaten
    Create3DTextLabel("ZivilistenSkin Auswahl\nTippe /ziviskin um einen Skin zu wählen",0xFFFFFFAA,1000.0,1000.0,1000.0,15.0,0,0);//DU MUSST NOCH DIE KOORDINATEN ERSETZTEN: 1000.0,1000.0,1000.0 = x,y,z Koordinaten


    Ich hoffe ich konnte dir helfen :)
    P.S:Irgendwie verschiebt es die Befehle und Klammern in diesen Post :|

    Guten Tag liebe breadfish Community


    Also ich hab folgendes Problem. Wenn jemand ein Auto betritt bekommt er sofort eine exe. bzw zuerst ist der Blidschirm schwarz und dann hängt sich das Game auf.
    Unter OnPlayerEnterVehicle steht nichts unauffälliges, das dazu führen könnte, das sich das Game aufhängt. Keiner von uns hat Mods drinnen, also kann es an den Modifikationen nicht liegen.


    Ich hoffe es kennt sich jemand damit aus und Danke schon mal im Vorraus


    MFG


    P.S. Falls ich den Thread in das Falsche Forum gepostet habe, bitte verschieben. Danke :)

    Danke, das mit den Vehicle wusste ich ja aber das mit den spieler ins Autosetzten wusste ich nicht


    Danke für die schnelle Hilfe


    /close

    Hallo


    Ich brauch mal bitte kurz eure Hilfe. Wenn ein User "/rennen" reintippt. Sollte er auf eine Position gesetzt werden. Dabei sollte auch ein Auto createt werden und der Spieler auch schon ins Auto gesetzt werden. Nach 7 Minuten soll das Auto dann wieder automatisch zerstört werden.


    Meine Frage ist wie lauten die Befehle für:
    Auto ins Fahrer setzten
    Auto createn
    Auto löschen


    Danke!
    MFg