// Unter OnPlayerConnect
new AccountZahl;
new name[MAX_PLAYER_NAME];
new form[100];
GetPlayerName(playerid,name,sizeof name);
format(form,sizeof form,"%s.ini",name);
if(AccountZahl == 300) //einsetzen
{
SendClientMessage(playerid,COLOR_RED,"Es gibt zu viele Accounts!");
// was geschehen soll
}
if(dini_Exists(form))
{
SendClientMessage(playerid,COLOR_RED,"Welcome Back");
}
else
{
AccountZahl++;
dini_Create(form);
}
ungetestet !
Beiträge von Kayer
-
-
AddStaticVehicle(567,2507.4846,-1676.4034,13.3283,328.3891,16,16); //
Die letzen beiden Ziffern geben die Farben an.
http://www.wiki.sa-mp.com/wiki…ripting_Documentation</a> ( Falls der Link nicht geht, geh auf http://www.sa-mp.com /help /Script Ressoruces)
http:// http://www.forum.sa-mp.de/wbb/san-andreas-multiplayer/scripting-base/1075-farben/</a>']Farben?</a> (falls dieser Link auch nicht geht, auf http://www.sa-mp.de /Scripting Base /Farben? Oben )Bitte benutzt die Suchfunktion und erstellt nicht wegen jeder Kleinigkeit einen Thread,da es meist in nichteinmal 1 Minute zu finden ist .
-
Hallo Allerseits.
Ich freue mich,wie immer, über jeden konstruktiven und aufklärenden Post von euch und hoffe auf eine schnelle Antwort .Zunächst einmal möchte ich wissen,wie ich ein Race-System erstelle, d.h. ich fahre in einen RCP (=RaceCheckPoint ) und ein anderer bzw. der nächste RCP erscheint.
Ich kann beim Befehl "/startrace" natürlich: SetPlayerRaceCheckPoint(..) und bei OnPlayerEnterRaceCheckPoint(..) den RCP verschwinden lassen und einen neuen erstellen.Doch dies geht nur bei 2 RCP´s gut. Ein Rennen hat meist aber etwas mehr .Nun ist meine Frage, wie ich möglichst einfach (!) abfrage, in welchem RCP der Spieler sich befinet, um den nächsten RCP setzen zu können. Eine Variante wäre,mit if und else if und CP[playerid] (was sich bei jedem Checkpoint erhöht) abzufragen,wie hoch CP[playerid] ist und dem entsprechend den Neuen zu setzen.
Oder per Timer und IsPlayerToPoint abzufragen,ob er da ist. Doch dies ist wahrscheinlich nicht die beste Lösung.
Bin offen für jeden Vorschlag oder Link !
( ---- Suchfunktio benutzt ---- )
MfG Kayer -
Danke! Habs geändert
-
oder besser du verwendest dcmd .
// Unter OnPlayerComamnd
dcmd(zahl,4,cmdtext);// Außerhalb eines CallBacks
dcmd_zahl(playerid,params[])
{
new Float:Zahl;
if(sscanf(params,"f",Zahl))
{
SendClientMessage(playerid,COLOR_RED,"Verwende: /zahl [FLOAT] ");
return 1;
}
dini_FloatSet("File.ini","Zahl",Zahl);
new form[100];
format(form,sizeof form,"Die Zahl %f wurde gespeichert",Zahl);
SendClientMessage(playerid,COLOR_RED,Zahl);
return 1;
}
Mehr dazu Commands mit Parametern '] [ SCRIPTING ] Commands mit Parametern[/url]<ungetestet>
Wer Fehler findet darf sie behalten
-
Kleiner Fehler .
Und zwar:
// ****Der erste Teil kommt zwar unter "OnPlayerCommandText" , aber der 2. Teil nicht, sprich:dcmd(kick,4,cmdtext); // Unter "OnPlayerCommandText",doch (!)
// --- weitere dcmd Codes oder andere Codes ---// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
dcmd_kick(playerid, params[]) // doch dies kommt AUßERHALB eines CallBacks,d.h. außerhalb von "public .... " , z.B. ganz unten im Script anfügen
{
// +++++++++++ CMD ++++++++++++ -
Kommt das bei jedem Server?
Du kannst probieren:
(* auf anderen Servern testen )
* Alle Mods raus
* anderen Clienten besorgen,installieren und testen
* SA:MP deinstallieren + GTA San Andreas deinstallieren und beides neu installieren- Versuch ist es wert ! Hoffe,dass es bald wieder geht und meine Tipps dir weitergeholfen haben .
-
X ist zur Seite (rechts und links), wie in einem Koordinatensystem eben. <---x---->
-
Teste es mal so
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 - PhNr.: %d", sendername,PlayerInfo[i][pPnumber]);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
}
}
}
return 1;
} -
-
ein Beispiel:
CreateObject( 2587, 2001.195679, 1547.113892, 14.283400, 0, 0, 96 );
CreateObject = Funktion(Objekt erstellen)
2587 = ModelID , d.h. was du eig. für ein Objekt erstellst (z.B.: Rampe,Straße,Brunnen,etc.)
2001.195679 = X-Koordinate
1547.113892 = Y-Koordinate
4.283400 = Z-Koordinate (= Höhe )
0 = X-Rotation
0 = Y-Rotation
96 = Z-Rotation -
1. Entschuldigung , habe leider nichts gefunden
2. Böses ThreadPushing
3. So etwas zu machen ist nicht wenig Arbeit.Was würde man denn erhalten ? -
-
Ich hab den Befehl von Grex mal eingefügt.Doch es traten einige Probleme auf.
Sobald ich /carheal eingegeben habe,konnte ich nicht mehr schreiben,keine Befehle eingeben,alles laggte sehr stark und nach ca. 2 Minuten trat jeweils ein Servercrash ein?
Liegt meiner Meinung nach den dem "do" und "while" , da es mit einem Timer prim a klappt. Hat einer eine Lösung? -
-
GivePlayerWeapon(playerid,dini_Int(lol,"Waffe"),dini_Int(lol,"Ammo"); -
Teste mal:
format(str, sizeof(str), "Deine Farbe: %x", Farbe);
weil
%x Inserts a number in hexadecimal notation. -
Kommt drauf an, ob du lesen oder schreiben möchtest
Lesen/Laden:
new inistr = dini_Int("Autohaus.ini", "newcar");
// D.h. du hättest inetwa sowas gespeichert: newcar=3 und dann gelesen/geladenSpeichern:
new inistr = dini_IntSet("Autohaus.ini","newcar",newcar);
// Du hättest dann "newcar=4" zB gespeichert -
// Unter OnPlayerCommandText
if(strcmp(cmdtext,"/dm1",true) ==0)
{
new name[MAX_PLAYER_NAME];
new form[100];
format(form,sizeof form,"%s hat sich zu DM1 geportet",name);
SendClientMessageToAll(COLOR_RED,form);
SetPlayerPos(playerid,X,Y,Z);//Deine Koordinaten einfügen
GivePlayerWeapon(playerid, WAFFE,AMMO);//Ersetzen durch beliebige Waffe + Ammozahl
SendClientMessage(playerid,COLOR_RED,"Du hast dich zu DM1 geportet!");
DM[playerid] = 1;
// Dies brauchst du,wenn Befehle ,wie "/heal" nicht in DM gehen sollen.Du frägst dann einfach mit "if(Dm[playerid] == 0) { >tue dies< } else { >sagen,dass es nicht geht< }" ab.
return 1;// ==== günstige/beliebte DM-Ports(koordinaten) ====
1959.1235,1356.1288,9.2578
1966.4578,1361.6976,9.2578
1966.6033,1372.1691,9.2578
1329.3507,2126.3574,11.0156
-1038.8242,-670.6358,32.0126
224.7720,-123.4672,1.5703
-1385.2949,454.5766,7.1875
Das solltest du eig. mit dieser Hilfe schaffen.Einfach das hier berücksichtigen und "tada" ein Port mit Nachricht an User + Alle,beliebige Waffen und Munitionszahl und Bool zur späteren Abfrage erstellt. -
Gebe FatJoe Recht !
Viele,die gut Scripten könnne und es wollen,sind meist irgendwo Admins (auch mit FTP Zugang), da sie es ja gut können
Daher ist oft Geld oder ein "Gegensponsoring" gefragt.
Würd mich jedoch melden .
Schick mir deine ICQ-Nr. per PM