Codeschnipsel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ja fail scheiß name ich weiß

    hab mir ein ein besseren überlegt GetOwnerVehicleID(playerid)

    kurze erklährung

    bei ein autohaussystem hat man ja manchmal ein problem mit den VID(Vehicle ID´s)
    diese function haut den fehler einfach raus und arbeitet praktisch

    habs selber in mein autohaussystem drin funzt perfekt

    zb. playerid hat jetzt ein auto mit der VID 500 und die schleife geht einfach alle auto´s durch und wo der owner gleich playerid name ist zeigt die VID an

    so ist es z.b. bessermöglich mit destroyvehicle zu arbeiten
  • Hier wurde zwar schon ewig nichts mehr gepostet, aber:
    [pwn]stock IsPlayerBehindVehicle(playerid,veh)
    {
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    new Float:vinfo[3]; GetVehicleModelInfo(GetVehicleModel(veh),VEHICLE_MODEL_INFO_SIZE,vinfo[0],vinfo[1],vinfo[2]);
    new Float:lenge = floatdiv(vinfo[1],2.0);
    new Float:radius = floatdiv(vinfo[0],2.0);
    vcoord[0] = floatadd(vcoord[0],(-lenge * floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-lenge * floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,radius,vcoord[0],vcoord[1],vcoord[2])){return 1;}
    else{return 0;}
    }[/pwn]
    [pwn]stock IsVehicleUsed(vehicleid)
    {
    for(new playerid; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && GetPlayerVehicleID(playerid) == vehicleid)
    {
    return 1;
    }
    }
    return 0;
    }[/pwn]
    [pwn]stock GetPlayeridByIP(ip[])
    {
    new abgleich[32];
    for(new playerid; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerIp(playerid,abgleich,sizeof(abgleich));
    if(!strcmp(abgleich,ip,true,32))
    {
    return playerid;
    }
    }
    }
    return -1;
    }[/pwn]
    Glaube die Benutzung ist bei allen selbsterklärend ;)
  • [pwn]
    //Oben ins Script
    forward Timer();
    //Unter OnGameModeInit
    SetTimer("Timer",1000,1);
    //Dein public
    public Timer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++){
    new Float:zustand;
    new car = GetPlayerVehicleID(i);
    GetVehicleHealth(car, zustand);
    if(zustand < 900){ SetVehicleHealth(car, 1000.0); RepairVehicle(car); }
    }
    [/pwn]

    Dieser Code ist für Stuntserver nützlich, welche vorhaben deren Cars nicht explodieren zu lassen.

    mfg. =)
  • [pwn]stock SetVehicleSpeed(vehicleid, Float:speed)
    {
    new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a;
    GetVehicleVelocity(vehicleid, x1, y1, z1);
    GetVehiclePos(vehicleid, x2, y2, z2);
    GetVehicleZAngle(vehicleid, a); a = 360 - a;
    x1 = (floatsin(a, degrees) * (speed/100) + floatcos(a, degrees) * 0 + x2) - x2;
    y1 = (floatcos(a, degrees) * (speed/100) + floatsin(a, degrees) * 0 + y2) - y2;
    SetVehicleVelocity(vehicleid, x1, y1, z1);
    }[/pwn]

    Setzt die Geschwindigkeit eines Fahrzeuges auf einen bestimmten, oben angegebenen Wert.

    MFG
  • HIer mal ein Code, um Commands zu loggen
    [pwn]stock LCommand(event[])
    {
    new File:log = fopen("command_log.txt", io_append);
    fwrite(log, event);
    fwrite(log, "\n");
    fclose(log);
    }
    [/pwn]

    Zu verwenden:

    [pwn]...blablabla
    bisidfo(playerid, fdsf+2);
    new logstring[128];
    new year;
    new month;
    new day;
    getdate(year,month,day);
    format(logstring,sizeof(logstring), " [%02d-%02d-%02d] %s hat %s gehautn tuten tun!", day, month, year,...);
    LogCommand(logstring);[/pwn]
  • Benötigt wird unter OnPlayerDeath
    dieser Code friert einen spieler ein wenn er gestorben ist
    [pwn]
    SendClientMessage(playerid,ROT,"Du Bist Tot");
    TogglePlayerControllable(playerid, 0);
    ClearAnimations(playerid);
    ApplyAnimation(playerid, "PED", "KO_shot_front", 4.1, 0, 1, 1, 0, 300000, 1);
    SendClientMessage(playerid,ROT,"Ein arzt ist auf dem weg zu dir");[/pwn]
    Dann der ocmd befehl müsste man noch zum medic umschreiben aber er funktioniert
    per /heal name/id preis
    wird fest gelegt wer wiederbelebt wird und wieviel es kostet
    anschließend wird dem Medic der preis gutgeschrieben und dem wiederbelebten abgezogen
    [pwn]ocmd:heal(playerid, params[])
    {
    new
    id,
    money;
    if (sscanf(params, "ui", id, money)) SendClientMessage(playerid, ROT, "Nutze: "/heal <ID/NAME> <PREIS>"");
    else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, ROT, "Spieler nicht gefunden!");
    else
    {
    if(IsPlayerAdmin(playerid))
    {
    SetPlayerHealth(id, 100.0);
    SendClientMessage(id, GRUEN, "Der arzt hat dich wiederbelebt");
    SendClientMessage(playerid, GRUEN, "Du hast den Verletzten erfolgreich widerbelebt");
    GivePlayerMoney(playerid,money);
    GivePlayerMoney(id,-money);
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein admin");
    }
    }
    return 1;
    }[/pwn]
    das kann man jetzt noch erweitern mit getplayer pos setplayerpos so wie timer ansonnsten liegt man da ja bis ein arzt sich kümmert^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von west123 ()

  • Aha, das ist kein Fehler?
    [pwn]SendClientMessage(playerid, ROT, "Nutze: "/heal <ID/NAME> <PREIS>"");[/pwn]
    Also ich sehe direkt das, dass falsch ist. Und die Funktion braucht noch z.b. einen Marker, denn sonst liegt man da ja die ganze Zeit rum oder nach nem relog ist man wieder am leben. Es soll zwar ein Codeschnipsel sein, aber eher unbrauchbar.
  • [pwn]SendClientMessage(playerid, ROT, "Nutze: "/heal <ID/NAME> <PREIS>"");[/pwn]
    dürfte so gehen.
    Rest ist etwas komisch geschrieben... sehr komisch finde ich.
    Macht so mehr Sinn:
    [pwn]ocmd:heal(playerid, params[]) {
    new id,
    money;
    if(sscanf(params, "ui", id, money))
    return SendClientMessage(playerid, ROT, "Nutze: "/heal <ID/NAME> <PREIS>"");
    if(id == INVALID_PLAYER_ID)
    return SendClientMessage(playerid, ROT, "Spieler nicht gefunden!");
    if(!IsPlayerAdmin(playerid))
    return SendClientMessage(playerid, ROT, "Du bist kein admin");
    SetPlayerHealth(id, 100.0);
    SendClientMessage(id, GRUEN, "Der arzt hat dich wiederbelebt");
    SendClientMessage(playerid, GRUEN, "Du hast den Verletzten erfolgreich widerbelebt");
    GivePlayerMoney(playerid,money);
    GivePlayerMoney(id,-money);
    return 1;
    }[/pwn]
  • [BlaZZeR]BirD schrieb:

    Aha, das ist kein Fehler?
    [pwn]SendClientMessage(playerid, ROT, "Nutze: "/heal <ID/NAME> <PREIS>"");[/pwn]
    Also ich sehe direkt das, dass falsch ist. Und die Funktion braucht noch z.b. einen Marker, denn sonst liegt man da ja die ganze Zeit rum oder nach nem relog ist man wieder am leben. Es soll zwar ein Codeschnipsel sein, aber eher unbrauchbar.


    wenn du das mit playerid meinst ja da hab ich was vertauscht da müsste pID hin aber ich hab dem toten pID gegeben somit kein fehler ich habe nie gesagt das es fertig ist siehe Start post hab unten hin geschrieben was man noch machen könnte

    aber wenn einem hier alles negativ angerechnet wird wars das dann mit dem forum viel erfolg noch ich bin nicht hier um mich dumm anquatschen zu lassen zudem ich mir keiner schuld bewusst bin bis auf den admin teil!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von west123 ()