Beiträge von [C]Jack

    Guck in den Scriptfiles. Dort (Je nach Gamemode) sollte zB. ein Order Accounts oder so sein.
    Suchst du nach deinem Namen und dann in der .ini oder .txt änderst du Banned=1
    auf Banned=0 oder wie es dein Gamemode vorsieht.


    Gruss
    Driver

    Hallo, ich hab das Problem, dass wenn ich /saveaccounts eingebe, nur der Account der ID 0 gespeichert wird.
    Kann mir jemand sagen was ich falsch gemacht habe?


    if(strcmp(cmdtext,"/saveaccounts",true)==0)
    {
    if(isPlayerAnAdmin(playerid,7))
    {
    SendClientMessage(playerid,COLOR_GREEN,"Accounts werden gespeichert");
    format(string,sizeof(string),"AdmCmd: Admin %s hat alle Accounts gespeichert.",SpielerName(playerid));
    SendAdminMessage(COLOR_LIGHTRED,string);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    SavePlayer(i);


    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    return 1;
    }
    }

    Ich versuche gerade ein wenig MySQL zu lernen & meinen Script darauf umzustellen, was soweit ganz gut klappt.
    Allerdings nur bei den Accounts.
    Ich hab nämlich eine weitere Datenbank neben der der Accounts namens "admincars_db"
    Allerdings bekomm ich die Car ID´s dort drin nicht gespeichert.
    Im Script siehts momentan so aus:



    new carid = CreateVehicle(car, X,Y,Z,ZA, color1, color2, -1);
    PutPlayerInVehicle(playerid,carid,0);
    SetVehicleParamsEx(carid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    mysql_SetInt("admincars_db", "CarID1", carid, ???,???);

    Ich weiß nicht was genau in die letzten beiden Parameter soll (Kenn es halt nur vom Spieler Saven mit SpielerInfo[playerid][pName]..)


    Hier 2 Screens der Datenbank:



    /edit: Fehler selbst entdeckt. Hatte die Tabelle in der falschen Datenank. :pinch: :D


    Gruss
    Driver

    Hab ich geändert, klappt aber leider trotzdem nicht.
    Denke, dass bei allen drein ein ähnliches Problem vorliegt, da ja alle 3 in diesen Buchstaben dargestellt werden.

    Hey,


    ich hab ein kleines Problem mit meinem Ban System, unzwar werden im Dialogfeld, indem Informationen über den eigenen Ban stehen sollten nur irgendwelche
    Buchstaben angezeigt. Hier ein Beispiel:


    Allerdings finde ich den Fehler nicht. Abgespeichert bei /ban wird alles richtig, das hab ich in den Daten überprüft.
    So wird es abgespeichert:


    Hier mal der Script bei dem das Dialogfeld aufgerufen wird. Ich finde den Fehler nichfach nicht X(



    ich dachte mir als bild vllt was übersichtlicher // Wenn es der Lösung beiträgt post ich den Script auch als Quellcode :)

    Hey,


    ich brauche ein wenig Hilfe bei meinem Fraktionssystem.
    Ich weiß nicht, wie ich Skin´s nur für bestimmt Fraktionen erlauben kann.
    Ich habe schon in Godfather reingeschaut, doch dort blick ich nicht so ganz durch.


    Würde mich freuen, wenn mir jemand erklären könnte, wie ich eine Abfrage machen kann, inder bei jedem
    Spawn also unter OnPlayerSpawn abgefragt wird, ob ein Spieler den Skin, der in seiner Spielerdatei gespeichert
    ist tragen darf.


    Bisher hatte ich dies immer so gelöst:


    public OnPlayerSpawn(playerid)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{SetPlayerPos(playerid,lspdspawn);SetPlayerSkin(playerid,SKINID);}
    ...
    ...
    ...


    Doch so kann man ja nur einen Skin vestlegen doch ich hätte gern, diese Abfrage.




    mfG
    Driver :)

    Ich hab es jetzt mal so versucht wie du es vorgeschlagen hast, ist aber im prinzip genau das selbe wie ich verher hatte.


    Wenn ich dann /tvoff eingebe spawn ich ganz kurz an der letzten posi und dann am spawnpunkt, wenn ich /tvoff dann noch mal eingebe,
    dann spawn ich an der letzten posi, doch ich versteh nicht warum, denn nach SetPlayerPos kommt doch nur noch return, wieso verändert
    der die posi dann noch mal?:/

    Ich habs nun mal so gemacht, auch wenn es vielleicht ein wenig umständlich ist, es funktioniert.
    in dem befehl /tv ist nichts anders
    if(!strcmp(cmd,"/tvoff",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!isPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    TogglePlayerSpectating(playerid, 0);
    PlayerSpectatePlayer(playerid, playerid);
    SendClientMessage(playerid,COLOR_GREEN,"* Du bist nun nicht mehr im Beobachtungsmodus und spawnst an dener letzten Position.");
    SetTimerEx("TVtimer",109,0,"i",playerid);
    return 1;
    }


    Der Timer:
    public TVtimer(playerid)
    {
    SetPlayerPos(playerid, TeleportTv[playerid][0],TeleportTv[playerid][1],TeleportTv[playerid][2]);
    return 1;
    }

    hey,


    ich möchte gern, dass wenn ich auf /tv gehe (jemanden beobachte) meine aktuelle Position gespeichert wird und wenn ich dann /tvoff gehe man dort wieder hingeportet wird.
    Ich habe das jz so gelöst, doch man spawnt immer am Spawnpunkt und nicht an der gespeicherten Position:



    new Float:TeleportTv[MAX_PLAYERS][3];


    if(!strcmp(cmd,"/tv",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_DBLUE, "* NUTZE: /tv [id/spielername]");
    if(!isPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    GetPlayerPos(playerid, TeleportTv[playerid][0],TeleportTv[playerid][1],TeleportTv[playerid][2]);
    new user = strval(tmp);
    user = ReturnUser(tmp);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, user);
    PlayerSpectateVehicle(playerid,GetPlayerVehicleID(user),SPECTATE_MODE_NORMAL);
    SendClientMessage(playerid,COLOR_GREEN,"* Du bist im Beobachtungsmodus. Sollte die Person aus einem Fahrzeug steigen oder in eine Fahrzeug steigen nutze den Befehl erneut!");
    return 1;
    }
    if(!strcmp(cmd,"/tvoff",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!isPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    TogglePlayerSpectating(playerid, 0);
    PlayerSpectatePlayer(playerid, playerid);
    SendClientMessage(playerid,COLOR_GREEN,"* Du bist nun nicht mehr im Beobachtungsmodus und spawnst an dener letzten Position.");
    SetPlayerPos(playerid, TeleportTv[playerid][0],TeleportTv[playerid][1],TeleportTv[playerid][2]);
    return 1;
    }


    Kann mir jemand sagen wo der Fehler liegt?


    /edit: Hab ein wenig gestestet:
    if(!strcmp(cmd,"/gototv",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!isPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,COLOR_GRAD2,"* [SERVER]Du kannst diesen Befehl nicht nutzen!");
    SendClientMessage(playerid,COLOR_GREEN,"*letzten Position.");
    SetPlayerPos(playerid, TeleportTv[playerid][0],TeleportTv[playerid][1],TeleportTv[playerid][2]);
    return 1;
    }
    Also das Speichern der Positionen klappt, wenn ich /gototv eingebe bin ich da, wo ich eigentlich auch bei /tv eingegeben habe & wo ich eigentlich auch wieder sein sollte wenn ich /tvoff eingebe

    Hey.
    Wenn ich zB. eine Straßenlaterne mit CreateObjekt ganz normal in das public GamemodeInit einfüge,
    dann auf den Server joine und sie umfahre ist sie für immer weg oder(Außnahme restart) ?


    Wenn ja, gibt es eine Möglichkeit das zu verhindern? Eine "Respawnzeit" wie bei Cars?


    mfG
    Driver

    Hallo :)


    Ich hab mir gestern ein kleines Vehicle Spawn System gescriptet.

    • Mit /veh werden die Cars gespawnt (Insgesammt max. 20)
    • Mit /listcars sieht man alle gespawnten Cars in einer Liste
    • Mit /destroycar [1-20] Kann man eins der 20 Cars zerstören
    • Mit /destroyallcars kann man alle zerstören

    Nun hab ich nur das Problem, dass wenn ich mich auslogge & niemand mehr auf dem Server ist, doch noch mit /veh gespawnte cars aufm server sind


    Sie wenn ich mich wieder einlogge nicht mehr unter /listcars angezeigt werden, wodruch ich sie auch nicht mehr zerstören kann.
    ((Die Autos werden in Variablen gespeichert))
    Hier ein paar Zeilen aus meinem Script:
    Unter dem /veh Befehl:

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new cars = GetPVarInt(i,"SpawnedCars");

    if(cars == 0)
    {
    new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
    SetPVarInt(i,"SpawnedCars",cars+1);
    SetPVarInt(i,"CarID1",carid);
    format(string, sizeof(string), "* Fahrzeug mit der ID %d wurde erfolgreich gespawned, /listcars um eine Übersicht zu erhalten.", carid);
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;

    }
    .
    .
    .
    if(cars == 19)
    {
    new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
    SetPVarInt(i,"SpawnedCars",cars+1);
    SetPVarInt(i,"CarID20",carid);
    format(string, sizeof(string), "* Fahrzeug mit der ID %d wurde erfolgreich gespawned, /listcars um eine Übersicht zu erhalten.", carid);
    SendClientMessage(playerid, COLOR_GREEN, string);


    return 1;

    }
    else
    {
    SendClientMessage(playerid,COLOR_RED," Es wurden bereits 20 Fahrzeuge gespawnt. Zerstöre sie um neue spawnen zu können!");
    return 1;
    }
    }



    listcars

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    format(string,sizeof(string)," ~Gespawnte Cars(%d)~",GetPVarInt(i,"SpawnedCars"));
    SendClientMessage(playerid,COLOR_DBLUE,string);
    if(GetPVarInt(i,"CarID1") > 0)
    {
    format(string,sizeof(string),"1. CarID: %d | Model ID: %d (%s)",GetPVarInt(i,"CarID1"),GetVehicleModel(GetPVarInt(i,"CarID1")),VehicleName[GetVehicleModel(GetPVarInt(i,"CarID1"))-400]);
    SendClientMessage(playerid,COLOR_GRAD1,string);
    }
    if(GetPVarInt(i,"CarID2") > 0)
    {
    format(string,sizeof(string),"2. CarID: %d | Model ID: %d (%s)",GetPVarInt(i,"CarID2"),GetVehicleModel(GetPVarInt(i,"CarID2")),VehicleName[GetVehicleModel(GetPVarInt(i,"CarID2"))-400]);
    SendClientMessage(playerid,COLOR_GRAD1,string);
    }
    ... bis zum 20. Car




    Das Problem ist nun, dass die Variablen, wenn kein Spieler mehr on ist verloren geht. Wie kann ich die Variable erhalten bzw. wie kann ich die ganzen ID´s sonst speichern?


    mfG
    Driver :)