Beiträge von RaPSoR

    Füg noch eine Spalte in deiner Tabelle ein zb:
    Per CP/Navicat:
    Spalte mit dem Typ Timestamp erstellen als Standart Wer CURRENT_TIMESTAMP nutzen
    oder
    Per SQL:

    SQL
    ALTER TABLE `gsr_tickets` ADD `tTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP


    Dann kannste mit dem Query das Sortieren:

    SQL
    SELECT * FROM `gsr_tickets` ORDER BY tTime  DESC


    So wird beim Erstellen eines Eintrags in der Tabelle die Erstelluhrzeit eingesetzt.

    BInfo vergessen, teste mal so:

    ocmd:enter(playerid,params[])
    {
    for(new i=0; i<sizeof(bInfo); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
    SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
    SetPlayerInterior(playerid,bInfo[i][b_interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;


    }
    return 1;
    }

    LSPDREP = CreatePickup (3096, 2, 1544.4786,-1609.6399,13.3828,-1);//LSPD RepPoint


    Du verwendest den SpawnTyp 2, den solltest du auf Type 1 ändern.
    Type 1 verwendet man immer wenn man das Scripttechisch abfragen möchte.
    Wenn ein Pickup nur als Anzeige dient kannst du auch die anderen Typen verwenden.

    Du verwendest bei all deinen Befehlen einen 2. Parameter der auf der Variable Cop liegen soll.
    Denn brauchst du aber gar nicht.

    new pID, Cop;
    if(sscanf(params,"ud",pID,Cop))return SendClientMessage(playerid,-1,"Verwendung: /cuff [spielerid]");

    Ändern zu:

    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Verwendung: /cuff [spielerid]");


    Das ebenfalls bei den anderen Befehlen.
    Zudem wäre es vllt noch gut wenn du jmd fesselst einen Wert zu speichern das er gefesselt wurde.
    So kann man nachvollziehen warum er gefreezt wurde.
    Beispiel:
    SpielerInfo[pID][cuffed]=true;

    ocmd:unfreeze(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return 1;
    if(SpielerInfo[pID][cuffed]==true) return SendClientMessage(playerid,-1,"Der Spieler wurde gefesselt daher kannst du ihn nicht unfreezen.");
    }


    Mfg
    RS

    Du kannst es mit fast allen Waffen machen.
    Jedoch hat ja jede Waffe eine andere Stärke.


    Die 24 kannste durch andere ID ersetzeten ebenfalls die Stärke 48 auch.
    Kannst auch mit einen Spray einstellen das das Objekte 80 Schaden verliert ist deine Kunst.


    Besser wäre eine Gruppierung von Holz,Metall so könnte man die Objekte unterschiedliche Lebensenergie zuweisen.


    Aber du kannst auch mehr damit machen z.B: Lagerhaus...Dort ist ein KeyPad wenn man drauf schießt ist es zerstört und das Tor geht auf.

    Ist durchaus möglich jedoch musst du die Objekte selber platzieren bzw Mappen.


    Dank den neuen Callback ist es einfacher geworden.
    http://wiki.sa-mp.com/wiki/OnPlayerWeaponShot


    Kleines Beispiel(Ungetestet):

    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(hittype==BULLET_HIT_TYPE_OBJECT )// Spieler Schießt auf ein Objekt.
    {
    if(weaponid==24)// Beispiel er nimmt eine Deagle
    {
    if(ObjekteHealth[hitid]>48)// Wenn das Objekt mehr Leben hat als die Waffe an Schaden verursacht
    {
    ObjekteHealth[hitid]-=48;// Setzt das Leben des Objete um Minus 48 runter
    }else{// Wenn es weniger als 48 Leben hat
    DestroyObject(hitid);// wird das Objekt zerstört
    }
    }

    }
    return 1;
    }