Wenn du das Textdraw so nutzen willst dann nur mit: PlayerTextDrawShow
Beiträge von Splash
-
-
-
// above main()
forward ChangeHostname();public OnFilterScriptInit()
{
SetTimer("ChangeHostname",1000,1); // Change the, 1000 to whatever you want, in milliseconds ofc.
return 1;
}public ChangeHostname()
{
new var = random(3);
switch (var)
{
case 0: SendRconCommand("hostname My server name 1");
case 1: SendRconCommand("hostname Server name 2");
case 2: SendRconCommand("hostname Name 3 here");
}
}Quelle: Einmal Google -> http://forum.sa-mp.com/showthread.php?t=57446
-
Sieht nach nem CheckPoint aus..
Sieht nicht nur nach einem aus, ist auch einer, da man auf der Minimap den Marker hat dafür und keiner der wirklich Scripten kann würde sich die Mühe machen erst ein PickUp und dann noch nen Marker zu erstellen.
@Topicstarter mit dieser Funktion:
-
Schnonmal etwas von Caps Sensitive gehört? Wenn nein dann hier mal schnell dein Fehler:
Falsch: http://www.night-roleplay.de.pl/Musik/Cry.mp3
Richtig: http://www.night-roleplay.de.pl/musik/Cry.mp3
Kleines m bei Musik^^
-
Das währe wieder hin blöd, ich kann einen Freund sagen er soll alle meine Beiträge Liken
Es gibt doch auch noch andere Möglichkeiten, welche besser als das Registrierungsdatum, der Beitragszähler UND des Likesystem ist, man muss sich aber auch einmal Gedanken darüber machen und nicht immer nur sagen das es einem nicht gefällt. Das Team kann ja dann zum Beispiel eine Umfrage mit den besten Ideen machen und wir alle können dann abstimmen was uns am besten gefällt (oder es wird intern abgeklärt). Mir zum Beispiel würde es persönlich gefallen, wenn anstatt des Beitragszählers, etc, eine Porzessbar wäre, die anzeigt wieviel Prozent man noch zum nächsten Forenrang brauch. Ich sagte extra Prozent, da andernfals wieder das mit den Beiträgen aufkommt was ja das falsche Denken vieler hervorruft.
Und ich muss ehrlich sagen es muss so oder so IMMER eine Seite mit dem Endresultat leben auch wenn es der Seite nicht gefällt.
-
Es reicht wenn du deine Abfrage so aufbaust:
if(Rang[playerid] <3) return SendClientMessage....
dann wird die Nachricht an alle unter Rang 3 geschickt und was darauf folgt an diejenigen mit Rang 3 oder höher.
-
Ich habe aber die Meinung, dass man an der Beitragszahl ansehen kann, ob der Benutzer Erfahrung hat, oder eher noch ein Neuling ist.
Ich kann der Beitragszahl entnehmen, dass der Benutzer ein bisschen Seriöser ist.Exakt das ist das falsche Denken, denn auch jemand mit 1000+ Post kann jemanden über den Tisch ziehen, auch jemand der hier schon lange angemeldet ist muss nicht unbedingt viele Posts haben, jemand der sich hier registriert muss nicht ein Neuling in Pawn sein.
Das ist das Problem hier bei den meisten. Sie denken in eine vollkommen falsche Richtung.
Zudem habe ich das Gefühl das hier einige einfach nur Angst haben einmal etwas neues auszuprobieren, der Mensch ist ein Gewohnheitstier, das sieht man hier wieder SO gut. Probiert es doch erst einmal aus, macht Vorschläge welche die jetzige Situation verbessern können, anstatt euch immer und immer wieder auf die Hinterfüße zu stellen und zu sagen "Nein das will ich nicht!". Nur weil andere Foren den Beitragszähler noch haben, heisst es nicht das es etwas Schlechtes sein muss, vielleicht beruhigt sich hier dann auch das ein oder andere einmal wieder, da die "alten" Hasen hier wirklich teilweise denken sie sind der King nur weil sie mehr Posts haben als ein anderer.
Natürlich finde auch ich das RegDatum nicht passend an der Stelle. Jedoch muss ich sagen das ich auch nichts dagegen habe.
Vielleicht sollten sich doch einige einmal durch den Kopf gehen lassen, ob sie sich nicht doch weiter entwickeln wollen und von alten Gewohnheiten auch einmal abschweifen können und etwas neues ausprobieren.
-
Sollte GetPlayerIp auf lokalhost genutzt werden gibt er immer mit einer wahrscheinlickeit von 50% die richtige aus ODER genau diese, dies ist sogar eigentlich bekannt.
Zudem wo nutzt du es, da es auch bei OnPlayerDisconnect passieren kann.
-
Ich würde nun auch gerne einmal einen Vroschlag hier mit einbringen. Da ich aber nicht weiss ob es möglich ist nur unter vorbehalt.
Warum macht ihr es nicht so, dass anstatt eines Beitragscounters oder des derzeitigen regdatums einfach eine Prozentanzeige zum nächsten Rang angezeigt wird? Es würde bestimmt teilweisse viele interessieren wie lange man noch brauch um einen Rang höher zu kommen usw. Zudem wird dadurch das es in prozent angezeigt wird auch nicht der Beitragscount in dem Sinne angezeigt. Und das regdatum finde ich persönlich auch etwas hässlich.
-
Gehen nicht weg.
Falls es klappt mach unten so eine Kleine Box einfach hin, dann würde ich die oben aber auch hin machen, dann hat es den Effekt wie man das auf Spielfilmen kennt, wo die Bildhöhe kleiner wird.
Kann man sehr wohl verschwinden lassen...
Einfach den Spieler wie Kaliber schon sagte spawnen lassen, dann setzt du in einfach in eine beliebige Welt, eine beliebige Position, setzt die CameraPosition wo sie sein soll während des Tut's, setzt CameraLookAt wie du es haben möchtest und fertig, darfst dann halt nur nicht vergessen, wenn er mit dem Tutorial fertig ist wieder in die virtuelle Welt 0 zu setzen und die Camera wieder hinter den Spieler zu setzen.
-
Mach das ganze nochmal unter OnPlayerRequestClass
MfG
Wegen weil? Das ist Quatsch eine Variable ein zweites mal auf 0 zu setzen wenn sie es schon ist.
@Rocky: er meint bestimmt das der Callback trotzdem ausgeführt wird obwohle er ja nun eigentlich nichts in den Chat senden soll.
@Topicstarter baue es doch einfach etwas um, dann kannst du dir sicher sein, dass es so funzt wie du willst.
if(GetPVarInt(playerid,"Eingeloggt") == 0)
{
SendClientMessage(playerid,COLOR_RED,"Du kannst nichts schreiben, solange du nicht eingeloggt bist!");
return 0;
} -
Ist er nicht in deiner Favouriten Liste oder welche Liste meinst du? Es gibt 3 im SA:MP Clienten, solltest du nur deine Fav Liste meinen, dann starte den Server einmal und füge :7777 erneut hinzu.
@Rocky lanmode hat rein gar nichts mit dem Anzeigen eines Servers zu tun, es ist nur dafür gedacht dass der Server genauer arbeitet, was eine höhere Bandbreitennutzung hervorruft.
-
Hey,
Kann mir einer sagen wie ich abfragen kann ob die Timer Zeit vorrüber ist?!
Danke im vorraus
Setze einfach eine Variable auf 1 wenn der Timer startet und wenn der Timer vorbei ist wieder auf 0, sollte er nicht vorbei sein ist die Variable logischerweisse noch 1.
Beispiel:
new var[MAX_PLAYERS];
//Wo der Timer startet
{
if(var[playerid]==0)
{
SetTimerEx("EinTimer",1000*60*10,0,"i",playerid);
var[playerid]=1;
}
return 1;
}forward EinTimer(playerid);
public EinTimer(playerid)
{
var[playerid]=0;
return 1;
}//Abfrage ob Timer noch aktiv:
if(var[playerid]==1)
{
//Timer ist noch aktiv
}if(var[playerid]==0)
{
//Timer ist inaktiv
} -
Erneut, der gekickte bekommt seit 0.3x KEINE Nachricht mehr zugeschickt, sollte die Funktion Kick und SendClientMessage zusammen ausgeführt werden! Kick wird IMMER zuerst ausgeführt, wenn du möchtest dass er die Nachricht sieht, MUSST du anstatt der Kick Funktion einen Timer nutzen.
Es würde wie folgt aussehen:
ocmd:kick(playerid,params[])
{
new plid;
new grund[64];
new string[128];
if(IsPlayerConnected(plid))
{
if(SpielerInfo[playerid][pAdminlevel] >= 2)
{
if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,ROT,"Tippe: /kick [Id/Name][Grund]");
if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
format(string,sizeof(string),"[AdmCmd]: %s wurde von %s gekickt Grund: %s",Spielername(plid),Spielername(playerid),grund);
SendClientMessageToAll(ROT,string);
SetTimerEx("KickTimer",500,0,"i",plid);
}
}
return 1;
}forward KickTimer(playerid);
public KickTimer(playerid)
{
Kick(playerid);
return 1;
} -
Und hier noch der richtige Befehl dazu:
dcmd_showpda(playerid,params[])
{
#pragma unused params
if(PlayerInfo[playerid][PDA]== 1)
{
PlayerTextDrawHide(playerid, StatsDraw[0]);
PlayerTextDrawHide(playerid, StatsDraw[1]);
PlayerTextDrawHide(playerid, StatsDraw[2]);
PlayerTextDrawHide(playerid, StatsDraw[3]);
PlayerTextDrawHide(playerid, StatsDraw[4]);
}
else
{
PlayerTextDrawShow(playerid, StatsDraw[0]);
PlayerTextDrawShow(playerid, StatsDraw[1]);
PlayerTextDrawShow(playerid, StatsDraw[2]);
PlayerTextDrawShow(playerid, StatsDraw[3]);
PlayerTextDrawShow(playerid, StatsDraw[4]);
}
return 1;
}IPrototypeI Bei PlayerTextDraws brauchste kein MAX_PLAYERS und musst diese auch nicht beim kreiren nutzen, da ja nun die Textdraws einer playerid zugewiesen werden.
Würde so auf jeden Fall funktinieren OHNE Errors und Warnings:
new PlayerText:StatsDraw[5];
public OnPlayerConnect(playerid)
{
StatsDraw[0] = CreatePlayerTextDraw(playerid,525.000000, 125.000000, "Level:");
PlayerTextDrawBackgroundColor(playerid,StatsDraw[0], 255);
PlayerTextDrawFont(playerid,StatsDraw[0], 1);
PlayerTextDrawLetterSize(playerid,StatsDraw[0], 0.400000, 0.949999);
PlayerTextDrawColor(playerid,StatsDraw[0], 8913151);
PlayerTextDrawSetOutline(playerid,StatsDraw[0], 0);
PlayerTextDrawSetProportional(playerid,StatsDraw[0], 1);
PlayerTextDrawSetShadow(playerid,StatsDraw[0], 1);
PlayerTextDrawUseBox(playerid,StatsDraw[0], 1);
PlayerTextDrawBoxColor(playerid,StatsDraw[0], 101);
PlayerTextDrawTextSize(playerid,StatsDraw[0], 644.000000, 0.000000);StatsDraw[1] = CreatePlayerTextDraw(playerid,525.000000, 136.000000, "Bank:");
PlayerTextDrawBackgroundColor(playerid,StatsDraw[1], 255);
PlayerTextDrawFont(playerid,StatsDraw[1], 1);
PlayerTextDrawLetterSize(playerid,StatsDraw[1], 0.400000, 0.949999);
PlayerTextDrawColor(playerid,StatsDraw[1], 8913151);
PlayerTextDrawSetOutline(playerid,StatsDraw[1], 0);
PlayerTextDrawSetProportional(playerid,StatsDraw[1], 1);
PlayerTextDrawSetShadow(playerid,StatsDraw[1], 1);
PlayerTextDrawUseBox(playerid,StatsDraw[1], 1);
PlayerTextDrawBoxColor(playerid,StatsDraw[1], 101);
PlayerTextDrawTextSize(playerid,StatsDraw[1], 642.000000, 0.000000);StatsDraw[2] = CreatePlayerTextDraw(playerid,525.000000, 147.000000, "Handynr.:");
PlayerTextDrawBackgroundColor(playerid,StatsDraw[2], 255);
PlayerTextDrawFont(playerid,StatsDraw[2], 1);
PlayerTextDrawLetterSize(playerid,StatsDraw[2], 0.400000, 0.949999);
PlayerTextDrawColor(playerid,StatsDraw[2], 8913151);
PlayerTextDrawSetOutline(playerid,StatsDraw[2], 0);
PlayerTextDrawSetProportional(playerid,StatsDraw[2], 1);
PlayerTextDrawSetShadow(playerid,StatsDraw[2], 1);
PlayerTextDrawUseBox(playerid,StatsDraw[2], 1);
PlayerTextDrawBoxColor(playerid,StatsDraw[2], 101);
PlayerTextDrawTextSize(playerid,StatsDraw[2], 640.000000, 0.000000);StatsDraw[3] = CreatePlayerTextDraw(playerid,525.000000, 158.000000, "Payday:");
PlayerTextDrawBackgroundColor(playerid,StatsDraw[3], 255);
PlayerTextDrawFont(playerid,StatsDraw[3], 1);
PlayerTextDrawLetterSize(playerid,StatsDraw[3], 0.400000, 0.949999);
PlayerTextDrawColor(playerid,StatsDraw[3], 8913151);
PlayerTextDrawSetOutline(playerid,StatsDraw[3], 0);
PlayerTextDrawSetProportional(playerid,StatsDraw[3], 1);
PlayerTextDrawSetShadow(playerid,StatsDraw[3], 1);
PlayerTextDrawUseBox(playerid,StatsDraw[3], 1);
PlayerTextDrawBoxColor(playerid,StatsDraw[3], 101);
PlayerTextDrawTextSize(playerid,StatsDraw[3], 640.000000, 0.000000);StatsDraw[4]= CreatePlayerTextDraw(playerid,525.000000, 169.000000, "Mit /showstats an oder aus schalten");
PlayerTextDrawBackgroundColor(playerid,StatsDraw[4], 255);
PlayerTextDrawFont(playerid,StatsDraw[4], 1);
PlayerTextDrawLetterSize(playerid,StatsDraw[4], 0.160000, 1.200000);
PlayerTextDrawColor(playerid,StatsDraw[4], 8913151);
PlayerTextDrawSetOutline(playerid,StatsDraw[4], 0);
PlayerTextDrawSetProportional(playerid,StatsDraw[4], 1);
PlayerTextDrawSetShadow(playerid,StatsDraw[4], 1);
PlayerTextDrawUseBox(playerid,StatsDraw[4], 1);
PlayerTextDrawBoxColor(playerid,StatsDraw[4], 101);
PlayerTextDrawTextSize(playerid,StatsDraw[4], 640.000000, 0.000000);
return 1;
}Habe mich erst gefragt warum eine Schleife für sowas, also habe ich dir es einmal so gemacht, übrigens wäre dies gerade einmal EINE Zeile mehr.
-
Du redest von Plugins aber in deiner server.cfg sehe ich nicht eine Zeile davon. Plugins MÜSSEN auch in der server.cfg vorhanden sein.
-
Das Problem bei Groovestreet ist sehr bekannt, wedhalb der Ort einfach sehr blöd ist, habe es bisher noch nicht hinbekommen dass die Fahrzeuge da stehen wo man sie haben will.
Schnonmal versucht Objekte unter der Groove Street zu platzieren? Also Flächen wie Object ID: 19377.
Ich habe es einmal probiert, und bei mir hatte es funktioniert:
Einmal CreateObject
CreateObject(19377, 2484.60, -1685.29, 12.20, 0.00, 90.00, 0.00);
CreateObject(19377, 2505.42, -1659.11, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2505.31, -1668.65, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2505.34, -1678.10, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2494.88, -1680.82, 12.20, 0.00, 90.00, 0.00);
CreateObject(19377, 2494.88, -1671.20, 12.20, 0.00, 90.00, 0.00);
CreateObject(19377, 2494.90, -1661.60, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2494.91, -1652.08, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2474.07, -1685.58, 12.22, 0.00, 90.00, 0.00);
CreateObject(19377, 2484.60, -1666.49, 12.21, 0.00, 90.00, 0.00);
CreateObject(19377, 2484.61, -1675.87, 12.20, 0.00, 90.00, 0.00);
CreateObject(19377, 2484.60, -1657.06, 12.21, 0.00, 90.00, 0.00);
CreateObject(19377, 2474.25, -1657.02, 12.21, 0.00, 90.00, 0.00);
CreateObject(19377, 2474.21, -1666.61, 12.19, 0.00, 90.00, 0.00);
CreateObject(19377, 2474.19, -1676.00, 12.21, 0.00, 90.00, 0.00);Einmal als CreateDynamicObject
CreateDynamicObject(19377, 2484.60, -1685.29, 12.20, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2505.42, -1659.11, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2505.31, -1668.65, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2505.34, -1678.10, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2494.88, -1680.82, 12.20, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2494.88, -1671.20, 12.20, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2494.90, -1661.60, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2494.91, -1652.08, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2474.07, -1685.58, 12.22, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2484.60, -1666.49, 12.21, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2484.61, -1675.87, 12.20, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2484.60, -1657.06, 12.21, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2474.25, -1657.02, 12.21, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2474.21, -1666.61, 12.19, 0.00, 90.00, 0.00);
CreateDynamicObject(19377, 2474.19, -1676.00, 12.21, 0.00, 90.00, 0.00);Wäre jetzt aber nur die Strasse, da ich nicht weiss was für Boden da alles verbuggt ist.
-
namecheap.com hole meine Domains immer da.
-
Mache doch ganz einfach bei dem Callback OnVehicleDeath ein DestroyVehicle.