Beiträge von Kaliber

    Hier, schreibe mal deinen Befehl so:


    if(!strcmp(cmd, "/check", true))
    {
    if(!PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht befugt!");
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /check [Spieler ID]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Der Spieler wurde nicht gefunden!");
    Stats(playerid,giveplayerid);
    return 1;
    }


    mfg. :thumbup:

    Oh Leute bitte...


    ich erkläre euch mal kurz etwas ^^


    Der Callback OnGameModeInit wird dann aufgerufen, wenn der Server gestartet wird (also wenn das Gamemode geladen wird), zu diesem Zeitpunkt allerdings befinden sich 0 Spieler auf dem Server, also ist die Abfrage:


    if(IsPlayerConnected(playerid))


    Schonmal total sinnlos und die Schleife auch, da nichts da aufgerufen wird :pinch:


    Man schreibt das unter OnPlayerConnect und verwendet PlayerTextDraws und Aktualisiert dieses TextDraw mit SetTimerEx für einen Spieler....


    mfg. :thumbup:

    Was verstehst du unter standart Box?


    Du könntest es mit Textdraws anders machen, denn das ist möglich zwar mit umwegen aber machbar


    Er will die neuen 0.3x Funktionen nutzen:


    TextDrawFont(playerid, txtSprite, TEXT_DRAW_FONT_MODEL_PREVIEW);
    native TextDrawSetPreviewModel(Text:text, modelindex);
    native TextDrawSetPreviewRot(Text:text, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fZoom = 1.0);


    Aber wenn ich mich nicht täusche ist das leider nicht mit anderen Sachen, als den Standard Sachen möglich :S


    mfg. :thumbup:

    Es kommt auf den Server an ob es überhaupt AfK System gibt oder nicht, wenn ja, wie er funktioniert und dann kommt es noch auf die Admins an. Jeder normale Server hat aber Afk System, wenn man 10-20 Minuten sich nicht bewegt > AfK Modus > Kein Payday, wenn man dann Anti AfK Bot hat wird man auf normalen Servern gebannt, 0815 Server und paar andere ausgeschlossen, die kannst du aber ruhig vergessen, wenn du länger als 1-2 Monate spielen willst, den die gehen dann down.


    Was...alles klar :huh:

    Och Leute ich bitte euch, der 10000 sinnlose Thread hier X(


    Ja, ihr könnt direkt euren Job kündigen oder die Schule schmeißen, macht einfach einen SA:MP Server auf und ihr werdet reich!


    Also, ich bitte euch :rolleyes:

    Ich habe eine schleife nur wenn ich bei dem format am ende \n verwenden würde würde nicht ganz am ende eine letze leere Spalte sein?


    Nunja, kannst ja auch abfragen ob der Text danach leer ist oder nicht ^^

    Guten Morgen ihr alle,


    ich habe in den vergangenen Tagen einen kleinen Chat geschrieben und wollte mal testen ob der auch so funktioniert wie ich will :D
    Dieser Chat hat keinen besonders großen nutzen oder Sinn, muss er aber auch nicht, da der Chat einfach aus Langeweile entstanden ist ^^


    Hier könnt euch gerne registrieren und wir können alle ein bisschen labern (Adminsystem + Bann&Kick&Mute System vorhanden!) ;)


    Die Seite ist: http://client-talk.co.de


    Ich hätte auch gerne ein paar Feedbacks :)


    mfg. :thumbup:

    Was man dazu sagen muss ist, dass dein Code nicht wirklich "gut" geschrieben ist ^^


    Warte ich schreibe den mal neu...:


    //Edit:


    So hier, probiere mal wie gut das geht:


    Spoiler anzeigen
    DT_Public OnSecond()
    {
    new minute,sec,hour,query[128], Kosten[2];
    gettime(hour,minute,sec);
    new t1 = GetTickCount();
    if(minute%15==0&&sec==0) {
    Wetter[0] = WetterRandomLS[random(sizeof(WetterRandomLS))],Wetter[1] = WetterRandomSF[random(sizeof(WetterRandomSF))],Wetter[2] = WetterRandomLV[random(sizeof(WetterRandomLV))];
    for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerWetter(i);
    switch(Werbung) {
    case 0: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Bei uns gibt es die DT-Sterne."),SendClientMessageToAll(cWhite,"Mit diesen Sternen, kannst du dir einige schöne Dinge holen."),SendClientMessageToAll(cWhite,"Gebe dafür /shop ein."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=1;
    case 1: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Du hast nichts zu tun?"),SendClientMessageToAll(cWhite,"Dann such dir einen Job."),SendClientMessageToAll(cWhite,"Es gibt verschiedene Jobs, die einen Spaß machen können"),SendClientMessageToAll(cWhite,"und mit den man schnelles Geld machen kann."),SendClientMessageToAll(cWhite,"Jobs findest du in unseren Arbeitsamt."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=2;
    case 2: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Um Gebäude zu betreten,"),SendClientMessageToAll(cWhite,"musst du nicht immer Commands eingeben."),SendClientMessageToAll(cWhite,"Drücke einfach die Enter Taste."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=0;
    }
    }
    if(minute == 0 && sec == 0) {
    for(new i; i<MAX_HAUS; i++) {
    if(strcmp(Haus[i][HOwner],"Niemand",true)) {
    if(Biz[WasserBiz][bProds]>4) {
    Kosten[0] = Biz[WasserBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[0]) Biz[WasserBiz][bProds] -= 5,Biz[WasserBiz][bKasse] += Kosten[0],Haus[i][HKasse] -= Kosten[0],UpdateHaus(i),UpdateBiz(WasserBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Wasserwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Wassermangel bevor!");
    if(Biz[StromBiz][bProds]>4) {
    Kosten[1] = Biz[StromBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[1]) Biz[StromBiz][bProds] -= 5,Biz[StromBiz][bKasse] += Kosten[1],Haus[i][HKasse] -= Kosten[1],UpdateHaus(i),UpdateBiz(StromBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Stromwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Stromausfall bevor!");
    }
    }
    SaveGame();
    }
    if(hour > 7 && hour < 23) {
    if(minute==0&&sec==0) Server[ServerLotto]+=random(5000),format(query,128,">> In 3 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==1&&sec==0) format(query,128,">> In 2 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==2&&sec==0) format(query,128,">> In 1 Minute beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==3&&sec==0) {
    new Number = 1+random(MAX_PLAYERS);
    format(query,128,">> Die heutige Zahl im Lottospiel lautet %d!",Number),SendClientMessageToAll(cGrey,query);
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || PlayerInfo[i][Logged]==0 || Number!=PlayerInfo[i][Lotto]) continue;
    if(Number==PlayerInfo[i][Lotto]) format(query,128,">> %s hat den Jackpot geknackt und bekam %d$!",PlayerInfo[i][Name],Server[ServerLotto]),SendClientMessageToAll(cGrey,query),Server[ServerKasse]-=Server[ServerLotto],GivePlayerMoney(i,Server[ServerLotto]),Server[ServerLotto]=0,Server[ServerLotto]+=random(5000);
    PlayerInfo[i][Lotto]=0;
    }
    }
    }
    switch(TimeUhr) {
    case 0: format(query,20,"%02d %02d",hour,minute),TimeUhr=0;
    case 1: format(query,20,"%02d:%02d",hour,minute),TimeUhr=1;
    }
    TextDrawSetString(Clock,query),TextDrawShowForAll(Clock),SetWorldTime(hour);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !PlayerInfo[i][Logged]) continue;
    if(GetPlayerMoney(i) > PlayerInfo[i][Geld]) SetPlayerMoney(i,PlayerInfo[i][Geld]);
    if(GetTickCount()-PlayerInfo[i][AFK] > 1999) {
    format(query,sizeof query,"AFK seit %d Sekunden",((GetTickCount()-PlayerInfo[i][AFK])/1000)),SetPlayerChatBubble(i,query,cRed,15.0,1500);
    continue;
    }
    if(PlayerInfo[i][PayDay]!=0) PlayerInfo[i][PayDay]--;
    if(PlayerInfo[i][PayDay]==0) PlayerPayDay(i);
    if(PlayerInfo[i][Jailtime] > 0) PlayerInfo[i][Jailtime]--;
    if(PlayerInfo[i][Jailtime]==0) PlayerInfo[i][Jailtime]=-2,SpawnPlayer(i);
    if(PlayerInfo[i][FuckBlitzer]> 0) PlayerInfo[i][FuckBlitzer]--;
    if(PlayerInfo[i][FuckBlitzer]==0) PlayerInfo[i][FuckBlitzer] = -1;
    if(PlayerInfo[i][Gemutet]!=0) PlayerInfo[i][Gemutet]--;
    if(PlayerInfo[i][Gemutet]==0) PlayerInfo[i][Gemutet]=0;
    if(IsUserInFillStation(i)) GameTextForPlayer(i,"Willkommen an der~n~Tankstelle~n~/tanken",1200,6);
    if(GetNearATM(i)) GameTextForPlayer(i,"~y~Willkommen am ATM~n~~w~Druecke Enter",1200,6);
    UpdateAdminTicket(i);
    if(PlayerInfo[i][MedicTot]>0) {
    PlayerInfo[i][MedicTot]--;
    if(PlayerInfo[i][MedicTot]<11) PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
    format(query,128,"~w~Noch ~r~%d ~w~Sekunden",PlayerInfo[i][MedicTot]),GameTextForPlayer(i,query,1200,6),ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 1000*60*3),format(query,128,"Überlebt noch %d Sekunden",PlayerInfo[i][MedicTot]),SetPlayerChatBubble(i, query, cGrey, 10.0, 1500);
    }
    if(!PlayerInfo[i][MedicTot]) {
    PlayerInfo[i][MedicTot]=-1;
    if(PlayerInfo[i][Mediccall]!=0) PlayerInfo[i][Tot]=1,PlayerInfo[i][Mediccall]=0,DestroyPickup(PlayerInfo[i][TotPickup]),PlayerInfo[i][TotPickup]=-1,PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),format(query,128,">> %s ist an seinen Verletzungen verstorben!",PlayerInfo[i][Name]),SendTeamMessage(tMedic,query),GameTextForPlayer(i,"Du bist an deinen Verletzungen gestorben",1200,6),SpawnPlayer(i);
    else PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),PlayerInfo[i][Tot]=3,SpawnPlayer(i);
    format(query,100,"~g~%d ] "ForenURL"",PlayerInfo[i][Star]),TextDrawSetString(PlayerInfo[i][StarInfo],query),TextDrawShowForPlayer(i,PlayerInfo[i][StarInfo]);
    //FuckBlitzer
    for(new Blitz=0; Blitz<sizeof(ServerBlitzer); Blitz++)
    {
    if(GetPlayerState(i)!=PLAYER_STATE_DRIVER && !IsPlayerInRangeOfPoint(i, 40.0, ServerBlitzer[Blitz][SBx], ServerBlitzer[Blitz][SBy], ServerBlitzer[Blitz][SBz])) continue;
    new speed = sm_GetVehicleSpeed(GetPlayerVehicleID(i));
    if(speed > ServerBlitzer[Blitz][SBSpeed]) {
    if(PlayerInfo[i][FuckBlitzer] == -1) {
    PlayerInfo[i][FuckBlitzer] = 10;
    new strafe = (speed*3)-ServerBlitzer[Blitz][SBSpeed];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0),GivePlayerMoney(i, -strafe),Server[ServerKasse]+=strafe;
    format(query,sizeof(query), "[BLITZER] Du bist %d km/h zu schnell gefahren!", speed - ServerBlitzer[Blitz][SBSpeed]);
    SendClientMessage(i, cYellow, query);
    format(query,sizeof(query), "[BLITZER] Erlaubte Geschwindigkeit: %d km/h. Du musst %d$ Strafe bezahlen.", ServerBlitzer[Blitz][SBSpeed], strafe);
    SendClientMessage(i, cYellow, query),TextDrawShowForPlayer(i,PlayerInfo[i][LadeACC][0]),SetTimerEx("HideBlitzer",1000,0,"d",i);
    }
    }
    }
    if(GetPlayerState(i)==PLAYER_STATE_SPECTATING)
    {
    new Float:OpferHealth, Float:OpferVehHealth;
    GetPlayerHealth(PlayerInfo[i][Opfer],OpferHealth),GetVehicleHealth(GetPlayerVehicleID(PlayerInfo[i][Opfer]),OpferVehHealth);
    new sh=floatround(OpferHealth,floatround_round),vh=floatround(OpferVehHealth,floatround_round);
    format(query,sizeof(query),"~n~~n~~n~~n~~n~~n~~n~~r~HP: %d~n~~r~Vehicle-HP: %d~n~~r~",sh,vh);
    GameTextForPlayer(i,query,1500,4);
    }
    new weg = sm_GetVehicleSpeed(GetPlayerVehicleID(i)),tachostring[128];
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER) {
    new vid=GetPlayerVehicleID(i);
    format(tachostring,sizeof tachostring,"Tank: %d/%d~n~~w~~n~Km: %.2f",Car[vid][Tank]/10,((Car[vid][Tank]/10 > 100)?(1000):(100)),((Car[vid][Kilometers] > 0)?(Car[vid][Kilometers]):(0.0)));
    TextDrawSetString(PlayerInfo[i][Tacho][1],tachostring);
    if(Car[vid][Kilometers] > 0)Car[vid][Kilometers]+=floatdiv(float(weg),3600);
    format(tachostring,sizeof tachostring,"%d Km/h",weg),TextDrawSetString(PlayerInfo[i][Tacho][0],tachostring),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][1]);
    if(weg > 350) format(query, sizeof(query), "%d kmh (%s)",weg,CarName[GetVehicleModel(vid)-400]),CartmanMelder(i,query,"~y~"),shit_Cartman(i,"Speedhack");
    //Motorzeug etc
    new Float:vHP,Float:x,Float:y,Float:z,Float:a,engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleHealth(vid,vHP);
    if(vHP >= 300.0) continue;
    if(vHP <= 250.0)
    {
    SetVehicleHealth(vid,260.0),GetVehiclePos(vid,x,y,z),GetVehicleZAngle(vid,a),SetVehiclePos(vid,x,y,z),SetVehicleZAngle(vid,a);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    if(Car[vid][PuttPutt]==0)
    {
    Car[vid][Motor]=0,Car[vid][PuttPutt]=1,SendDriverMessage(vid,"[Motorschaden] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query, sizeof(query),"[Fraktions-Info] Das Fahrzeug mit den Kennzeichen %s hat einen Totalschaden", Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    if(CheckUserFromTeam(tFeuer) >= 2)
    {
    for(new pID; pID < MAX_PLAYERS; pID++)
    {
    if(!IsPlayerConnected(pID) || GetPlayerVehicleID(pID) != vid) continue;
    TogglePlayerControllable(pID, 0),SendClientMessage(pID, cRed, "Durch den Unfall bist du eingeklemmt! Rufe mit /feuerwehr die Feuerwehr");
    SendClientMessage(pID, cRed, "--- Bitte einigt euch, wer von euch die Feuerwehr ruft! (wenn mehrere in einem Auto sitzen!) ---"),SetPlayerHealth(pID, 1);
    }
    }
    }
    }
    else TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][1]);
    }
    }
    }
    for(new i = 0; i < sizeof(Geschenk); i++)
    {
    if(Geschenk[i][G_Erstellt]==0) continue;
    if(Geschenk[i][G_Timeout]!=0)Geschenk[i][G_Timeout]--;
    if(Geschenk[i][G_Timeout]==0)Geschenk[i][G_Timeout]=0;
    }
    for(new vid; vid < MAX_VEHICLES; vid++)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsAFly(vid) || IsAHeli(vid) || IsABoot(vid) || Car[vid][Motor]!=1) continue;
    switch(Car[vid][Tank]) {
    case 0: {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Car[vid][Motor]=0,Car[vid][Tank]=0,SendDriverMessage(vid,"[Tank leer] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query,128,"[Fraktions-Info] Der Tank von den Wagen mit dem Kennzeichen %s ist leer",Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    }
    default: Car[vid][Tank]--;
    }
    }
    new t2 = GetTickCount();
    printf("%d ms",t2-t1);
    return 1;
    }


    mfg. :thumbup: