Josef_03 7 Odesláno: 12. Duben, 2015 Share Odesláno: 12. Duben, 2015 ZDRAVÍM, potřeboval bych poradit jak se dělá např. /sethp (radius) a hraci kolem me toho radiusu dostanou dane hp.7 To je tak vse :-) Diky . Link to comment Share on other sites More sharing options...
SeaS 1 Odesláno: 12. Duben, 2015 Share Odesláno: 12. Duben, 2015 Zkus tohle: IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) { if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){ return 1; } return 0; } GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) { new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); return floatround(tmpdis); } dcmd_heal(playerid, params[]) { new radius, Float:posX, Float: posY, Float:posZ; if(sscanf(params, "i", radius)) return SendClientMessage(playerid, 0xFF0000AA, "/heal [radius]"); GetPlayerPos(playerid, posX, posY, posZ); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(IsPlayerInSphere(playerid, posX, posY, posZ, radius)) { SetPlayerHealth(i, 100); } } } SendClientMessage(playerid, 0xFF0000AA, "Uzdravil jsi všechny hráče v dané oblasti."); return 1; } Link to comment Share on other sites More sharing options...
Fr0st 23 Odesláno: 12. Duben, 2015 Share Odesláno: 12. Duben, 2015 Prečo to urobiť ľahko keď to ide aj ťažšie však ? Nieje jednoduchšie dať IsPlayerInRangeOfPoint(playerid,radius,x,y,z) namiesto 2 "stockov" ? 1 Link to comment Share on other sites More sharing options...
Josef_03 7 Odesláno: 12. Duben, 2015 Author Share Odesláno: 12. Duben, 2015 (upraveno) Zkus tohle: IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) { if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){ return 1; } return 0; } GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) { new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); return floatround(tmpdis); } dcmd_heal(playerid, params[]) { new radius, Float:posX, Float: posY, Float:posZ; if(sscanf(params, "i", radius)) return SendClientMessage(playerid, 0xFF0000AA, "/heal [radius]"); GetPlayerPos(playerid, posX, posY, posZ); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(IsPlayerInSphere(playerid, posX, posY, posZ, radius)) { SetPlayerHealth(i, 100); } } } SendClientMessage(playerid, 0xFF0000AA, "Uzdravil jsi všechny hráče v dané oblasti."); return 1; } Nechci byt za debila a jaky je include? - tAKHLE VIM zcmd ,ALE HLASI MI TO NEJAKE CHYBY! +Chyby: C:\Users\Josef\Desktop\Nová složka\filterscripts\Untitled.pwn(37) : warning 203: symbol is never used: "GetPlayerDistanceToPointEx" C:\Users\Josef\Desktop\Nová složka\filterscripts\Untitled.pwn(37) : warning 203: symbol is never used: "IsPlayerInSphere" C:\Users\Josef\Desktop\Nová složka\filterscripts\Untitled.pwn(37) : warning 203: symbol is never used: "dcmd_heal" C:\Users\Josef\Desktop\Nová složka\filterscripts\Untitled.pwn(37) : error 013: no entry point (no public functions) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase Edited 12. Duben, 2015 by Josef_03 Link to comment Share on other sites More sharing options...
Josef_03 7 Odesláno: 13. Duben, 2015 Author Share Odesláno: 13. Duben, 2015 Ja s timto modem ZCMD vubec nepracuji takze.. Napise te mi uz pls nekdo nejaky kod ktery je funkcni a jednoduchy? Link to comment Share on other sites More sharing options...
ATomas 286 Odesláno: 13. Duben, 2015 Share Odesláno: 13. Duben, 2015 public OnPlayerCommandText(playerid,cmdtext[]) { if(strcmp(cmdtext,"/heal",true,5) == 0) { if(!cmdtext[6]) return SendClientMessage(playerid,-1,"/heal [radius]"); new radius = strval(cmdtext[6]); new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(IsPlayerInRangeOfPoint(i,radius,x,y,z)) { SetPlayerHealth(i,100); } } } SendClientMessage(playerid,0xFF0000AA,"Uzdravil jsi všechny hráče v dané oblasti."); return 1; } return 0; } A jestli mi napises ze ti to hlasi error 021: symbol already defined: "OnPlayerCommandText" Tak radsi vyhod PC z okna a zapomen ze existuje nejake pawno 3 Link to comment Share on other sites More sharing options...
Josef_03 7 Odesláno: 11. Květen, 2015 Author Share Odesláno: 11. Květen, 2015 public OnPlayerCommandText(playerid,cmdtext[]) { if(strcmp(cmdtext,"/heal",true,5) == 0) { if(!cmdtext[6]) return SendClientMessage(playerid,-1,"/heal [radius]"); new radius = strval(cmdtext[6]); new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); for(new i;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { if(IsPlayerInRangeOfPoint(i,radius,x,y,z)) { SetPlayerHealth(i,100); } } } SendClientMessage(playerid,0xFF0000AA,"Uzdravil jsi všechny hráče v dané oblasti."); return 1; } return 0; } A jestli mi napises ze ti to hlasi Tak radsi vyhod PC z okna a zapomen ze existuje nejake pawno Naštěstí je to bez chyb Díky Atomasovi, jeho kód je funkční! Uzamčeno! Link to comment Share on other sites More sharing options...
Recommended Posts