Beiträge von Kaliber

    Einfach so:


    SetPVarInt(playerid,"Plastiksprengstoff",GetPVarInt(playerid,"Plastiksprengstoff")+1);


    (Denke ich, ich arbeite nicht mit PVars) ^^


    mfg. :thumbup:

    Das ist schon alles richtig. ICh definiere die Farbcodes nicht als 0xFFFFFFFF sondern wie Ap0llinaris es gezeigt hat


    Richtig, sonst würde er nämlich eine andere Fehlermeldung ausspucken ;)


    Dein Fehler liegt hier:
    Schreibe es so:
    label[0] = Create3DTextLabel(""COLOR_WHITE"Tutorial starten:\n"COLOR_GREY"/tutorial", 0xFFFFFFFF, 522.5579, -1807.8057, 6.5713+0.5, 40.0, 0, 0);
    label[1] = Create3DTextLabel(""COLOR_WHITE"Startbonus erhalten:\n"COLOR_GREY"/sbnous", 0xFFFFFFFF, 522.8854, -1818.1782, 6.5781+0.5, 40.0, 0, 0);


    Du hast hinten eine 0 für die Sichtbarkeit (ob es durch objekte oder nicht durch objekte gesehen werden kann) vergessen ;)


    mfg. :thumbup:

    Ups ja das habe ich gerade selber gemerkt, jedoch steht ja der Name in DB und diesen möchte ich löschen lassen.


    MFG


    Ja dann musst du das auch machen ^^


    Sähe dann so aus:


    new query[128], name[24];
    GetPlayerName(playerid, name, 24); //playerid = der spieler der gelöscht werden soll
    format(query,128,"DELETE * FROM whitelist WHERE Name = '%s'",name);
    db_query(wDatabase,query);
    SendClientMessage(playerid,RED,"Erfolgreich.");


    mfg. :thumbup:


    Also, GetPlayerID(inputtext), gibt das einen Integer oder einen String wieder :huh:


    Ich befürchte nämlich einen Integer und deshalb müsste das so aussehen:


    format(query,128,"DELETE * FROM whitelist WHERE Name = '%i'",GetPlayerID(inputtext));


    mfg. :thumbup:

    Schreibe das mal einfach so:


    if(playerid == killerid) return 1;
    if(duell[killerid] == 1 || duell1[killerid] == 1) return 1;// <- Wenn das 1 ist soll diese Funktion für den Spieler ausgeschlossen werden und zur nächsten gehen
    if(sSpieler[playerid][gTeam] == sSpieler[killerid][gTeam])
    {
    if(teamdmg[killerid] == 0)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 1/3.");
    teamdmg[killerid] ++;
    }
    else if(teamdmg[killerid] == 1)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 2/3.");
    teamdmg[killerid] ++;
    }
    else if(teamdmg[killerid] == 2)
    {
    SCM(killerid,FARBE_ROT,"|- Du darfst deine Teammitglieder nicht angreifen! Warnung 3/3.");
    teamdmg[killerid]++;
    }
    else if(teamdmg[killerid] == 3)
    {
    Kick(killerid);
    return 1;
    }
    }
    //am Ende von dem Callback
    return 1;


    mfg. :thumbup:

    Wie kann ich denn die Vehicleid definieren von den Trucks weil wenn dan ein Truck respawnt ist es bei allen speilern auf 0?


    Sehr gut mitgedacht, du brauchst eine extra variable hier mal ein bsp:


    //oben in dein script
    new var[MAX_PLAYERS];


    //Bei OnPlayerStateChange
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(IsATruck(playerid))
    {
    var[playerid] = GetPlayerVehicleID(playerid);
    }
    }


    public OnVehicleSpawn(vehicleid)
    {
    for(new i; i<100; i++)
    {
    if(var[i] != vehicleid) continue;
    var[i] = 0;
    PlayerInfo[i][pTank] = 0;//oder was auch immer = 0;
    break;
    }
    return 1;
    }
    Und was die Funktion IsATruck angeht musst du halt deklarieren, zum Beispiel so:


    stock IsATruck(playerid)
    {
    new m = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(m == 455 || m == 514) return 1;//musst halt die model ids von den Trucks suchen und da einfügen ;)
    return 0;
    }


    mfg. :thumbup:

    Du hast eine { vergessen, schreibe es so:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    if(GetPVarInt(playerid,"Carlienzs")==0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Du hast kein Führerschein.");
    }
    else if(GetPVarInt(playerid,"Carlienzs")==1)
    {
    SendClientMessage(playerid,COLOR_RED,"/motor um den Motor zustarten!");
    }
    }
    return 1;
    }


    mfg. :thumbup:

    Naja, sehr simpel und paar kleine Verbesserungen hätte ich:


    1. Lösche mal alle überflüssigen Callbacks und oben nimm das mit dem #if defined Filterscript raus, das ist sinnlos, denn es ist ein Filterscript also scripte es auch einfach so ^^


    2. Bei deinen #defines fängt man bei 0 an ;)


    3. Die 5 news da hättest du in eine Zeile packen können :)


    4. Nimm mal das OnGameModeInit, OnGameModeExit und OnPlayerRequest raus (das braucht man nur für ein Gamemode nicht für ein FS !)


    5. Deine Commands anpassen z.B. so:
    if (strcmp("/cvote", cmdtext, true, 10) == 0)
    in
    if (strcmp("/cvote", cmdtext, true, 6) == 0)


    Sind nur ein paar Tipps, nicht böse gemeint :)


    mfg. :thumbup:

    Das musst du auch so schreiben ^^


    ocmd:freeze(playerid,params[])
    {
    new pID,string[128],string2[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutzung: /freeze [ID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
    if(GetPVarInt(playerid,"AdminLevel")==0) return SendClientMessage(playerid,ROT,"Du bist kein Admin !");
    TogglePlayerControllable(pID,0);
    format(string,sizeof(string),"Du hast den Spieler %s gefreezed.",SpielerName(pID));
    format(string2,sizeof(string2),"Du wurdest vom Spieler %s gefreezed!",SpielerName(playerid));
    SendClientMessage(playerid,GRÜN,string);
    SendClientMessage(pID,ROT2,string2);
    return 1;
    }


    mfg. :thumbup: