Beiträge von KeksOfDeath

    Du hast kein Tut gefunden? o.o
    Hast du auch im Bereich "Tutorials" geguckt?
    //OnPlayerComamndText:
    if(strcmp(cmdtext,"/kill",true)==0) {//diese funktion "vergleicht" 2 texte miteinander, wenn die texte gleich sind, gibt sie 0 wieder, sonst -1
    SetPlayerHealth(playerid,0);//leben des spielers wird auf 0 gesetzt
    return 1;//damit der publaaic an dieser stelle abgebrochen wird
    }//die "{", die oben auf geht, muss ja auch wieder geschlossen werden

    Also, als Beispiel:
    //OnGameModeInit steht da:
    AddPlayerClass(...);//classid 0
    AddPlayerClass(...);//classid 1
    AddPlayerClass(...);//classid 2
    AddPlayerClass(...);//classid 3
    AddPlayerClass(...);//classid 4
    ...
    //dann bei OnPlayerRequstClass:
    if(classid==0) {
    GameTextForPlayer(playerid,"ein text",2000,5); }
    else if(classid==1) {
    GameTextForPlayer(playerid,"ein anderer Text",2000,5); }
    ...

    Du erstellst nen Checkpoint
    SetPlayerCheckpoint(playerid,x,y,z,radius);//glaub, dass es so ist
    Dann bei OnPlayerEnterCheckpoint:
    if(GetPlayerState(playerid)==2) {
    SetVehicleHealth(GetPlayerVehicleID(playerid),100); }

    Man macht jetzt sagen wir mal:
    dcmd_kaufen(playerid,params[]) {
    new artikel=strval(params);
    switch(artikel) {
    case 1: {//sind die Drogen, davon hat er jetzt, nehmen wir mal an 10 Stück gekauft
    drogendabei[playerid]=10; }
    //case 2 ist ja das handy, davon hat man ja nicht mehrer dabei
    case 3: {//von den kekse kauft er sagen wir mal 15
    kaksedabei[plyerid]=15; }
    }
    for(new i=0; i<2; i++) {
    if(tasche[playerid][i]==0) {
    tasche[playerid][i]=artikel;
    i=2; }}
    return 1;
    }

    Du hast jetzt sagen wir mal 2 Taschen, 3 Produkte (Drogen, Handy, Kekse)
    new tasche[MAX_PLAYERS][2], drogendabei[MAX_PLAYERS], keksedabei[MAX_PLAYERS];//für ahndy brauch man sowas ja eigendlich nicht, weil keiner 2 handys dabei haben wird, oder es haben möchte
    Wenn er sich sagen wir jetzt mal 10 Kekse kauft:
    for(new i=0; i<2; i++) {//2 wegen den 2 taschen
    if(tasche[playerid][i]==0) {
    tasche[playerid][i]=3;//wir nehmen den Keks jetzt einfach mal als Artikel nummer 3
    keksedabei[playerid]=10;//er hat ja 10 Kekse
    i=2;//er solls ja nur in einer tasche haben
    }
    Wenn er dann 10 Kekse isst:
    if(keksedabei[playerid]-[kekse, die er isst, in diesem fall 10]==0) {
    for(new i=0; i<2; i++) {
    if(tasche[playerid][i]==3) {
    tasche[playerid][i]=0;
    i=2; }}

    if(strcmp(cmdtext,"/adm",true,4)==0) {
    if(IsPlayerAdmin(playerid)) {
    if(!strlen(cmdtext[4])) return SendClientMessage(playerid,FARBE,"/adm Text");
    new s[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"Admin %s: %s",name,cmdtext[4]);
    SendClientMessageToAll(FARBE,s); }
    else { SendClientMessage(playerid,FARBE,"Nur für Rcons"); }
    return 1;
    }
    Dies ist jetzt nur für Rcon-Admins, wir wissen ja nicht, wie die "Admins" sonst bei dir deklariert sind

    //ganz nach oben:
    forward vlebencheck();
    new Text:vleben[MAX_PLAYERS];
    //OnGameModeInit:
    SetTimer("vlebencheck",1000,1);
    //ganz nach unten:
    public vlebencheck() {
    for(new i=0; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    if(GetPlayerState(i)==2) {
    new Float:aleben;
    GetVehicleHealth(GetPlayerVehicleID(i),aleben);
    aleben-=250;
    new s[50];
    format(s,sizeof(s),"Auto hat %.2f Prozent Leben",100/750*aleben);
    TextDrawSetString(vleben[i],s); }}}
    return 1;
    }
    //OnPlayerConnect:
    vleben[playerid]=TextDrawCreate(x,y," ");
    //OnPlayerDisconnect:
    TextDrawDestroy(vleben[playerid]);
    //OnPlayerStateChange:
    if(newstate==2) {
    TextDrawShowForPlayer(playerid,vleben[playerid]); }
    else if(oldstate==2) {
    TextDrawHideForPlayer(playerid,vleben[playerid]); }