Lokaler Chat

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo com,
    ich habe gerade ein lokalen chat gemacht und dann kommt das


    [00:54:58] Banger sagt: Hey
    [00:54:58] <Banger> Hey
    [00:55:40] *** Banger ist Nun als >Owner< im Dienst. Bei Fragen: /sup [FRAGE] ***
    [00:55:41] {FF0000}Owner Banger:{FFFFFF} Hey
    [00:55:41] <Banger> Hey


    aber wieso `????
    eig sollte nur das hier
    {FF0000}Owner Banger:{FFFFFF} Hey
    gesendet werden und nicht das noch dazu
    <Banger> Hey


    public OnPlayerText(playerid, text[])
    {
    new string[128]; //string
    if(sInfo[playerid][adminduty] == 1)
    {
    if(isAdmin(playerid,2002))
    {
    format(string, sizeof(string), "{FF0000}Owner %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,2000))
    {
    format(string, sizeof(string), "{FF0000}Scripter %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,1337))
    {
    format(string, sizeof(string), "{FF0000}H-Admin %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,3))
    {
    format(string, sizeof(string), "{FF0000}*3* Admin %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,2))
    {


    format(string, sizeof(string), "{FF0000}*2* Admin %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,1))
    {
    format(string, sizeof(string), "{FF0000}Azubie-Admin %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isSupp(playerid,2))
    {
    format(string, sizeof(string), "{00FF00}Supporter %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    else if(isAdmin(playerid,1))
    {
    format(string, sizeof(string), "{FF00FF}T-Supporter %s:{FFFFFF} %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    }
    else
    {
    format(string, sizeof(string), "%s sagt: %s",getPlayerName(playerid),text); // sollte sich von selbst erklären
    SMessage(playerid,weiß,string,10); //Hier wird der text gesendet
    return 1;
    }
    return 0;
    }


    stock SMessage(playerid,farbe,text[],Float:umkreis)
    {
    new Float:xm, Float:ym, Float:zm,maxplayers=GetMaxPlayers(); //erklärt ich von selbst
    if(GetPlayerPos(playerid,xm,ym,zm)) //das sollte sich auch von selbst erklären
    {
    for(new i=0;i<maxplayers;i++) //schleife die durch alle spieler geht
    if(IsPlayerConnected(i) && (i==playerid || IsPlayerInRangeOfPoint(i,umkreis,xm,ym,zm)))
    SendClientMessage(i,farbe,text);
    return 1;
    }
    return 0;
    }

  • musst du umrechnen.


    Ein Fahzeug hat eigendlich 1000 Leben bei unter 250 Leben brennt es.


    Wenn du nun das in Prozent haben willst musst du umrechen:


    100/(1000-250)*(Leben-250)
    100/750*(Leben-250)


    Bedeutet wenn das Fahzeug 1000 Leben hat kommt raus: 100
    bei 250 kommt raus: 0
    Bei 500 kommt raus: 33.3333


    bei 200 kommt raus -6.6666


    das heisst du musst noch ne ifabfrage rein machen dass der erechntete wert wenn er unter 0 ist auf 0 gesetzt wird.


    und fertig ist das ganze

  • eigendlich ist das selbsterklärend du musst die Formel

    Zitat

    100/750*(Leben-250)

    nur in pawn einbauen und die besagte if abfrage dazu packen

  • [DT]Sniper:
    Kaliber:


    so sieht meine Tacho funktion aus kannst du mir das machen ? ich weiß nicht wie ich das machen soll


    public TachoUpdate(){
    for(new i = 0; i<MAX_PLAYERS; i++){
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerInAnyVehicle(i))continue;
    new veh = GetPlayerVehicleID(i),str[64],Float:hp,speed = GetVehicleSpeed(veh);
    new vehicleid;
    formatEx(str,"Speed: %d KM/H", speed);
    TextDrawSetString(Tacho[i][Speed],str);
    GetVehicleHealth(veh, hp); hp = (floatround(hp) / 10);
    formatEx(str,"Zustand: %.0f", hp);
    TextDrawSetString(Tacho[i][Zustand],str);
    formatEx(str,"%s", VehicleFriendlyNames[GetVehicleModel(veh)-400]), TextDrawSetString(Tacho[i][Name],str);
    TextDrawSetString(Tacho[i][besitz],str);
    formatEx(str,"%s", GetAutoBesitzer(i,vehicleid),TextDrawSetString(Tacho[i][besitz],str));
    }
    return 1;
    }

  • GetVehicleHealth(veh, hp);
    hp = 100/750*(hp-250);
    if(hp<=0.0){hp=0.0;}


    sollte dass nicht gehen würde ich floatfunktionen nutzen:


    hp = floatmul(folatdiv(100,750),(hp-250));