Einfach am ende des Tutorials:
TextDrawHideForPlayer(playerid, TEXTDRAWNAME);
Beiträge von TPO
-
-
Genau das selbe habe ich doch im GM aber die gehen trotzdem weg naja hier isn anderer Thread xP
-
Echt? Das frag ich mich schon lange...
Wie denn genau? bzw. wo? seh das nirgends oder bin ich zu ..doof..? -
Ich weiß das es bessere Lösungen gibt aber bedenkt mal:
Ich bin ein tierischer Anfänger im Scripten und das ist mein erstes Tutorial deswegen finde ich es ganz gut.. -
Ah sorry verschrieben^^
Meine: Bei mir gehen wenn ich deine Version nehme immer die PickUps weg wenn ich sie einsammel deswegen habe ich die Oben genannte Version benutzt von mir. Aber naja kann auch falsch liegen...
-
Sorry aber es nervt mich bisschen.. kenne auch die Funktion /cam1/6 im Area 51 aber das ist ja eine andere. Wenn ich schon den Code poste und der keine 17Zeilen lang ist kann man sich den doch wenigstens kurz angucken...^^
-
Doch die Funktion kenn ich auch noch. Das ist wirklich der Befehl fürs Area...
Nein ist es nicht!
Boah dann mache ich halt eben aus /cam > /furzblabla ...Ich frage was das für ne Funktion ist???
if (strcmp(cmd, "/furzblabla", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cam [1/2/3/4]");
return 1;
}
Unspec[playerid][sCam] = strval(tmp);
format(string, sizeof(string), "Switching to cam %d",Unspec[playerid][sCam]);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
return 1;
} -
Kann doch garnicht sein!
Dort ist weder IfPlayerToPoint noch irgendwelche Cam Koordinaten drine. Also muss es ja was anderes sein...Und denke nicht das die Army Kameras für JEDEN User drine sind dort ist auch kein if gTeam oder if Admin drine!
-
Was bringt diese Funktion? (Bitte GENAU erklären!)
if (strcmp(cmd, "/cam", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cam [1/2/3/4]");
return 1;
}
Unspec[playerid][sCam] = strval(tmp);
format(string, sizeof(string), "Switching to cam %d",Unspec[playerid][sCam]);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
return 1;
} -
XD das LG machste raus hat er sicher nur ausversehen reingemacht...
-
Tockra bin mir nun nicht sicher 1oo% aber glaube habe immer die oben beschriebene benommen da dort die PickUps nach dem auf Picken nicht weggehen ist son SA:MP Bug da sie neuspawnen sofort. xP
-
Drück mal STRG+F im Script (Pawno) und gibt in das Feld: DisableInteriorEnterExits(); dann auf weiter und wenn es zweimal drine ist lösch es einmal oder lass es wenn es nicht geht ganz draußen.
-
Nein bei keinem anderen Server stirbst du wenn du dich einloggst (Kein Server den ich kenne)...
-
OnPlayerSpawn: http://pastebin.com/DEe4zdHj
OnPlayerConnect: http://pastebin.com/kWeLywun -
Guten Tag, schnelle rede kurzer Sinn: Einloggen bedeutet auf dem Script = Tod wieso? Registration = Tod = KH/NoTutorial. Das nervt brauche hilfe weiß nicht welchen Scriptausschnitt ich posten soll^^
OnPlayerSpawn?
OnPlayerDeath?
OnPlayerConnect?SuFu benutzt nichts gefunden bin ich zu Doof war mir 1oo% sicher solche Threads gibts schon oO.
-
Meine beiden Goto/Gethere Commands aus dem GF ist genau so gut^^
Der Goto um dich zu jemd. zu Porten:
if(strcmp(cmd, "/goto", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /goto [ID/Name]");
return 1;
}
new Float:plocx,Float:plocy,Float:plocz;
new plo;
plo = ReturnUser(tmp);
if (IsPlayerConnected(plo))
{
if(plo != INVALID_PLAYER_ID)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(Spectate[playerid] != 255)
{
Spectate[playerid] = 256;
}
GetPlayerPos(plo, plocx, plocy, plocz);
if(PlayerInfo[plo][pInt] > 0)
{
SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
}
if(PlayerInfo[playerid][pInt] == 0)
{
SetPlayerInterior(playerid,0);
}
if(plocz > 530.0 && PlayerInfo[plo][pInt] == 0)
{
SetPlayerInterior(playerid,1);
PlayerInfo[playerid][pInt] = 1;
}
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
}
else
{
SetPlayerPos(playerid,plocx,plocy+2, plocz);
}
SendClientMessage(playerid, COLOR_GRAD1, " Du hast dich Teleportiert");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
}
}
}
else
{
format(string, sizeof(string), " %d ist nicht Online.", plo);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}Um jemd. zu dir zu porten per /get:
if(strcmp(cmd, "/get", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /get [ID/Name]");
return 1;
}
new Float:plocx,Float:plocy,Float:plocz;
new plo;
plo = ReturnUser(tmp);
if (IsPlayerConnected(plo))
{
if(plo != INVALID_PLAYER_ID)
{
if (PlayerInfo[plo][pAdmin] > 1337)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Admins porten!");
return 1;
}
if (PlayerInfo[playerid][pAdmin] >= 3)
{
GetPlayerPos(playerid, plocx, plocy, plocz);
if(PlayerInfo[playerid][pInt] > 0)
{
SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
}
if(PlayerInfo[playerid][pInt] == 0)
{
SetPlayerInterior(plo,0);
}
if(plocz > 930.0 && PlayerInfo[playerid][pInt] == 0)
{
SetPlayerInterior(plo,1);
PlayerInfo[plo][pInt] = 1;
}
if (GetPlayerState(plo) == 2)
{
TelePos[plo][0] = 0.0;
TelePos[plo][1] = 0.0;
new tmpcar = GetPlayerVehicleID(plo);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
}
else
{
SetPlayerPos(plo,plocx,plocy+2, plocz);
}
SendClientMessage(plo, COLOR_GRAD1, " Du wurdest Teleportiert");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
}
}
}
else
{
format(string, sizeof(string), " %d is not an active player.", plo);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
} -
Die sind doch ? naja^^
Danke
-
Zitat
Folgender Tutorial Inhalt:
Eingang/Ausgang erstellung ohne Command
Mehrer Eingänge/Ausgänge mit einem Timer ohne Command
3D TextLabels erstellen mit Text/Farbe und Radius einstellung
Beschreibung der einzelheiten
Wie man die Koordinaten/Positionen rausfindetInformationen:
Godfather Tauglich
Mein erstes TutorialErstmal nur ein einfacher ein/ausgang zum Beispiel mit einem "i" als Pickup:
Damit alle alten Eingänge/Ausgänge die von SA:MP dasind entfernt werden oben ins Script:
DisableInteriorEnterExits();Oben bei den forwards fügst du folgendes ein:
forward UserEingangAusgang(playerid);Oben bei den new's fügst du folgendes ein:
new UserEingangAusgangTimer;Bei den OnGameModeInit fügst du folgendes ein:
CreatePickup(X,Y,Z,H); //Eingangs Pickup draußen vor der Tür
CreatePickup(X,Y,Z,H); //Ausgangs Pickup drine an der TürBei den OnGameModeExit fügst du folgendes ein:
KillTimer(UserEingangAusgangTimer);Und ganz nach unten im Script:
public UserEingangAusgang(playerid)
{
if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Eingang - Wenn der Spieler da ist passiert folgendes...
{
SetPlayerInterior(playerid, INTERIORID); //Interior ID wird auf ID X gesetzt
SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er drine ist.
SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er drine ist
}
else if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Ausgang
{
SetPlayerInterior(playerid, 0); //Interior ID wird auf ID 0 gesetzt (Free World)
SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er draußen ist.
SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er draußen ist
}
return 1;
}Wenn du mehrer Eingänge ausgänge machen willst einfach:
z.B Zivispawn Eingang und Police Department Eingang.
public UserEingangAusgang(playerid)
{
//Los Santos Police Department Ein/Ausgang
if (PlayerToPoint(1, playerid, 1555.1205, -1675.6710, 16.1953)) // PD Eingang
{
SetPlayerInterior(playerid, 6);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
SetPlayerPos(playerid, 246.7840, 63.9002, 1003.6406); //Dort hin wer er geportet beim reingehen
SetPlayerFacingAngle(playerid, 0.0);//Damit er in die richtige Richtung guckt
}
else if (PlayerToPoint(1, playerid, 246.7282, 62.7136, 1003.6406)) // PD Ausgang
{
SetPlayerInterior(playerid, 0);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
SetPlayerPos(playerid, 1552.4490, -1674.9897, 16.1953);//Dort hin wer er geportet beim reingehen
SetPlayerFacingAngle(playerid, 90.0);//Damit er in die richtige Richtung guckt
}
//Los Santos Zivispawn Ein/Ausgang
else
if (PlayerToPoint(1, playerid, 1111.0206,-1796.9290,16.5938)) // Zivispawn Eingang
{ //Wenn du ein Text beim betreten willst einfach die Folgende Zeile hinzufügen:
SendClientMessage(playerid,COLOR_WHITE,"Willkommen in der Zivispawn Halle");
SetPlayerInterior(playerid,18);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
SetPlayerPos(playerid,1289.1001,-50.0995,1002.4922);//Dort hin wer er geportet beim reingehen
SetPlayerFacingAngle(playerid,0.0);//Damit er in die richtige Richtung guckt
}
else if (PlayerToPoint(1, playerid, 1307.5702,-55.9294,1002.4971)) // Zivispawn Ausgang
{//Wenn du ein Text beim verlassen willst einfach die Folgende Zeile hinzufügen:
SendClientMessage(playerid,COLOR_WHITE,"Willkommen vor der Zivispawn Halle in Los Santos!");
SetPlayerInterior(playerid,0);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
SetPlayerPos(playerid,1108.6257,-1796.3427,16.5938);//Dort hin wer er geportet beim reingehen
SetPlayerFacingAngle(playerid,90.0); //Damit er in die richtige Richtung guckt
}
return 1;
}Dazu die passenden PickUps:
CreatePickup(1239, 23, 1111.0206,-1796.9290,16.5938); // Zivispawn Eingang
CreatePickup(1239, 23, 1307.5702,-55.9294,1002.4971); // Zivispawn Ausgang
CreatePickup(1239, 23, 1555.1205, -1675.6710, 16.1953); // PD Eingang
CreatePickup(1239, 23, 246.7282, 62.7136, 1003.6406); // PD AusgangNun soll auch ein 3D TextLabel beim PickUp mit bestimmtem Text sein:
Erstmal die Farbe Weiß Definieren oben im Script bei den #defines:
#define COLOR_WHITE 0xFFFFFFAANehmen wir mal die alten Koordinaten vom LSPD Ein/Ausgang und Zivispawn Ein/Ausgang
Die Pickups waren diese:
CreatePickup(1239, 23, 1111.0206,-1796.9290,16.5938); // Zivispawn Eingang
CreatePickup(1239, 23, 1307.5702,-55.9294,1002.4971); // Zivispawn Ausgang
CreatePickup(1239, 23, 1555.1205, -1675.6710, 16.1953); // PD Eingang
CreatePickup(1239, 23, 246.7282, 62.7136, 1003.6406); // PD AusgangDazu einfach auch unter OnGameModeInit unter die PickUps oder über direkt:
Create3DTextLabel("Los Santos Zivispawn Eingang", COLOR_WHITE,1111.0206,-1796.9290,16.5938, 15, 0, 1);
Create3DTextLabel("Los Santos Zivispawn Ausgang", COLOR_WHITE,1307.5702,-55.9294,1002.4971, 15, 0, 1);
Create3DTextLabel("Los Santos Police Department Eingang", COLOR_WHITE,1555.1205, -1675.6710, 16.1953, 15, 0, 1);
Create3DTextLabel("Los Santos Police Department Ausgang", COLOR_WHITE,246.7282, 62.7136, 1003.6406, 15, 0, 1);Erklärung zu den 3D TextLabeln:
Create3DTextLabel("Los Santos Zivispawn Eingang", COLOR_WHITE,1111.0206,-1796.9290,16.5938, 15, 0, 1);
Create3DTextLabel //- Erstellt das Label
Los Santos Zivispawn Ausgang //- Text auf dem Label
COLOR_WHITE //- Farbe (Muss definiert sein per #define)
1307.5702// - xRoute/Position auf der Karte
-55.9294// - yRoute/Position auf der Karte
1002.4971// - zRoute/Position auf der Karte
15 //- Radius von wie weit der Text sichbar sein soll
0 //- Unbekannt
1 //- UnbekanntWie bekommt man die Positionen raus?
Du gehst einfach Ingame an die gewünschte Position wo du z.B das PickUp haben willst und gibts einfach brauchst kein Filterscript/Script etc. dafür geht von SA:MP aus auf jedem Server /save NAME ein um die Position/Die Koordinaten zu speichern. Zum Beispiel: Du fährst zum BSN willst dort ein Pickup vor dem BSN eingang und gibst dort einfach ein /save BSN Eingang dann gehst du in den GTA San Andreas Ordner und dort ist die Datei "Savepositions" diese Datei öffnest du einfach mit WordPad oder mit nem Editor und dort drine steht etwas wie (im Beispiel LSPD Eingang:)
AddPlayerClass(272,1554.6833,-1675.6157,16.1953,90.7358,0,0,0,0,0,0); // LSPD EingangDas kommt weil ich Ingame am LSPD Eingang "/save LSPD Eingang" eingetippt habe. Nun die erklärung was was ist von den vielen zahlen:
(272,1554.6833,-1675.6157,16.1953,90.7358,0,0,0,0,0,0)272 = Skin ID vom Spieler den du Ingame anhattest.
1554.6833 = xRoute/Position auf der Karte
-1675.6157 = yRoute/Position auf der Karte
16.1953 = zRoute/Position auf der Karte
90.7358= hRoute/Position auf der Karte
0,0,0,0,0,0 = Welche Waffen der Spieler mit wieviel Munition hat
((Waffe1, Munition1, Waffe2, Munition2, Waffe3, Munition3)) -
Im Script:
Oben bei den Forwards:
forward UserEingangAusgang(playerid);Bei den News:
new UserEingangAusgangTimer;Die Koordinaten selbst eintragen! Unter OnGameModeINit:
CreatePickup(X,Y,Z,H); //Eingangs Pickup vorm BSN an der Tür
CreatePickup(X,Y,Z,H); //Ausgangs Pickup drine im BSN an der TürUnter OnGameModeExit:
KillTimer(UserEingangAusgangTimer);Und ganz nach unten im Script:
public UserEingangAusgang(playerid)
{
if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Eingang - Wenn der Spieler da ist passiert folgendes...
{
SetPlayerInterior(playerid, INTERIORID); //Interior ID wird auf ID X gesetzt
SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er drine ist.
SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er drine ist
}
else if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Ausgang
{
SetPlayerInterior(playerid, 0); //Interior ID wird auf ID 0 gesetzt (Free World)
SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er draußen ist.
SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er draußen ist
}
return 1;
} -
Wie stelle ich die PayDay Mindestspiel Zeit ein damit man mind. so und soviele Minuten Spielen musste um Payday zu erhalten im GF?
Fand nur die Zeile hier:
if(PlayerInfo[i][pPayDay] < 6) { PlayerInfo[i][pPayDay] += 1; } //+ 5 min to PayDay anti-abuseGeben tuht es das ja schon sonst würde der Satz nicht drine sein:
{
SendClientMessage(i, COLOR_LIGHTRED, "* You haven't played long enough to obtain a PayDay.");
}