Beiträge von VitoHusky

    aus
    public VUTimer(playerid)


    public VUTimer()


    und dann das ganze dadrinn in eine Schleife setzen wie


    for(new p = 0; p < MAX_PLAYERS; p++) {
    und dann in der Funktion selber natürlich noch aus playerid p machen fertig =)



    Problem erklärung
    Du rufst eine Funktion ohne angaben auf
    Standart wert ist in dem Fall nicht gesetzt also wird es 0
    Die ganze funktion geht nur auf ID 0 =)

    Kurzanleitung


    Tot -> Variable setzen und ins Krankenhaus stecken
    Medic kriegt ne meldung + Ort
    Wenn medic da ist kann er /revive machen vorher wird ein Timer erstellt wo die Zeit angegeben ist, wielange er /revive machen kann
    wenn revive fertig aus dem kh holen und an die posi stellen und variable auf 0 setzen
    bei disconnect oder nach ablauf der zeit den medics freundlicherweise ne nachricht das es zu spät ist und das Definierte Pickup entfernen

    Gehört das nicht zu "Scriptwünsche"


    Naja Tutorial gibts da soweit ich weiss nicht


    Aber wenn du ein Selfmade machst wirst du das wohl auch hinbekommen


    einfach contract
    wieviel geld mit sscanf o.Ä.
    dann wenn genug geld dann ne variable HatContract an die ausgewählt id auf 1 setzen
    HatContractGeld auf die ausgwählte id dann ne Nachricht an die Hitmans
    dann die beim tod schauen ob es ein Hitman war wenn ja ob der ein contract hatte
    wenn ja das geld dem hitman geben und beide Variablen wieder auf 0 setzen


    so das ist die kurz fassung =)

    Hä?! Ich bin doch nicht blöd


    bei
    Function Revive(playerid)
    {
    new tmpstr[128], Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX,pY,pZ);
    }


    kommt

    Hallo Community
    Ich habe momentan ein Problem mit meinen NoDm Zonen


    sie werden so in einem Enum erstellt
    #define NoDMCount 2
    new NoDMZone[NoDMCount];
    enum NoDMEnum
    {
    Float:nOLX, //OBEN LINKS
    Float:nOLY, // OBEN LINKS
    Float:nURX, //UNTEN RECHTS
    Float:nURY, //UNTEN RECHTS
    ndmName[128]
    };
    new NoDMZones[NoDMCount][NoDMEnum] = {
    {1163.8538,-875.4206,1235.9896,-925.1810, "Burger Shot North"}, // BSN
    {1131.4553,-1286.2200,1216.1123,-1390.4766,"Krankenhaus Los Santos"} // KHLS
    };
    OLX ist x Koordinate von oben links
    OLY ist y von oben rechts
    URX ist x von unten rechts
    URY ist die y Koordinate von unten rechts


    So nun werden sie bei ongamemodeinit erstellt
    new nNoDmZone = 0;
    for(; nNoDmZone < sizeof NoDMZones; nNoDmZone++) {
    NoDMZone[nNoDmZone] = GangZoneCreate(NoDMZones[nNoDmZone][nOLX],NoDMZones[nNoDmZone][nOLY],NoDMZones[nNoDmZone][nURX],NoDMZones[nNoDmZone][nURY]);
    }



    und bei connect angezeigt
    for(; nNoDmZone < sizeof NoDMZones; nNoDmZone++) {
    GangZoneShowForPlayer(playerid, NoDMZone[nNoDmZone], 0xFEFEFEAA);
    }


    abfrage im Sekunden takt:
    if(IstInNoDMZone(p) == 1) {
    TextDrawShowForPlayer(p, NoDMText);
    }
    else {
    TextDrawHideForPlayer(p, NoDMText);
    }


    und hier die Abfrage
    stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:pX,Float:pY,Float:pZ;
    if(!IsPlayerInAnyVehicle(playerid)) GetPlayerPos(playerid,pX,pY,pZ);
    else GetVehiclePos(GetPlayerVehicleID(playerid),pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return true;
    else return false;
    }


    stock IstInNoDMZone(playerid)
    {
    new nNoDmZone = 0;
    for(; nNoDmZone < sizeof NoDMZones; nNoDmZone++) {
    if(IsPlayerInArea(playerid,NoDMZones[nNoDmZone][nOLX],NoDMZones[nNoDmZone][nOLY],NoDMZones[nNoDmZone][nURX],NoDMZones[nNoDmZone][nURY])) {
    printf("Area %s", NoDMZones[nNoDmZone][ndmName]);
    return 1;
    }
    }
    return -1;
    }


    Wo liegt da bitte der Fehler? Aus meiner Perspektive hab ich alles richtig gemacht..