Heyho,
meine Frage, ich suche schon die ganze Zeit nach einem Zebrastreifen, habe aber noch nichts gefunden,
gibt es überhaupt einen Zebrastreien?
Dann könnte ich ja noch lange suchen ..^^
Heyho,
meine Frage, ich suche schon die ganze Zeit nach einem Zebrastreifen, habe aber noch nichts gefunden,
gibt es überhaupt einen Zebrastreien?
Dann könnte ich ja noch lange suchen ..^^
Ich habe irgendwie immer ein Problem mit der playerid im TImer, hab schon alles mögliche versucht, doch es klappt nie.
Hier ein Beispiel:
oben:
forward gametexttimer(playerid);
Dann darunter das Public:
public gametexttimer(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,3,1186.70, -917.30, 42.90))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,1441.80, -1010.20, 26.50))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,1092.30, -1803.60, 13.20))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,1511.50, -1682.40, 13.70))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,732.40, -1338.10, 13.200))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,378.60, -2060.40, 7.50))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid,3,1737.50, -1863.50, 13.20))
{
GameTextForPlayer(playerid,"~w~Geben Sie ~g~/ATM~w~ ein um Geld ab- oder draufzuzahlen.",5000,3);
return 1;
}
return 1;
}
Unter OnPlayerConnect
SetTimer("gametexttimer",137,true);
Das Problem ist, das der Text nun nur für die Person / den User mit der ID 0 angezeigt wird.
Ich habe es schon öffter auch mit SetTimerEx versucht, doch ich setzte es wahrscheinlcih immer falsch ein.
Genau, klappt auch
Danke euch
//War nur nicht so schnell mim schreiben bzw abschicken
Nicht so ganz,
ich versuchs noch mal zu erklären anhand eines Beispiels:
Es gibt auf der ganzen Map viele Burgershots, doch wenn man in LV in einen geht und eine andere Person in LS in einen, sollen die Leute sich nicht sehen, obwohl sie im gleichen Interior sind, also muss ich die Virtual World ändern.
Um das scripten nun zu vereinfachen möchte ich gern einen Befehl erstellen, mit den Parametern:
SetInt(playerid,Float:X,Float:Y,Float:Z,Interior,VirtualWorld)
sodass ich nicht jedes mal folgendes machen muss:
if(pickupid==bsnenter)
{
SetPlayerPos(playerid,X,Y,Z);
SetPlayerVirtualWorld(playerid,2);
SetPlayerInterior(playerid,2);
return 1;
}
sondern einfach:
if(pickupid==bsnenter)
{
SetInt(playerid,X,Y,Z,2,2);
return 1;
}
Also er soll lauten "SetInt"
Mithilfe dieses Befehls sollen die Befehle
SetPlayerVirtualWorld
SetPlayerPos
SetPlayerInterior
zusammengefasst werden.
Hey,
ich würde mir gerne einen Befehl erstellen:
SetInt(playerid,Float:X,Float:Y,Float:Z,Interior,VirtualWorld)
Doch hab ich soetwas noch nie gemacht, also brauche etwas hilfe.
Hab so schon mal angefanen:
stock SetInt(playerid,Float:X,Float:Y,Float:Z,Interior,VirtualWorld)
{
oder lieber mit einem public? und was muss da rein?
Ich hab nun unten im Stock den Timer gesetzt,
Muss ich dann oben einfach wie vorher
forward Tut(playerid);
und dann
public TutBSN(playerid)
{
TextDrawHideForPlayer(playerid,Text:BSN1);
TextDrawHideForPlayer(playerid,Text:BSN2);
InterpolateCameraPos(playerid, 1012.8224,-1713.9231,70.4898,/**/ 1036.6874,-1876.9349,70.4898, 10000, CAMERA_MOVE);
InterpolateCameraLookAt(playerid,1033.0063,-1730.6783,13.3883-10,/**/1033.0063,-1730.6783,13.3883-10,10000,CAMERA_MOVE);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,Text:FBI1);
TextDrawShowForPlayer(playerid,Text:FBI2);
SetTimerEx("Tut2", 15000, false, "i",playerid);
return 1;
}
oder muss ich das hier mit einbauen?
for(new i = 0; i <= MAX_PLAYERS; i++)
@SunRise:
SetTimerEx("Tut", 15000, false, "i",playerid);
Also dann so?
Hey,
ich habe ein kleine Tutorial gescriptet,
Es beginnt mit einem stock
In dem Stock wird die Kamera auf eine bestimmte Position gerichtet und es wid etwas erklärt,
doch nun möchte ich, dass er diese Position + die Schrift 15 sec hält, ich hab nun am ende des Stock´s
einen Timer (SetTimer,"Tut",15000,false)
Doch alles was im Timer passieren soll, passiert dann immer bei der ID 0.
Wie kann ich nun die playerid unten aus dem Stock, oben in den Timer nehmen? SetTimerEx? GetPlayerID?
mfG
The_Driver
Ok, dann lass ich dich Objekte lieber raus.
Mit dem Ingame 0.3e ingame map editor werd ich mich dann auch gleich mal versuchen
und wie macht man das?
Also sind die unteren Objekte so wie Texturmods u. Gebäudemods und sowas?
Kann man, und wenn wie kann man die Objekte denn einfügen?
Syfox: mit MTA kann man diese Objekte nicht spawnen!
@-DeeKay-: Danke ich werds mal probieren.
Hey,
Ich suche ein Mapping Programm, mit dem ich auch zB. die Objekte hier ganz unten spawnen kann.
mfG
Driver
Habs jetzt so gemacht:
if(strcmp(cmd, "/admins",true)==0)
{
SendClientMessage(playerid,COLOR_GRAD1,"Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i, "Adminlevel") == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") == 2)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter/Moderator: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") >=3 && GetPVarInt(i, "Adminlevel") <=1337)// Einfach mit " >= 3 " und " <= 1337 " anstatt " >2 " und " >1338"
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
return 1;
}
}
return 1;
Und es klappt
Gut, danke das klappt schon mal
Nun hätte ich nur noch eine kleine Frage
Ich möchte das bei den verschiedenen Rängen auch verschiedene 'Titel' angezeigt werden, und man ab dem Rang 1338 nicht mehr angezeigt wird.
if(strcmp(cmd, "/admins",true)==0)
{
SendClientMessage(playerid,COLOR_GRAD1,"Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i, "Adminlevel") == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") == 2)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter/Moderator: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") > 2 && GetPVarInt(i, "Adminlivel") < 1338) // In dieser Zeile ist etwas flasch, doch was :D
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
return 1;
}
}
return 1;
}
So wie ich es jetzt hab, wird bei dem Rang 1 "Supporter: NAME ", bei dem Rang 2 "Supporter/Moderator: NAME" u. bei ALLEN Rängen über 2 "Admin: NAME" angezeigt, doch ich möchte halt wie gesagt, dass nur die Ränge 3 - 1337 als "Admin: NAME" angezeigt werden.
/e: Habs auch mal so ausprobiert:
if(strcmp(cmd, "/admins",true)==0)
{
SendClientMessage(playerid,COLOR_GRAD1,"Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i, "Adminlevel") == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") == 2)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter/Moderator: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") > 2 && GetPVarInt(i, "Adminlivel") < 1338)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
if(GetPVarInt(i, "Adminlevel") >= 2000)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Projektleiter: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
return 1;
}
}
return 1;
}
..doch dann wird bei einem Rang von 2000+ Angezeigt:
Meine Adminabfrage funzt über einen stock
stock isPlayerAnAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}
Mein Problem liegt halt daran, da ich nicht weiß wie ich das Adminlevel von anderen Usern abfrage
Hab nu ein bisschen rumprobiert, wenn ich es so mache:
if(strcmp(cmd, "/admins",true)==0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPVarInt(i, "Adminlevel") > 0);
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
}
}
return 1;
}
kommt der Error:
Wenn ich es so mache:
if(strcmp(cmd, "/admins",true)==0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new admin[MAX_PLAYERS];
GetPVarInt(playerid, pAdmin) = admin[playerid];
if(admin[playerid] > 1 && admin[playerid] <1338)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
}
}
return 1;
}
kommen diese beiden errors:
Was muss ich ändern?
Hey, ich hab mal eine kleine Frage.
Wie erstell ich den /admins - Befehl mit GetPVarInt.
Ich hab mal in GF geschaut, doch da ist es eben nicht mit GetPVarInt sondern mit
if(PlayerInfo[i][pAdmin] >= 1 ......
Der Befehl sollte dann so ähnlich wie der hier sein nur halt wie gesagt mit GetPVarInt:
if (strcmp(cmd, "/admins", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_GRAD1, "Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1 && PlayerInfo[i][pAdmin] < 1338)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Admin: %s", sendername);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
}
}
}
return 1;
}