Beiträge von reaL.

    ich habe meine Ein/Ausgänge ein bisschen verändert das es übersichtlicher ist
    jetze meine Frage ich will das in Interrior's nur Frakmitglieder betretbar sind das funktiniert aber die wo alle rein sollen funktioniert es mit -1 sprich für alle nicht aber wieso ?


    //Oben im script
    enum InteriorEnum
    {
    F_ID,
    Float:enterX,
    Float:enterY,
    Float:enterZ,
    Worldid,
    Float:exitX,
    Float:exitY,
    Float:exitZ,
    Float:exitR,
    InteriorID,
    InteriorVirtualWorld,
    ErrorMs[128]
    }


    new Intenum[][InteriorEnum] =
    {
    {-1,1209.1383,-1752.1898,13.5935,0,387.8430,173.8047,1008.3828,91.6419,3,4,"Du bist nicht in der Fraktion!"},//Stadthalle rein
    .....


    OnGameModeInit
    for(new i=0; i<sizeof(Intenum); i++)
    {
    CreatePickup(1559,1,Intenum[i][enterX],Intenum[i][enterY],Intenum[i][enterZ],Intenum[i][Worldid]);
    printf("%i Pickups erstellt!)",i);
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    new string[128];
    for(new i=0; i<sizeof(Intenum); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,Intenum[i][enterX],Intenum[i][enterY],Intenum[i][enterZ]))
    {
    if(sInfo[playerid][fraktion] == Intenum[i][F_ID])
    {
    if(GetPlayerVirtualWorld(playerid) == Intenum[i][Worldid])
    {
    SetPlayerPos(playerid,Intenum[i][exitX],Intenum[i][exitY],Intenum[i][exitZ]);
    SetPlayerFacingAngle(playerid,Intenum[i][exitR]);
    SetPlayerInterior(playerid,Intenum[i][InteriorID]);
    SetPlayerVirtualWorld(playerid,Intenum[i][InteriorVirtualWorld]);
    SetCameraBehindPlayer(playerid);
    }
    }
    else
    {
    format(string,sizeof(string),Intenum[i][ErrorMs]);
    SendClientMessage(playerid,ROT,string);
    }
    }
    }
    return 1;
    }

    Einfach unter OnDialogResponse
    Abfragen welches listitem er gewählt hat dann
    GetPlayerPos(playerid,....
    An der pos das Car erstellen und das Blaulicht Mit CreateDynamicObject oder CreateObject an 0,0,0 erstellen und ans Car heften was dein Problem ?

    Wie macht man das wenn man ein Tresor hat und da /rob eingibt und da dynamit kommt weiß ich CreateDynamicObject or CreateObject
    Aber wie mach ich das das es explodierte auch mit CreateExplosion ? Und fliegt die Tür das raus oder muss ich das object löschen ? Und aufm Boden neu erstellen ?

    Hallo ich wollte mal fragen ob ich das so richtig gemacht habe mit der Jailtime und Todestime ?
    Jeffry:
    Der Timer der die Sekunden Runter zählt
    public sekunde()
    {
    for(new v = 0; v<MAX_PLAYERS; v++)
    {
    if(sInfo[v][tott] > 0)
    {
    sInfo[v][tott] -= 1000;
    if(sInfo[v][tott] == 0)
    {
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"");
    SendClientMessage(v,weiß,"Ein wunder ist Passier");
    SendClientMessage(v,weiß,"Du bist nun Wieder am Leben");
    if(sInfo[v][jailtime] > 0)
    {
    new rand = random(sizeof(knastsfpd));
    SetTimer("sekunde",sInfo[v][jailtime],0);
    SetPlayerInterior(v,10);
    SetPlayerVirtualWorld(v,24);
    SetPlayerPos(v,knastsfpd[rand][0],knastsfpd[rand][1],knastsfpd[rand][3]);
    SetPlayerFacingAngle(v,knastsfpd[rand][4]);
    sInfo[v][kx] = knastsfpd[rand][0];
    sInfo[v][ky] = knastsfpd[rand][1];
    sInfo[v][kz] = knastsfpd[rand][2];
    }
    else
    {
    SpawnPlayer(v);
    return 1;
    }
    }
    return 1;
    }
    if(sInfo[v][jailtime] > 0)
    {
    sInfo[v][jailtime] -= 1000;
    if(sInfo[v][jailtime] == 0)
    {
    GameTextForPlayer(v,"~r~Du bist Frei",2000,0);
    sInfo[v][kx] = 0;
    sInfo[v][ky] = 0;
    sInfo[v][kz] = 0;
    SpawnPlayer(v);
    }
    return 1;
    }
    if(sInfo[v][bankkt] > 0)
    {
    sInfo[v][bankkt] -= 1000;
    if(sInfo[v][bankkt] == 0)
    {
    SendClientMessage(v,GRÜN,"=============== | Bank Los Santos | ===============!");
    SendClientMessage(v,GRÜN,"Dein Bankkonto wurde erfolgreich erstellt!");
    SendClientMessage(v,GRÜN,"Du kannst am ATM oder in der Bank Geld Abheben/Einzahlen und dein Kontostand prüfen.");
    SendClientMessage(v,GRÜN,"=============== | Bank Los Santos | ===============!");
    sInfo[v][bankk] = 1;
    }
    }
    if(sInfo[v][persot] > 0)
    {
    sInfo[v][persot] -= 1000;
    if(sInfo[v][persot] == 0)
    {
    sInfo[v][pantrag] = 1;
    SendClientMessage(v,weiß,"=============== | Personalausweis Information | ===============");
    SendClientMessage(v,weiß,"Dein Personalausweis wurde fertig erstellt und kann abgeholt werden.");
    SendClientMessage(v,weiß,"Die Bearbeitungskosten deines Personalausweises liegen bei 500$.");
    }

    }
    if(sInfo[v][eckt] > 0)
    {
    sInfo[v][eckt] -= 1000;
    if(sInfo[v][eckt] == 0)
    {
    sInfo[v][pantrag] = 1;
    SendClientMessage(v,weiß,"=============== | Bank Los Santos | ===============");
    SendClientMessage(v,weiß,"Dein Personalausweis wurde fertig erstellt und kann abgeholt werden.");
    SendClientMessage(v,weiß,"Die Bearbeitungskosten deines Personalausweises liegen bei 500$.");
    SendClientMessage(v,weiß,"=============== | Bank Los Santos | ===============");
    }


    }
    if(Fahrsstunde[v][fahr_bAktiv])
    {
    new veh = GetPlayerVehicleID(v),string[64],speed = GetVehicleSpeed(veh);
    if(speed>100)
    {
    sInfo[v][fahrpunkte] ++;
    if(sInfo[v][fahrpunkte] == 5)
    {
    SetVehicleToRespawn(veh);
    tank[veh] = 100;
    SendClientMessage(v,EROT,"Du bist durchgefallen da du zuviele Fehler Punkte hattest!");
    return 1;
    }
    else
    {
    format(string,sizeof(string),"Du bist zu Schnell! Fehler ( %d | 5)",sInfo[v][fahrpunkte]);
    SendClientMessage(v,EROT,string);
    return 1;
    }
    }
    }
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(sInfo[playerid][PTot] == 1)
    {
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"Du bist soeben gestorben!");
    SendClientMessage(playerid,weiß,"Gleich wird ein Wunder passieren!");
    SetTimer("sekunde",sInfo[playerid][tott],0);
    SetPlayerVirtualWorld(playerid,89);
    SetPlayerPos(playerid,816.6987,-1103.0229,25.7914);
    }
    if(sInfo[playerid][jailtime] > 0)
    {
    SendClientMessage(playerid,IGELB,"Du musst deine Restzeit im Knast noch absitzen!");
    SetTimer("sekunde",sInfo[playerid][jailtime],0);
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,24);
    SetPlayerPos(playerid,sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz]);
    }
    else
    {
    SetSpawnInfo(playerid,0,26,370.3382,-2059.1753,8.6107,359.5793,0,0,0,0,0,0);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SpawnPlayer(playerid);
    }
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(sInfo[playerid][PTot] == 1)
    {
    SetPlayerVirtualWorld(playerid,89);
    SetPlayerPos(playerid,816.6987,-1103.0229,25.7914);
    }
    else if(sInfo[playerid][jailtime] > 0)
    {
    SetPlayerInterior(playerid,10);
    SetPlayerVirtualWorld(playerid,24);
    SetPlayerPos(playerid,sInfo[playerid][kx],sInfo[playerid][ky],sInfo[playerid][kz]);
    }
    else if(!isPlayerInFrakt(playerid, 0))
    {
    if(sInfo[playerid][spawnchange]==1)
    {
    new fID;
    fID = sInfo[playerid][fraktion];
    SetPlayerPos(playerid, fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
    SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);
    SetPlayerInterior(playerid, fInfo[fID][f_inter]);
    SetPlayerVirtualWorld(playerid, fInfo[fID][f_world]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe1], fInfo[fID][f_ammo1]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe2], fInfo[fID][f_ammo2]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe3], fInfo[fID][f_ammo3]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe4], fInfo[fID][f_ammo4]);
    }
    }
    SetPlayerSkin(playerid,sInfo[playerid][Skin]);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    sInfo[playerid][PTot] = 1;
    GivePlayerMoney(playerid,100);
    new Float:ptx,Float:pty,Float:ptz,string[80];
    GetPlayerPos(playerid, ptx,pty,ptz);
    sInfo[playerid][dx] = ptx;
    sInfo[playerid][dy] = pty;
    sInfo[playerid][dz] = ptz;
    TotenKopf[playerid] = CreatePickup(1254,1,ptx,pty,ptz);
    format(string,sizeof(string),"Leichen Name\nvon %s",getPlayerName(playerid));
    TotenName[playerid] = Create3DTextLabel(string,GRAU,ptx,pty,ptz,10,GetPlayerVirtualWorld(playerid),0);
    format(string, sizeof(string),"Der Spieler %s ID %i ist soeben gestorben!",getPlayerName(playerid),playerid);
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"Du bist soeben gestorben!");
    SendClientMessage(playerid,weiß,"Gleich wird ein Wunder passieren!");
    SetTimer("sekunde",180000,false);
    SendOndutyMedicMessage(GELB,string);
    if(!isPlayerInFrakt(killerid,1) || !isPlayerInFrakt(killerid,1))
    {
    for(new i = sInfo[killerid][wantedl]; i < (sInfo[killerid][wantedl]+2); i++)
    {
    TextDrawShowForPlayer(killerid, Wanted[i]);
    }
    sInfo[killerid][wantedl] +=2;
    }
    else
    {
    }
    if(sInfo[playerid][kGeld] > 0)
    {
    if(isPlayerInFrakt(killerid,15))
    {
    GivePlayerMoney(killerid, sInfo[playerid][kGeld]);
    GameTextForPlayer(playerid,"~r~Du warst ein auftrag der Hitmans",2000,0);
    GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
    format(string,sizeof(string),"Der Spieler %s hat den auftrag erledigt und %s gekillt.",getPlayerName(killerid),getPlayerName(playerid));
    SendHitmanMessage(BRAUN,string);
    format(string,sizeof(string),"Er erhät nun das ausgesetzte Kopfgeld in Höhe von %i$.",sInfo[playerid][kGeld]);
    SendHitmanMessage(BRAUN,string);
    sInfo[playerid][kGeld] = 0;
    }
    }
    if(sInfo[playerid][wantedl] > 0)
    {
    if(isPlayerInFrakt(killerid,1))
    {
    if(sInfo[killerid][cduty] == 1)
    {
    GivePlayerMoney(playerid,1500);
    GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
    format(string,sizeof(string),"Beamter %s hat den Verbrecher schwer Verletzt.",getPlayerName(killerid),getPlayerName(playerid));
    SendCopDutyMessage(BLAU,string);
    format(string,sizeof(string),"Du bist nun für %i Min im Knast!",sInfo[playerid][wantedl]*5);
    SendClientMessage(playerid,DUNKEL_ROT,string);
    sInfo[playerid][jailtime] = sInfo[playerid][wantedl]*300000;
    for(new w = sInfo[playerid][wantedl]-1; w >= (sInfo[playerid][wantedl]-sInfo[playerid][wantedl]); w--)
    {
    TextDrawHideForPlayer(playerid, Wanted[w]);
    }
    sInfo[playerid][wantedl] = 0;
    }
    else
    {
    }
    }
    if(isPlayerInFrakt(killerid,2))
    {
    if(sInfo[killerid][fduty] == 1)
    {
    GivePlayerMoney(playerid,1500);
    GameTextForPlayer(killerid,"~r~Auftrag Erledigt",2000,0);
    format(string,sizeof(string),"Beamter %s hat den Verbrecher schwer Verletzt.",getPlayerName(killerid),getPlayerName(playerid));
    SendCopDutyMessage(BLAU,string);
    format(string,sizeof(string),"Du bist nun für %i Min im Knast!",sInfo[playerid][wantedl]*5);
    SendClientMessage(playerid,DUNKEL_ROT,string);
    sInfo[playerid][jailtime] = sInfo[playerid][wantedl]*300000;
    for(new w = sInfo[playerid][wantedl]-1; w >= (sInfo[playerid][wantedl]-sInfo[playerid][wantedl]); w--)
    {
    TextDrawHideForPlayer(playerid, Wanted[w]);
    }
    sInfo[playerid][wantedl] = 0;
    }
    else
    {
    }
    }
    }
    return 1;
    }




    und wieso ist nach dem Server Restart an der stelle wo ich vorher /restart eingegeben habe nur die Schrift noch da aber kein Icon

    //OnPlayerDisconnect
    if(DiscPickup[playerid]) DestroyPickup(DiscPickup[playerid]), DiscPickup[playerid] = 0;
    if(DiscText[playerid]) Delete3DTextLabel(DiscText[playerid]), DiscText[playerid] = Text3D:0;
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]),GetPlayerVirtualWorld(playerid);
    DiscPickup[playerid] = CreatePickup(1314,1,pos[0],pos[1],pos[2],vw);
    format(string,sizeof(string),"Spieler %s hat den Server verlassen\n(%s)",getPlayerName(playerid),grund);
    DiscText[playerid] = Create3DTextLabel(string,ROT,pos[0],pos[1],pos[2],15,vw,1);
    SetTimerEx("DestroyPickups",30000,false,"i",playerid);
    return 1;
    }


    public DestroyPickups(playerid)
    {
    DestroyPickup(DiscPickup[playerid]), DiscPickup[playerid] = 0;
    Delete3DTextLabel(DiscText[playerid]), DiscText[playerid] = Text3D:0;
    return 1;
    }

    Oke der Cp wird gesetzt aber wenn ich mit dem postCars reinfahre geht der Cp net weg und auch nicht zu Fuß
    ich will aber das die Cp's nach den 10x Random Cp=> Hinter Car nur zu Fuß erreichtbar sind

    nein nichtmehr Radnom
    ab diesen Teil will ich den 2 Cp aus dem Enum erstellen
    da er sie ja auch austragen soll
    if(sInfo[playerid][post] == 10)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,ROT,"Fertig");
    return 1;
    }

    habs jetze geändert aber jetze meine frage
    wie kann ich jetze aus dem Postfuhr_Stationen enum den Nächsten Cp setzen ? also sprich den 2 Cp ?
    und ab fragen ob er drinne ist und wenn dann den 3 setzen und so weiter

    enum e_Post
    {
    Float:P_fx,
    Float:P_fy,
    Float:P_fz,
    Float:P_fRad
    }


    enum e_PlayerPostInfo
    {
    bool:post_bAktiv,
    post_Checkpoint
    }


    new Postinfo[MAX_PLAYERS][e_PlayerPostInfo];


    new Postfuhr_Stationen[][e_Post] =
    {
    {2200.8418,-2302.9058,14.7647,5.0},
    {2069.5339,-1654.8695,13.5469,5.0},
    {1911.5476,-1603.8575,13.5469,5.0},
    {1800.0997,-1583.5662,13.4807,5.0}
    };
    if(Postinfo[playerid][post_bAktiv])
    {
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    if(Postinfo[playerid][post_Checkpoint] == 1)
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    Postinfo[playerid][post_Checkpoint] = 2;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 1;
    if(sInfo[playerid][post] == 10)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,ROT,"Fertig");
    return 1;
    }
    else
    {
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    }
    }
    }

    so ist das jetze wie ich es haben will aber 1 problem wieso funktioniert das so
    if(Postinfo[playerid][post_bAktiv])
    {
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    printf("else1");//wenn ich das hier raus nehme
    {
    printf("Abfrage");
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    printf("schleife1");
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("isPlayerInvehicle");
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    printf("post++");
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 1;
    if(sInfo[playerid][post] == 10)
    {
    printf("fertig");
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze random checkpoint");
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    }
    else
    printf("else2");
    {
    printf("schelife2");
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("IsPlaerinvehicle2");
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    printf("rest");
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("Setze Hintercar checkpoint");
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }


    aber wieso so nicht ?


    if(Postinfo[playerid][post_bAktiv])
    {
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    printf("Abfrage");
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    printf("schleife1");
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("isPlayerInvehicle");
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    printf("post++");
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 1;
    if(sInfo[playerid][post] == 10)
    {
    printf("fertig");
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze random checkpoint");
    DisablePlayerCheckpoint(playerid);
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    }
    else
    printf("else2");
    {
    printf("schelife2");
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("IsPlaerinvehicle2");
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    printf("rest");
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("Setze Hintercar checkpoint");
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }