Beiträge von Sry4pwn

    du hast bestimmt eine spieler speichern funktion,
    dabei musste einen wert durch dein speichersystem gleich dem wert der variable in der dein rank abgespeichert wird setzen.


    Beim SpielerLaden() eben dann genau umgekeht ;)

    Nur die tasten die du im songleplayer bedienen kannst, kannst du Auch in aqmp verwenden.


    Du kannst natürlich deine GTA controlls ändern, is aber dann rleben nur bei dir so

    Kann nich funktionieren, onvehiclespawn wird nur beim.respawn aufgerufen...
    Nicht beim eigentlichen spawn.
    Machs einfach direkt nach createvehicle...


    Also
    new vehid = createvehicle(...)
    Setvehiclehealth(vehid, 2000.0);

    Tjoah falsch,
    Wenn ihr mal auf der scripting Seite schaut,
    Seht ihr, dass onvehiclespawn nur bei einem respawn aufgerufen wird...


    Mach einfach so
    New vehid = createvehicle(....);
    Setvehiclehealth(vehid, 2000.0);
    Sollte eig. Gehn ?

    @BlackAce


    mhm danke ;)
    aber funktioniert nicht ganz so...^^
    buggt ziemlich rum, manche zeichen verschwinden einfach, wo anders sind wieder welche da.7


    Hätte mir dabei eher sowas vorgestellt.
    Wäre so auf 5 parameter begrenzt...
    und man kann eben nur integer reinmachen...
    wie mach ich das, dass ich auch Strings und Floats hernehmen kann ?
    was muss ich statt dem ... schreiben?



    stock SendFormatMessage(playerid,color,text[],...)
    {
    new str[128];
    format(str, sizeof(str), text, getarg(3), getarg(4), getarg(5), getarg(6), getarg(7));
    SendClientMessage(playerid,color,str);
    return 1;
    }

    Habe das so....
    musst natürlich deine abfrage ersetzen und anpassen etc...
    also zB: isAdmin() gegen deine, oder SpielerName()
    das is für dcmd und sscanf gedacht.
    bei ocmd den funtionskopf eben durch ocmd:setskin(playerid, params[]) ersetzen ;)
    damit du noch bisschen was selbst machst ;)
    am besten kopierst dus nich einfach, sondern scriptest sowas immer nach



    dcmd_setskin(playerid, params[])
    {
    new pid, skinid;
    new str1[128], str2[128];
    if(!isAdmin(playerid, 1)) return SendClientMessage(playerid, ROT, "Diesen Befehl dürfen nur Admins ausführen");
    else {
    if(sscanf(params, "ii", pid, skinid)) return SendClientMessage(playerid, ROT, "USAGE: /setskin playerid skinid");
    else {
    SetPlayerSkin(pid, skinid);
    format(str1, sizeof(str1), "Du hast den Skin von %s geändert", SpielerName(pid));
    format(str2, sizeof(str2), "Dein Skin wurde von %s-%s geändert", GetAdminRankName(playerid), SpielerName(playerid));
    SendClientMessage(playerid, GELB, str1);
    SendClientMessage(pid, GELB, str2);
    return 1;
    }
    }
    }

    Hey, ich suche eine Funktion wie eben oben der name schon sagt.
    Gibt es sowas irgendwo als fertige Funktion?
    Ich möchte mir damit folgendes ersparen:



    new str[128];
    format(str, sizeof(str), "%s sucht folgenden Stock", SpielerName(playerid));
    SendClientMessage(playerid, ROT, str);


    und durch in etwa sowas ersetzen können:
    SendClientFormatMessage(playerid, ROT, "%s sucht folgenden Stock", SpielerName(playerid));


    Habe sowas auch in google schon gesehen, allerdings nciht als funktionsfähigen code.
    würde es zwar gern selbst machen, kenne mich jedoch nicht mit unabhängiger parameterzahl aus.


    Vielen Dank schonmal...

    dann kriegste eben den letzten fetzen auch noch gemacht ;)



    ocmd:repair(playerid,params[])
    {
    new pID;
    if(!SpielerInfo[playerid][Job] == 1))return SendClientMessage(playerid,Rot,"Du bist kein Mechaniker.");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Hellblau,"/repair [ID]");
    Gegnerid[pID] = playerid;
    ShowPlayerDialog(pID,DIALOG_ME,DIALOG_STYLE_MSGBOX,"Mechaniker - Repair","Dir wird eine Reperatur für 90$ angeboten.","Annehmen","Ablehnen");
    return 1;
    }

    ja tut er doch....
    maaaan
    bei ondialogresponse(playerid, ...)
    ist die playerid, die id von der normalen Person, nicht die von dem Mechaniker...


    Das is doch irwie a schmarrn oder ? ;D
    Spielerid[playerid]=playerid; bewirkt mal wieder sehr viel....


    nimm das hier.. auch wenn dann noch viel unnützes zeug im oberen teil steht...
    aber mit c&p erhält man eben nie etwas besseres

    naya.. c&p is ja wohl nich die beste art n server zu machn mhm ?
    Hier mal n Code wie er mit dcmd & sscanf aussehen könnte...
    dazu brauchste dann eben noch ne funktion die den namen returnt

    dcmd_report(playerid, params[])
    {
    new text[128], text2[128];
    if(sscanf(params, "is", id, text)) return SendClientMessage(playerid, ROT, "USAGE: /report playerid text");
    else {
    format(text, sizeof(text), "[%i]%s reportet %s: %s", playerid, SpielerName(playerid), SpielerName(id), text);
    format(text2, sizeof(text2), "Report abgesendet: %s", params);
    SendClientMessage(playerid, 0xFFFF00FF, text2);
    for(new i =0; i<MAX_PLAYERS; i++) {
    if(IsPlayerAnAdmin(i,1)) {
    SendClientMessage(i, 0xFFFF00FF, text);
    }
    }
    return 1;
    }
    }



    stock SpielerName(playerid)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
    }