Beiträge von Jeffry

    ocmd:corpselist(playerid,params[])
    {
    new string[512],Float:x,Float:y,Float:z;
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_GRAY,"*Du bist in keinem Fahrzeug!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_GRAY,"*Du bist nicht der Fahrer eines Fahrzeugs!");
    for(new i = 0; i < MAX_LEICHEN; i++)
    {
    if(leichenInfo[i][existiert] == 0) continue;
    format(string,sizeof(string),"%s%s\t%0.2f Meter\n",string,GetAreaName(leichenInfo[i][l_x],leichenInfo[i][l_y],leichenInfo[i][l_z]),GetDistance(x,y,z,leichenInfo[i][l_x],leichenInfo[i][l_y],leichenInfo[i][l_z]));
    }
    if(!strlen(string)) return SendClientMessage(playerid, COLOR_GRAY, "Error: Keine Leichen vorhanden.");
    format(string,sizeof(string),"Ort\tEntfernung\n%s",string);
    ShowPlayerDialog(playerid, DIALOG_LeichenMenu, DIALOG_STYLE_TABLIST_HEADERS, "Leichen Menu",string, "Wählen", "Abbrechen");
    return 1;
    }


    if(dialogid==DIALOG_LeichenMenu)
    {
    if(!response)return 1;
    new tmp;
    for(new i=0; i<MAX_LEICHEN; i++)
    {
    if(leichenInfo[i][existiert] == 0) continue;
    if(tmp==listitem)
    {
    if(leichenInfo[i][onload]==1) return 1;
    SetPlayerCheckpoint(playerid,leichenInfo[i][l_x],leichenInfo[i][l_y],leichenInfo[i][l_z],3.0);
    return 1;
    }
    else tmp++;
    }
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:tot_x,Float:tot_y,Float:tot_z;
    tot[playerid] = 1;
    giveplayermoney(playerid,-GetPlayerScore(playerid)*50);
    new namenstring[200];
    format(namenstring,sizeof(namenstring),"†\n%s",getPlayerName(playerid));
    for(new l = 0; l < MAX_LEICHEN; l++)
    {
    if(leichenInfo[l][existiert] == 1) continue;
    GetPlayerPos(playerid,tot_x,tot_y,tot_z);
    leichenInfo[l][l_x] = tot_x;
    leichenInfo[l][l_y] = tot_y;
    leichenInfo[l][l_z] = tot_z;
    leichenInfo[l][pickup] = CreatePickup(1254,1,leichenInfo[l][l_x],leichenInfo[l][l_y],leichenInfo[l][l_z],0);
    leichenInfo[l][NamenLabel] = Create3DTextLabel(namenstring,C_Weiß,leichenInfo[l][l_x],leichenInfo[l][l_y],leichenInfo[l][l_z],10.0,0,0);
    leichenInfo[l][onload] = 0;
    leichenInfo[l][existiert] = 1;
    print("OnPlayerDeath.. Leichenpickup usw. wurde erstellt!");
    break;
    }
    //.....
    //.....
    }


    if(PlayerMoraleSpree[killerid] > -15 && PlayerMoraleSpree[killerid] < 25)
    zu:
    if(killerid != INVALID_PLAYER_ID && PlayerMoraleSpree[killerid] > -15 && PlayerMoraleSpree[killerid] < 25)



    Dies muss dann eben vor die obige Abfrage:
    if(killerid == INVALID_PLAYER_ID) PlayerMoraleSpree[playerid]--;
    den else-Teil dazu kannst du ohne das else dort lassen wo es ist.

    format(string,sizeof(string),"Du hast Erfolgreich %d Eventpunkte umgewandelt.",SpielerName(ep));
    zu:
    format(string,sizeof(string),"Du hast Erfolgreich %d Eventpunkte umgewandelt.",ep);


    Und:
    if(sscanf(params,"u",ep))
    zu:
    if(sscanf(params,"i",ep))

    Oh, gut da spiele ich jetzt nicht drin rum.
    Mache es bei OnPlayerLeaveCheckpoint so:
    if(Spieler[playerid][Job] == 2)
    {
    new vehicle = GetPlayerVehicleID(playerid);
    for(new i; i != sizeof(buscars); i++)
    {
    if(vehicle == buscars[i])
    {
    SendClientMessage(playerid, ROT, "Du hast die Haltestelle verpasst.");
    if(pCP[playerid] == CHECKPOINT_BUSBERUF && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown[playerid]);
    BusCountdown[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF2 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown2[playerid]);
    BusCountdown2[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF3 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown3[playerid]);
    BusCountdown3[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF4 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown4[playerid]);
    BusCountdown4[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF5 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown5[playerid]);
    BusCountdown5[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF6 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown6[playerid]);
    BusCountdown6[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF7 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown7[playerid]);
    BusCountdown7[playerid] = -1;
    return 1;
    }
    else if(pCP[playerid] == CHECKPOINT_BUSBERUF8 && BusCP[playerid] > 0)
    {
    KillTimer(BusCountdown8[playerid]);
    BusCountdown8[playerid] = -1;
    return 1;
    }
    }
    }
    }

    In Pseudo-Code:
    GFirmaInfo[gfirma][firmenname] = OrgInfo[Spieler[playerid][OrgID]][orgname];


    Er packt OrgInfo[Spieler[playerid][OrgID]][orgname] in die GFirmaInfo[gfirma][firmenname] Variable.


    Man könnte es auch so schreiben:
    format(GFirmaInfo[gfirma][firmenname],64,OrgInfo[Spieler[playerid][OrgID]][orgname]);
    oder:
    format(GFirmaInfo[gfirma][firmenname],64,"%s",OrgInfo[Spieler[playerid][OrgID]][orgname]);


    Wie du willst.

    /*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/


    Zuerst die kleine X Koordinate
    Dann die kleine Y Koordinate
    Dann die große X Koordinate
    Dann die große Y Koordinate
    Dann die CP Koordinaten X, Y, Z.



    Und da -1250 kleiner ist als -1082 muss es als erstes kommen (-10 ist ja kleiner als -5).

    stock bool:IsVehicleDrivingBackwards(vehicleid) //©Nero_3D
    {
    new Float:Float[3];
    if(GetVehicleVelocity(vehicleid, Float[1], Float[2], Float[0])) {
    GetVehicleZAngle(vehicleid, Float[0]);
    if(Float[0] < 90) {
    if(Float[1] > 0 && Float[2] < 0) return true;
    } else if(Float[0] < 180) {
    if(Float[1] > 0 && Float[2] > 0) return true;
    } else if(Float[0] < 270) {
    if(Float[1] < 0 && Float[2] > 0) return true;
    } else if(Float[1] < 0 && Float[2] < 0) return true;
    }
    return false;
    }


    Quelle: http://forum.sa-mp.com/showthread.php?t=140183

    Passt das soweit?


    Was ich nicht verstehe ist, warum du BusCountdown8[playerid] machst, und das für 8 Timer (1,2,3,...8). Es würde reichen, eine Variable und einen Timer zu nutzen, dann könnte man den Timer einfach mit:
    KillTimer(BusCountdown[playerid]);
    beenden.