Beiträge von Sry4pwn
-
-
es gibt 2 include ordner, einmal im pawno ordner und einmal im hauptordner, tus mal in beide
-
Nur die tasten die du im songleplayer bedienen kannst, kannst du Auch in aqmp verwenden.
Du kannst natürlich deine GTA controlls ändern, is aber dann rleben nur bei dir so
-
Kann nich funktionieren, onvehiclespawn wird nur beim.respawn aufgerufen...
Nicht beim eigentlichen spawn.
Machs einfach direkt nach createvehicle...Also
new vehid = createvehicle(...)
Setvehiclehealth(vehid, 2000.0); -
Tjoah falsch,
Wenn ihr mal auf der scripting Seite schaut,
Seht ihr, dass onvehiclespawn nur bei einem respawn aufgerufen wird...Mach einfach so
New vehid = createvehicle(....);
Setvehiclehealth(vehid, 2000.0);
Sollte eig. Gehn ? -
Und beim.nächstn ding fragste wieder oder was ?
Lern es selbst, das is echt ned schwer...Nimm dir die Zeit...
-
Habs 2 mal durchglesn,
achte mal auf deine Rechtschreibung und vorallem zeichensetzung,Sorry aber hab nix verstanden
-
Limitglobalchatradius muss man garnicht benutzen um den chat auszuschalten...^^
es reicht auch wenn man bei OnPlayerText()
einfach 0 returnt. -
nice1
werde das gleich mal testen..Funktioniert sehr gut. Danke
Sowas sollte direkt mal in den includes von samp stehen ;D -
@BlackAce
mhm danke
aber funktioniert nicht ganz so...^^
buggt ziemlich rum, manche zeichen verschwinden einfach, wo anders sind wieder welche da.7Hätte mir dabei eher sowas vorgestellt.
Wäre so auf 5 parameter begrenzt...
und man kann eben nur integer reinmachen...
wie mach ich das, dass ich auch Strings und Floats hernehmen kann ?
was muss ich statt dem ... schreiben?stock SendFormatMessage(playerid,color,text[],...)
{
new str[128];
format(str, sizeof(str), text, getarg(3), getarg(4), getarg(5), getarg(6), getarg(7));
SendClientMessage(playerid,color,str);
return 1;
} -
Ich würds dir nich raten mit strcmp zu arbeiten...
Du brauchst sehr oft Parameter...
Lad dir irgend so n Teil runter...
Also.ocmd, zcmd oder mein Favorit dcmd -
du darfst in der for-schleife kein return 1;
benutzen, dabei wird die Funktion beendet und die for-schleife läuft nur 1-mal durch -
Habe das so....
musst natürlich deine abfrage ersetzen und anpassen etc...
also zB: isAdmin() gegen deine, oder SpielerName()
das is für dcmd und sscanf gedacht.
bei ocmd den funtionskopf eben durch ocmd:setskin(playerid, params[]) ersetzen
damit du noch bisschen was selbst machst
am besten kopierst dus nich einfach, sondern scriptest sowas immer nachdcmd_setskin(playerid, params[])
{
new pid, skinid;
new str1[128], str2[128];
if(!isAdmin(playerid, 1)) return SendClientMessage(playerid, ROT, "Diesen Befehl dürfen nur Admins ausführen");
else {
if(sscanf(params, "ii", pid, skinid)) return SendClientMessage(playerid, ROT, "USAGE: /setskin playerid skinid");
else {
SetPlayerSkin(pid, skinid);
format(str1, sizeof(str1), "Du hast den Skin von %s geändert", SpielerName(pid));
format(str2, sizeof(str2), "Dein Skin wurde von %s-%s geändert", GetAdminRankName(playerid), SpielerName(playerid));
SendClientMessage(playerid, GELB, str1);
SendClientMessage(pid, GELB, str2);
return 1;
}
}
} -
sollte eigentlich schon funktionieren.
pID muss eben immer gleich geschrieben werden,
nicht einmal pId und einmal pID... -
Hey, ich suche eine Funktion wie eben oben der name schon sagt.
Gibt es sowas irgendwo als fertige Funktion?
Ich möchte mir damit folgendes ersparen:
new str[128];
format(str, sizeof(str), "%s sucht folgenden Stock", SpielerName(playerid));
SendClientMessage(playerid, ROT, str);und durch in etwa sowas ersetzen können:
SendClientFormatMessage(playerid, ROT, "%s sucht folgenden Stock", SpielerName(playerid));Habe sowas auch in google schon gesehen, allerdings nciht als funktionsfähigen code.
würde es zwar gern selbst machen, kenne mich jedoch nicht mit unabhängiger parameterzahl aus.Vielen Dank schonmal...
-
dann kriegste eben den letzten fetzen auch noch gemacht
ocmd:repair(playerid,params[])
{
new pID;
if(!SpielerInfo[playerid][Job] == 1))return SendClientMessage(playerid,Rot,"Du bist kein Mechaniker.");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Hellblau,"/repair [ID]");
Gegnerid[pID] = playerid;
ShowPlayerDialog(pID,DIALOG_ME,DIALOG_STYLE_MSGBOX,"Mechaniker - Repair","Dir wird eine Reperatur für 90$ angeboten.","Annehmen","Ablehnen");
return 1;
} -
mhm kenne mich mit ocmd nciht aus...
sollte aber reichen wenn du stattdcmd_report(playerid, params[])
einfach ocmd:report(playerid, params[])schreibst
aber weis es nicht sicher.... -
ja tut er doch....
maaaan
bei ondialogresponse(playerid, ...)
ist die playerid, die id von der normalen Person, nicht die von dem Mechaniker... -
Zitat
if(dialogid==DIALOG_ME)
{
if(reponse==0)
{
format(string,sizeof(string),"Dein Auftrag wurde von %s Abgelehnt",Gegnerid[playerid]);
SendClientMessage(Spielerid[playerid],Rot,string);
return 1;
}
}Das is doch irwie a schmarrn oder ? ;D
Spielerid[playerid]=playerid; bewirkt mal wieder sehr viel....nimm das hier.. auch wenn dann noch viel unnützes zeug im oberen teil steht...
aber mit c&p erhält man eben nie etwas besseresCode
Alles anzeigenif(dialogid==DIALOG_ME) { if(reponse==0) { format(string,sizeof(string),"Dein Auftrag wurde von %s Abgelehnt",playerid); SendClientMessage(Gegnerid[playerid],Rot,string); return 1; } if(response==1){ new pId=Gegnerid[playerid]; if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage((pId,Rot,"Der Spieler ist in keinem Fahrzeug."); RepairVehicle(GetPlayerVehicleID(playerid)); SendClientMessage(pId,Grün,"Deine Anfrage wurde Angenommen. Du erhälst 90$."); GivePlayerMoney(playerid,-90); GivePlayerMoney(pId,90); return 1; } }
-
naya.. c&p is ja wohl nich die beste art n server zu machn mhm ?
Hier mal n Code wie er mit dcmd & sscanf aussehen könnte...
dazu brauchste dann eben noch ne funktion die den namen returnt
dcmd_report(playerid, params[])
{
new text[128], text2[128];
if(sscanf(params, "is", id, text)) return SendClientMessage(playerid, ROT, "USAGE: /report playerid text");
else {
format(text, sizeof(text), "[%i]%s reportet %s: %s", playerid, SpielerName(playerid), SpielerName(id), text);
format(text2, sizeof(text2), "Report abgesendet: %s", params);
SendClientMessage(playerid, 0xFFFF00FF, text2);
for(new i =0; i<MAX_PLAYERS; i++) {
if(IsPlayerAnAdmin(i,1)) {
SendClientMessage(i, 0xFFFF00FF, text);
}
}
return 1;
}
}
stock SpielerName(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}