Woher soll ich wissen wie du deine Route setzt ?
Hier ein Beispiel:
case 0:
{
Route[playerid] = 1;
SendClientMessage(playerid,0xFF0000FF,"Du fährst nun die Rute durch LS!");
}
Woher soll ich wissen wie du deine Route setzt ?
Hier ein Beispiel:
case 0:
{
Route[playerid] = 1;
SendClientMessage(playerid,0xFF0000FF,"Du fährst nun die Rute durch LS!");
}
new rnd;
rnd = random(2);
switch(rnd)
{
case 0: { /*LS*/ }
case 1: { /* SF*/ }
case 2: { /*LV*/ }
}
CreatePickup(model, type, Float:X, Float:Y, Float:Z, Virtualworld);
Tag mismatch bedeutet das du zu wenig / zu viele Parameter hast.
Such nach der Zahl 43 und wenn du nen Treffer findest, schau dir den Scriptpart an, dann kannste ja erkennen ob
das vom Anticheat ist.
Meiner ist nun richtig, ich hab statt 'i' ausversehen 2x 'playerid' verwendet.
Ach und Potti, dein Code müsste so lauten:
public OnPlayerConnect(playerid)
{
SetTimerEx("Waffen",2000,true,"d",playerid);
}
forward Waffen(playerid);
public Waffen(playerid)
{
if(GetPlayerSkin(playerid) == 560)
{
ResetPlayerWeapons(playerid);
}
return 1;
}
OnGameModeInit()
{
SetTimer("CheckForWeapons",1000,true);// Erstellt einen Timer der jede Sekunde die Funktion CheckForWeapons aufruft
}
forward CheckForWeapons();
public CheckForWeapons()//Diese Funktion wird jede Sekunde aufgerufen.
{
for(new i = 0; i<MAX_PLAYERS; i++)//Eine Schleife die durch alle Spieler ID's läuft.
{
if(GetPlayerSkin(i) == 20)//Skin ID musst du anpassen | Fragt ab ob der Spieler den Skin mit der ID 20 hat.
{
if(GetPlayerWeapon(i) != 0)//Wenn der Spieler KEINE Faust als Waffe hat
{
ResetPlayerWeapons(i); // Löscht alle Waffen des Spielers
SendClientMessage(i,0xFF0000FF,"Du darf noch keine Waffen tragen!"); // Sendet ihm eine Nachricht.
}
}
}
return 1;
}
Achso und PoTTii, dein Code ist schonwieder falsch.
Klar geht das aber dazu müsste man auf den Spieler sein PC zugreifen und dann die samp.cfg Datei bearbeiten
Also, es ist ohne weiteres nicht möglich.
Benutzt du MySQL oder ein INI System ?
MySQL ( Strickenkidd Plugin
--------------------------------------
stock NumberExists(nummer)
{
new Query[128];
format(Query, sizeof(Query), "SELECT * FROM Accounts WHERE Nummer = '%d'", nummer);
mysql_query(Query);
mysql_store_result();
return mysql_num_rows();
}
new Telefonnummer[MAX_PLAYERS];//Oben zu deinen anderen new's
nummer_geben:
new rnd;
rnd = random(876543)+123456; // Erstellt eine random Zahl von 123456 bis 999999 :)
if(NumberExists(rnd))
{
goto nummer_geben;
}
Telefonnummer[playerid] = rnd;
Könntest ja eventuell mal die URL deiner Homepage hinzufügen.
MfG
n0skillg3t
new Telefonnummer[MAX_PLAYERS];
new rnd;
rnd = random(876543)+123456; // Erstellt eine random Zahl von 123456 bis 999999 :)
//Hier kannst du noch überprüfen ob die Telefonnummer bereits vergeben wurde.
Telefonnummer[playerid] = rnd;
- Abschluss schaffen
- Ausbildung als Programmierer starten
- PARTY!
Ich geh mal davon aus das du sonst mit ocmd arbeitest, aber das geht genau so:
ocmd:befehl(playerid,params[])
{
return 1;
}
ocmd:befehl2(playerid,params[])
{
return ocmd_befehl(playerid,params);
}
Ich bin mir nicht ganz sicher ob das so ging, aber ich denke schon.
Sieht sehr gut aus, gefällt mir
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"List Dialog","Zeile1\nZeile2\nZeile3\nZeile4\nZeile5","Button 1","Button 2");
new rnd, let[6];
rnd = random(25)+1;
switch(rnd)
{
case 1:{ let = "A";}
case 2:{ let = "B";}
case 3:{ let = "C";}
case 4:{ let = "D";}
case 5:{ let = "E";}
case 6:{ let = "F";}
case 7:{ let = "G";}
case 8:{ let = "H";}
case 9:{ let = "I";}
case 10:{ let = "J";}
case 11:{ let = "K";}
case 12:{ let = "L";}
case 13:{ let = "M";}
case 14:{ let = "N";}
case 15:{ let = "O";}
case 16:{ let = "P";}
case 17:{ let = "Q";}
case 18:{ let = "R";}
case 19:{ let = "S";}
case 20:{ let = "T";}
case 21:{ let = "U";}
case 22:{ let = "V";}
case 23:{ let = "W";}
case 24:{ let = "X";}
case 25:{ let = "Y";}
case 26:{ let = "Z";}
}
Jetzt hast du das alphabet.
if(strcmp(cmdtext,"/supmobil",true) == 0)
{
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin!");
ShowPlayerDialog(playerid,342,DIALOG_STYLE_LIST,"Supporter Cars","Comet\nSuper GT\nInfernus","Nehmen","Zurück");
return 1;
}
public OnDialogResponse(...)
{
if(dialogid == 342)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
switch(listitem)
{
case 0:{ CreateVehicle(480,X,Y,Z,0.0,-1,-1,-1);}
case 1:{ CreateVehicle(506,X,Y,Z,0.0,-1,-1,-1);}
case 2:{ CreateVehicle(411,X,Y,Z,0.0,-1,-1,-1);}
}
}
return 1;
}
new Text3D:DamageLabel[MAX_PLAYERS];
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
new string[124];
new weaponname[24], name[MAX_PLAYER_NAME];
if(issuerid != INVALID PLAYER_ID)
{
GetPlayerName(issuerid,name,sizeof(name));
GetWeaponName(weaponid, weaponname, sizeof (weaponname));
format(string,sizeof(string),"Schaden: %.0f HP\nWaffe: %s\nAngreifer: %s",amount,weaponname,name);
DamageLabel[playerid] = Create3DTextLabel(string,0xFF0000FF,0.0,0.0,0.0,20.0,-1,0);
Attach3DTextLabelToPlayer(DamageLabel[playerid],playerid,0.0,0.0,0.7);
}
return 1;
}
Müsste funktionieren, kann aber Fehler enthalten, habs hier im Editor geschrieben.
Was steht in der Zeile davor ?
GetPlayerName(playerid,pName,sizeof(pName));
und statt
new pName;
das hier
new pName[MAX_PLAYER_NAME];
Weist du wie die "anderen" das machen ?
Im Teamspeak kann man sogenannte Rechte verteilen.
Diese Teamspeak Administratoren geben z.B. Operator Rechte für einen
bestimmten Channel an eine bestimmte Person und dieser hat dann die Rechte